JCL Help:TFloatingPointClass

From Project JEDI Wiki
Jump to navigationJump to search


Summary

Describes the hierarchy of floating point classes.


Pascal

 public TFloatingPointClass = (
fpZero,
fpNormal,
fpDenormal,
fpInfinite,
fpNaN,
fpInvalid,
fpEmpty
);


Members

Members Description
fpZero Zero.
fpNormal Non-zero normal finite number.
fpDenormal Denormalized finite.
fpInfinite Infinite.
fpNaN Not a number.
fpInvalid Unsupported floating point format.


Description

Enumeration which describes the classes into which floating point encodings can be divided. Their relations are as follows: A floating point encoding can be either supported by the hardware or unsupported (fpInvalid). Supported encodings subdivide into numbers and non-numbers, denoted by the term NaN (Not a Number, fpNaN). A number is either finite or infinite (fpInfinite). If finite, it is either denormal (fpDenormal) or normal. If normal, it is either non-zero (fpNormal) or zero (fpZero).


See Also

FloatingPointClass IsNaN IsInfinite


About

Unit

JclMath


Navigation

no pages or subcategories

Donator

Robert Rossmair


Notes

Only the Extended data type allows for unsupported encodings.
What separates NaNs from numbers is that the former are unordered. That is, the result of relational operations (<, <=, =, >=, >) is not defined for NaNs.
Certain classes of floating point values may result from an exception condition if the corresponding FPU exception is masked out. See table below.

Exception class Result on masked exception Result class
EInvalidOp NaN (real indefinite) fpNaN
EZeroDivide Infinity/NegInfinity fpInfinite
EOverflow Infinity/NegInfinity fpInfinite
EUnderflow Denormal number fpDenormal


Contribute to this help topic

This documentation wiki is based on the collaborative effort of Project JEDI users. Your edits are welcome in order to improve documentation quality: edit this page