JCL Help:TFloatingPointClass
JCL Help: TFloatingPointClass Enumeration
Search in JCL Help
Search in all projects
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
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