Math::BigFloat

Provides methods that permit use of floating-point numbers of arbitrary length. The following apply to all methods, except as noted:

  • The object $f remains unchanged.
  • All methods except fcmp return a number string (nstr) of the form /[+-]\d+E[+-]\d+/, with embedded whitespace ignored.
  • A return value of NaN indicates that either an input parameter was "Not a Number" or that an illegal operation was attempted.
  • A similar default scale value is computed for square roots.
new

$f = Math::BigFloat->new(string) 

Creates a new object, $f.

fabs

$f->fabs( ) 

Returns absolute value of $f.

fadd

$f->fadd(nstr) 

Returns sum of nstr and $f.

fcmp

$f->fcmp(nstr) 

Compares $f to nstr. Returns -1, , or depending on whether $f is less than, equal to, or greater than nstr, or undef if nstr is not a number.

fdiv

$f->fdiv(nstr[,n]) 

Returns $f divided by nstr to nplaces. If scale (the number of digits) is unspecified, division is computed to the number of digits given by:

max($div_scale, length(dividend)+length(divisor))
ffround

$f->ffround(n) 

Returns $f rounded at nth place.

fmul

$f->fmul(nstr) 

Returns $f multiplied by nstr.

fneg

$f->fneg( ) 

Returns negative of $f.

fnorm

$f->fnorm( ) 

Returns normalization of $f.

fround

$f->fround(n) 

Returns value of $frounded to n digits.

fsqrt

$f->fsqrt([n]) 

Returns square root of $f to n places.

fsub

$f->fsub(nstr) 

Returns $f minus nstr.