manticore/Manticore/Num/Trig.pm
2023-12-27 01:15:22 +01:00

35 lines
542 B
Perl

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;