MACHAR
The MACHAR function determines and returns machinespecific parameters affecting floatingpoint arithmetic. Information is returned in the form of a structure with the fields listed in the “Return Value” section.
MACHAR is based on the routine machar described in section 20.1 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission. See that section for more details on and sample values of the various parameters returned.
Syntax
Result = MACHAR( [, /DOUBLE] )
Return Value
The following table lists the fields in the structure returned from the MACHAR function:
Field Name

Description

IBETA

The radix in which numbers are represented. A longword integer.

IT

The number of baseIBETA digits in the floatingpoint mantissa M. A longword integer.

IRND

A code in the range 0 – 5 giving information on what type of rounding is done and how underflow is handled. A longword integer.

NGRD

The number of “guard digits” used when truncating the product of two mantissas. A longword integer.

MACHEP

The exponent of the smallest power of IBETA that, added to 1.0, gives something different from 1.0. A longword integer.

NEGEP

The exponent of the smallest power of IBETA that, subtracted from 1.0, gives something different from 1.0. A longword integer.

IEXP

The number of bits in the exponent. A longword integer.

MINEXP

The smallest value of IBETA consistent with there being no leading zeros in the mantissa. A longword integer.

MAXEXP

The smallest positive value of IBETA that causes overflow. A longword integer.

EPS

The floatingpoint number IBETA^{MACHEP}, loosely referred to as the “floatingpoint precision.”

EPSNEG

The floatingpoint number IBETA^{NEGEP}, which is another way of determining floatingpoint precision.

XMIN

The floatingpoint number IBETA^{MINEXP}, generally the magnitude of the smallest usable floatingpoint value.

XMAX

The largest usable floatingpoint value, defined as the number (1EPSNEG)xIBETA^{MAXEXP}.

Arguments
None
Keywords
DOUBLE
The information returned is normally for singleprecision floatingpoint arithmetic. Specify DOUBLE to see doubleprecision information.
Version History
See Also
CHECK_MATH, !VALUES