=encoding utf8 =head1 NAME Math::SMA - SMA in object form =head1 SYNOPSIS use Math::SMA; my $sma = Math::SMA->new(size => $n); $sma->sma($value); =head1 DESCRIPTION Implements a simple moving average of N periods with an amortized runtime complexity of < O(n²). L =head2 new Create a new SMA object of C<$n> periods. my $sma = Math::SMA->new(size => $n); =head2 sma Add a value to series and return the current simple moving average $sma->sma($current); C<$current> is the current live value Returns C if called with no arguments. =head2 precision The precision level for decimal places. Defaults to 2. =head2 last_avg The current value of the SMA series. =head2 values The current values of the SMA period. If you want to continue a series from a previous time, then pass an arrayref in during object construction: $sma = Math::SMA->new(size => 5, values => [3,2,7,4,9] ); =head1 AUTHORS Samuel Smith Eesaym@cpan.orgE =head1 BUGS See L to report and view bugs. =head1 SOURCE The source code repository for Math::EWMA can be found at L. =head1 COPYRIGHT Copyright 2015 by Samuel Smith Eesaym@cpan.orgE. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L