Constants defined in oxstd.oxh (requires #include <oxstd.oxh>)
FALSE 0 TRUE 1 WFL_DECFAILED 1 WFL_ITMAX 2 WFL_CONCAT 4
Constants defined in oxfloat.oxh (requires #include <oxfloat.oxh>)
M_PI pi (3.1415...)
M_2PI 2*pi
M_PI_2 pi / 2
M_1_PI 1 / pi
M_SQRT2PI sqrt(2*pi)
M_E e = exp(1)
M_EULER Euler's constant,
M_NAN .NaN (Not a Number),
also see isnan() and isdotnan()
M_INF .Inf, representing Infinity
M_INF_POS +.Inf, representing Infinity
M_INF_NEG -.Inf, representing minus Infinity
DBL_DIG number of decimal digits of precision
DBL_EPSILON machine precision
DBL_MANT_DIG number of bits in mantissa
DBL_MAX maximum double value
DBL_MIN minimum positive double value
DBL_MIN_EXP minimum 2 exponent
DBL_MAX_EXP maximum 2 exponent
DBL_MIN_E_EXP minimum exp(.) exponent
DBL_MAX_E_EXP maximum exp(.) exponent
DBL_MIN_10_EXP minimum 10 exponent
DBL_MAX_10_EXP maximum 10 exponent
INT_MAX maximum integer value
INT_MIN minimum integer value
The following constants are predefined by the Ox compiler:
OX_64_BIT when running 64-bit Ox
OX_AIX when running on IBM/AIX
OX_BIG_ENDIAN only on a big-endian machine (Unix workstations)
OX_DecUNIX when running on Dec/UNIX
OX_HPUX when running on HP-UX
OX_Irix when running on SGI/Irix
OX_Linux when running on Linux/PC
OX_OS_X when running on Mac/OS X
OX_PARALLEL indicates that parallel and serial
keywords are supported (Ox 7 onwards)
OX_Sun when running on Sun
OX_Windows when running under Windows
The hardware-defined missing value is called Not a Number, or .NaN for short. Any computation involving a .NaN results in a .NaN. The format used when printing output is .NaN.
In a matrix constant, either .NaN, M_NAN or a dot may be used to represent a missing value (M_NAN requires oxfloat.oxh). If the dot is the first or last element, an extra space is required to avoid confusion with dot-greater/less than.
In a double constant, either .NaN or M_NAN may be used to represent a missing value (M_NAN requires oxfloat.oxh). A number of procedures are available to deal with missing values, most importantly:
| deletec(): | deletes all columns which have a .NaN, |
| deleter(): | deletes all rows which have a .NaN, |
| isdotnan(): | returns matrix of 0's and 1's: 1 if the element is a .NaN, 0 otherwise, |
| isnan(): | returns 1 if any element is a .NaN, 0 otherwise. |
| selectc(): | selects all columns which have a .NaN, |
| selectr(): | selects all rows which have a .NaN, |
Infinity also exists as a special value supported by the hardware. Infinity can be positive or negative (printed as +.Inf and -.Inf), and can be used in comparisons as any normal number. You can use .Inf, +.Inf and -.Inf in your code. Alternatively, the predefined constants M_INF, M_INF_POS, and M_INF_NEG are defined in oxfloat.oxh.
Ox version 9.00. © JA Doornik This file last changed .