Math::BigFloat - Arbitrary length float math package
use Math::BogFloat; $f = Math::BigFloat->new($string); $f->fadd(NSTR) return NSTR addition $f->fsub(NSTR) return NSTR subtraction $f->fmul(NSTR) return NSTR multiplication $f->fdiv(NSTR[,SCALE]) returns NSTR division to SCALE places $f->fneg() return NSTR negation $f->fabs() return NSTR absolute value $f->fcmp(NSTR) return CODE compare undef,<0,=0,>0 $f->fround(SCALE) return NSTR round to SCALE digits $f->ffround(SCALE) return NSTR round at SCALEth place $f->fnorm() return (NSTR) normalize $f->fsqrt([SCALE]) return NSTR sqrt to SCALE places
All basic math operations are overloaded if you declare your big floats as
$float = new Math::BigFloat "2.123123123123123123123123123123123";
canonical strings have the form /[+-]\d+E[+-]\d+/ . Input values can have inbedded whitespace.
An input parameter was "Not a Number" or divide by zero or sqrt of negative number.
max($div_scale,length(dividend)+length(divisor)) digits by default. Also used for default sqrt scale.
max($div_scale,length(dividend)+length(divisor))
The current version of this module is a preliminary version of the real thing that is currently (as of perl5.002) under development.
Mark Biggar
To install lib, copy and paste the appropriate command in to your terminal.
cpanm
cpanm lib
CPAN shell
perl -MCPAN -e shell install lib
For more information on module installation, please visit the detailed CPAN module installation guide.