Acme-Tools
view release on metacpan or search on metacpan
t/test_pi.pl view on Meta::CPAN
$sum+=1/$_**2 for 1..$n;
my $mypi=sqrt(6*$sum);
printf "%9d: ".("%30.25f" x 2)." %5.2fs\n", $n, $mypi, $pi-$mypi, time_fp()-$start;
}
}
sub pi_3 { # dart and pythagoras
for my $n (map 10**$_,0..8){
my($start,$s)=(time_fp(),0);
for(1..$n){
my($x,$y)=(rand(),rand()); #throw dart
++$s if sqrt($x*$x + $y*$y) < 1;
}
my $mypi=4*$s/$n;
printf "%9d: %30.25f %30.25f %5.2fs\n", $n, $mypi, $pi-$mypi, time_fp()-$start;
}
}
#use Math::BigFloat lib=>"GMP";# if !$INC{'Math/BigFloat.pm'};
sub pi_4 { # ramaputramama...
#use Math::BigFloat ':constant';
( run in 0.581 second using v1.01-cache-2.11-cpan-496ff517765 )