/*--------------------------------------------------------------------------
 * oxfloat.h - definitions/declarations for Ox: floating point constants
 *
 *       (C) Jurgen Doornik 1994
 *
 *--------------------------------------------------------------------------*/

#ifndef OXFLOAT_INCLUDED
#define OXFLOAT_INCLUDED

const decl M_PI   =    3.1415926535897932384626433832795028841972;    /* pi */
const decl M_2PI  =    6.2831853071795864769252867665590057683944;  /* 2*pi */
const decl M_PI_2 =    1.5707963267948966192313216916397514420986;  /* pi/2 */
const decl M_1_PI =    0.3183098861837906715377675267450287240689;  /* 1/pi */
const decl M_SQRT2PI = 2.5066282746310005024157652848110452530070;/*sqrt(2*pi)*/

const decl M_E    =    2.71828182845904523543;                         /* e */
const decl M_EULER=    0.57721566490153286061;   /* Euler's constant, gamma */
    /* .NaN, use only for assignment, for comparison use isnan and isdotnan */
const decl M_NAN  = 0x.7ff8000000000000;
const decl M_INF  = 0x.7ff0000000000000;
const decl M_INF_POS  = 0x.7ff0000000000000;
const decl M_INF_NEG  = 0x.fff0000000000000;

const decl DBL_DIG        = 15;    /* number of decimal digits of precision */
const decl DBL_EPSILON    = 2.220446049250313e-016;
     /* machine precision: smallest number such that 1.0+DBL_EPSILON != 1.0 */
const decl DBL_MANT_DIG   = 53;               /* number of bits in mantissa */
const decl DBL_MAX        = 1.797693134862315e+308;        /* maximum value */
const decl DBL_MIN        = 2.225073858507202e-308;/*minimum positive value */
const decl DBL_MIN_EXP    = -1021;                    /* minimum 2 exponent */
const decl DBL_MAX_EXP    = 1023;                     /* maximum 2 exponent */
const decl DBL_MIN_E_EXP  = -706;                     /* minimum e exponent */
const decl DBL_MAX_E_EXP  = 709;                      /* maximum e exponent */
const decl DBL_MIN_10_EXP = -307;                    /* minimum 10 exponent */
const decl DBL_MAX_10_EXP = 308;                     /* maximum 10 exponent */

const decl INT_MAX        =  2147483647;        /* maximum positive integer */
const decl INT_MIN        = -2147483648;        /* minimum positive integer */


#endif /* OXFLOAT_INCLUDED */
