Constants defined in oxstd.h (requires #include <oxstd.h>)
FALSE 0 TRUE 1 WFL_DECFAILED 1 WFL_ITMAX 2 WFL_CONCAT 4
Constants defined in oxfloat.h (requires #include <oxfloat.h>)
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_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.h). 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.h). 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.h.
Ox version 5.00. © JA Doornik This file last changed .