#!/usr/bin/env perl use strict; use warnings; use Math::Trig; use Math::BigRat lib => 'GMP'; use Data::Dumper; BEGIN { push @INC, '..' } use Manticore::Num::Trig; use Manticore::Num::ContinuedFraction; my $pi = Math::BigRat->new(3); my $poly = 10; for(1..5) { $pi = $pi + Manticore::Num::Trig::proxSinCF($poly,$pi); print "===\ns: $pi\n"; $pi = Manticore::Num::ContinuedFraction::roundSteps($poly,$pi); print "r: $pi\n"; } my $pi1 = Manticore::Num::ContinuedFraction->new($pi); $pi = $pi + Manticore::Num::Trig::proxSinCF($poly+2,$pi); print "===\ns: $pi\n"; $pi = Manticore::Num::ContinuedFraction::roundSteps($poly,$pi); print "r: $pi\n"; my $pi2 = Manticore::Num::ContinuedFraction->new($pi); #print $pi->child(); # #print Data::Dumper::Dumper($pi); my $c = $pi1->commonk($pi2, 2500); print "[[ @$c ]]\n"; #my $max = 1; #for(1..200000) { # my $r = Manticore::Num::ContinuedFraction->new(rand 1); # my $l = $r->firstk(50); # for(@$l) { $max = $_ if $_>$max } # print "[[ @$l ]]\n"; #} #print "M: $max\n"; while(<>) { my $cf = Manticore::Num::ContinuedFraction::roundSteps(10,$_); my $f = Math::BigRat->new(0+$_); my $r = Math::BigRat->new($_); print "$cf $f $r\n"; }