Floating-point number utility functions

Floating-point utility function provide run-time functions for handling floating-point number types defined within a schema. More...

Functions

EXTERNRT OSREAL rtxGetMinusInfinity (OSVOIDARG)
 Returns the IEEE negative infinity value.
EXTERNRT OSREAL rtxGetMinusZero (OSVOIDARG)
 Returns the IEEE minus zero value.
EXTERNRT OSREAL rtxGetNaN (OSVOIDARG)
 Returns the IEEE Not-A-Number (NaN) value.
EXTERNRT OSREAL rtxGetPlusInfinity (OSVOIDARG)
 Returns the IEEE posative infinity value.
EXTERNRT OSBOOL rtxIsMinusInfinity (OSREAL value)
 A utility function that compares the given input value to the IEEE 754 value for negative infinity.
EXTERNRT OSBOOL rtxIsMinusZero (OSREAL value)
 A utility function that compares the given input value to the IEEE 754 value for minus zero.
EXTERNRT OSBOOL rtxIsNaN (OSREAL value)
 A utility function that compares the given input value to the IEEE 754 value for Not-A-Number (NaN).
EXTERNRT OSBOOL rtxIsPlusInfinity (OSREAL value)
 A utility function that compares the given input value to the IEEE 754 value for positive infinity.
EXTERNRT OSBOOL rtxIsApproximate (OSREAL a, OSREAL b, OSREAL delta)
 A utility function that return TRUE when first number are approximate to second number with given precision.
EXTERNRT OSBOOL rtxIsApproximateAbs (OSREAL a, OSREAL b, OSREAL delta)
 A utility function that return TRUE when first number are approximate to second number with given absolute precision.

Detailed Description

Floating-point utility function provide run-time functions for handling floating-point number types defined within a schema.


Function Documentation

EXTERNRT OSREAL rtxGetMinusInfinity ( OSVOIDARG   ) 

Returns the IEEE negative infinity value.

This is defined as 0xfff0000000000000 in IEEE standard 754. We assume the presence of the IEEE double type, that is, 64-bits of precision.

EXTERNRT OSREAL rtxGetMinusZero ( OSVOIDARG   ) 

Returns the IEEE minus zero value.

This is defined as 0x8000000000000000 in IEEE standard 754. We assume the presence of the IEEE double type, that is, 64-bits of precision.

EXTERNRT OSREAL rtxGetNaN ( OSVOIDARG   ) 

Returns the IEEE Not-A-Number (NaN) value.

This is defined as 0x7ff8000000000000 in IEEE standard 754. We assume the presence of the IEEE double type, that is, 64-bits of precision.

EXTERNRT OSREAL rtxGetPlusInfinity ( OSVOIDARG   ) 

Returns the IEEE posative infinity value.

This is defined as 0x7ff0000000000000 in IEEE standard 754. We assume the presence of the IEEE double type, that is, 64-bits of precision.

EXTERNRT OSBOOL rtxIsApproximate ( OSREAL  a,
OSREAL  b,
OSREAL  delta 
)

A utility function that return TRUE when first number are approximate to second number with given precision.

Parameters:
a The input real value.
b The input real value.
delta difference must be low than delta * a 1E-7 - set best precision for float; 1E-15 - set best precision for double.
EXTERNRT OSBOOL rtxIsApproximateAbs ( OSREAL  a,
OSREAL  b,
OSREAL  delta 
)

A utility function that return TRUE when first number are approximate to second number with given absolute precision.

Parameters:
a The input real value.
b The input real value.
delta difference must be low than delta
EXTERNRT OSBOOL rtxIsMinusInfinity ( OSREAL  value  ) 

A utility function that compares the given input value to the IEEE 754 value for negative infinity.

Parameters:
value The input real value.
EXTERNRT OSBOOL rtxIsMinusZero ( OSREAL  value  ) 

A utility function that compares the given input value to the IEEE 754 value for minus zero.

Parameters:
value The input real value.
EXTERNRT OSBOOL rtxIsNaN ( OSREAL  value  ) 

A utility function that compares the given input value to the IEEE 754 value for Not-A-Number (NaN).

Parameters:
value The input real value.
EXTERNRT OSBOOL rtxIsPlusInfinity ( OSREAL  value  ) 

A utility function that compares the given input value to the IEEE 754 value for positive infinity.

Parameters:
value The input real value.