package Manticore::Num::Trig; use strict; use warnings; # 1/0! - x^2/2! + x^4/4! - x^6/6! sub proxCos { my ($steps, $x) = @_; my $mxsq = -$x*$x; my $sum = 0; my $fa = 1; for(1..$steps) { my $step2 = $_ * 2; $sum += $fa; $fa *= $mxsq/($step2*($step2-1)) } return $sum } # x/1! - x^3/3! + x^5/5! - x^7/7! sub proxSin { my ($steps, $x) = @_; my $mxsq = -$x*$x; my $sum = 0; my $fa = $x; for(1..$steps) { my $step2 = $_ * 2; $sum += $fa; $fa *= $mxsq/($step2*($step2+1)) } return $sum } 1;