BTW. What is a problem with not checking an exponent if a mantissa == 0?
What is this checking for? What results would be expected (other then 0)
if an exponent was out of (-1000;1000) range? That checking is from the
beginning, so I cannot deduce what rationale was for it. Info states that:
> ** ieee754(Y,Z)
> ** [...]
> ** In the second form, Y and Z are integers which are the mantissa and
> ** base-2 exponent of a new floating point number. The function returns
> ** a floating-point value equal to Y*pow(2,Z).
0 * 2^?? == 0. Zero times positive, finite number gives zero always.
There is no Inf in i64 type to produce NaN from 0 * 2^Inf.