Math::BigFloat(3)Perl Programmers Reference GuidMath::BigFloat(3)NAMEMath::BigFloat - Arbitrary length float math package
SYNOPSIS
use Math::BigFloat;
$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->fmod(NSTR) returns NSTR modular remainder
$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
DESCRIPTION
All basic math operations are overloaded if you declare
your big floats as
$float = new Math::BigFloat "2.123123123123123123123123123123123";
number format
canonical strings have the form /[+-]\d+E[+-]\d+/ .
Input values can have embedded whitespace.
Error returns 'NaN'
An input parameter was "Not a Number" or divide by zero
or sqrt of negative number.
Division is computed to
"max($Math::BigFloat::div_scale,length(divi
dend)+length(divisor))" digits by default. Also used
for default sqrt scale.
Rounding is performed
according to the value of "$Math::BigFloat::rnd_mode":
trunc truncate the value
zero round towards 0
+inf round towards +infinity (round up)
-inf round towards -infinity (round down)
even round to the nearest, .5 to the even digit
odd round to the nearest, .5 to the odd digit
The default is "even" rounding.
BUGS
The current version of this module is a preliminary ver
sion of the real thing that is currently (as of perl5.002)
under development.
The printf subroutine does not use the value of
"$Math::BigFloat::rnd_mode" when rounding values for
printing. Consequently, the way to print rounded values
is to specify the number of digits both as an argument to
"ffround" and in the "%f" printf string, as follows:
printf "%.3f\n", $bigfloat->ffround(-3);
AUTHOR
Mark Biggar Patches by John Peacock Apr 2001 =cut
2001-02-22 perl v5.6.1 Math::BigFloat(3)