Floating-point environment. Handling of floating-point rounding and exceptions (overflow, division by zero, etc.). The types, vars and procs are bindings for the C standard library <fenv.h> header.
Represents the entire floating-point environment. The floating-point environment refers collectively to any floating-point status flags and control modes supported by the implementation. SourceEdit
Represents the floating-point status flags collectively, including any status the implementation associates with the flags. A floating-point status flag is a system variable whose value is set (but never cleared) when a floating-point exception is raised, which occurs as a side effect of exceptional floating-point arithmetic to provide auxiliary information. A floating-point control mode is a system variable whose value may be set by the user to affect the subsequent behavior of floating-point arithmetic. SourceEdit
macro of type pointer to fenv_t to be used as the argument to functions taking an argument of type fenv_t; in this case the default environment will be used SourceEdit
Save the current environment in the object pointed to by envp, clear exception flags and install a non-stop mode (if available) for all exceptions. SourceEdit
Save current exceptions in temporary storage, install environment represented by object pointed to by envp and raise exceptions according to saved exceptions. SourceEdit
Templates
template digits(T: typedesc[float32]): int
Number of decimal digits that can be represented in a 32-bit floating-point type without losing precision. SourceEdit
template digits(T: typedesc[float64]): int
Number of decimal digits that can be represented in a 64-bit floating-point type without losing precision. SourceEdit
template epsilon(T: typedesc[float32]): float32
The difference between 1.0 and the smallest number greater than 1.0 that can be represented in a 32-bit floating-point type. SourceEdit
template epsilon(T: typedesc[float64]): float64
The difference between 1.0 and the smallest number greater than 1.0 that can be represented in a 64-bit floating-point type. SourceEdit
template fpRadix(): int
The (integer) value of the radix used to represent any floating point type on the architecture used to build the program. SourceEdit
template mantissaDigits(T: typedesc[float32]): int
Number of digits (in base floatingPointRadix) in the mantissa of 32-bit floating-point numbers. SourceEdit
template mantissaDigits(T: typedesc[float64]): int
Number of digits (in base floatingPointRadix) in the mantissa of 64-bit floating-point numbers. SourceEdit
template max10Exponent(T: typedesc[float32]): int
Maximum (positive) exponent in base 10 for 32-bit floating-point numbers. SourceEdit
template max10Exponent(T: typedesc[float64]): int
Maximum (positive) exponent in base 10 for 64-bit floating-point numbers. SourceEdit
template maxExponent(T: typedesc[float32]): int
Maximum (positive) exponent for 32-bit floating-point numbers. SourceEdit
template maxExponent(T: typedesc[float64]): int
Maximum (positive) exponent for 64-bit floating-point numbers. SourceEdit