Subject: Out of range floating point number determination
From: Edward A Romana
Date: Sat, 11 Aug 2012 11:29:59 -0700 (GMT-07:00)
~~~
>From the Maxima level, I would like to determine when evaluation of a
floating point expression is out of range.
For example:
(%i1) fpn:1.00*10^308;
(%o1) 1.0*10^308
The variable fpn is in the floating point model range.
(%i2) nan:1.00*10^319;
(%o2) i.nf*10^0
but variable nan is not in the range.
I had no luck with the predicate function numberp()
(%i3) numberp(fpn);
(%o3) true
(%i4) numberp(nan) ;
(%o4) true
for my application numberp(nan) should be false.
The following seem to work
Is variable nan out of the floating point range?
(%i5) is(nan=nan/2);
(%o5) true
is variable fpn out of the floating point range?
(%i6) is(fpn=fpn/2);
(%o6) false
I had no luck finding i.nf*10^0 in the documentation.
q) Is there a better way of determining out of range floating point numbers.
ear
~~~