Classification of x.
assert(classify(0.0) == FloatingPointClass.zero); assert(classify(double.nan) == FloatingPointClass.nan); assert(classify(double.infinity) == FloatingPointClass.infinite); assert(classify(-double.infinity) == FloatingPointClass.infinite); assert(classify(1.4) == FloatingPointClass.normal); assert(classify(1.11254e-307 / 10) == FloatingPointClass.subnormal); assert(classify(0.0f) == FloatingPointClass.zero); assert(classify(float.nan) == FloatingPointClass.nan); assert(classify(float.infinity) == FloatingPointClass.infinite); assert(classify(-float.infinity) == FloatingPointClass.infinite); assert(classify(0.3) == FloatingPointClass.normal); assert(classify(5.87747e-38f / 10) == FloatingPointClass.subnormal); assert(classify(0.0L) == FloatingPointClass.zero); assert(classify(real.nan) == FloatingPointClass.nan); assert(classify(real.infinity) == FloatingPointClass.infinite); assert(classify(-real.infinity) == FloatingPointClass.infinite);
Returns whether x is a NaN, zero, infinity, subnormal or normalized number.
This function doesn't distinguish between negative and positive infinity, negative and positive NaN or negative and positive zero.