/*
 * $Header: /smsa/bsd:include/float.h:bsd  1.4  $
 * $Source: /smsa/bsd:include/float.h: $
 *
 * Copyright (c) 1989 Acorn Computers Ltd., Cambridge, England
 */

#ifndef __float_h
#define __float_h

/* IEEE version: the following values are taken from the above ANSI draft.  */

#define FLT_RADIX     2
    /* radix of exponent representation */
#define FLT_ROUNDS    1
    /* addition rounds (>0, implementation defined), chops (0), */
    /* or indeterminable (-1) */

#define FLT_MANT_DIG        24
#define DBL_MANT_DIG        53
#define LDBL_MANT_DIG       53
    /* number of base-FLT_RADIX digits in the floating point mantissa */

#define FLT_EPSILON         1.19209290e-7F
#define DBL_EPSILON         2.2204460492503131e-16
#define LDBL_EPSILON        2.2204460492503131e-16L
    /* minimum positive floating point number x such that 1.0 + x != 1.0 */

#if !defined(FLT_DIG)
#define FLT_DIG      6
#endif
#if !defined(DBL_DIG)
#define DBL_DIG      15
#endif
#define LDBL_DIG     15
    /* number of decimal digits of precision */

#define FLT_MIN_EXP  (-125)
#define DBL_MIN_EXP  (-1021)
#define LDBL_MIN_EXP (-1021)
    /* minimum negative integer such that FLT_RADIX raised to that power */
    /* minus 1 is a normalised floating-point number. */

#if !defined(FLT_MIN)
#define FLT_MIN  1.17549435e-38F
#endif
#if !defined(DBL_MIN)
#define DBL_MIN  2.22507385850720138e-308
#endif
#define LDBL_MIN 2.22507385850720138e-308L
    /* minimum normalised positive floating-point number. */

#define FLT_MIN_10_EXP  (-37)
#define DBL_MIN_10_EXP  (-307)
#define LDBL_MIN_10_EXP (-307)
    /* minimum negative integer such that 10 raised to that power is in the */
    /* range of normalised floating-point numbers. */

#define FLT_MAX_EXP  128
#define DBL_MAX_EXP  1024
#define LDBL_MAX_EXP 1024
    /* maximum integer such that FLT_RADIX raised to that power minus 1 is a */
    /* representable finite floating-point number. */

#if !defined(FLT_MAX)
#define FLT_MAX  3.40282347e+38F
#endif
#if !defined(DBL_MAX)
#define DBL_MAX  1.79769313486231571e+308
#endif
#define LDBL_MAX 1.79769313486231571e+308L
    /* maximum representable finite floating-point number. */

#define FLT_MAX_10_EXP  38
#define DBL_MAX_10_EXP  308
#define LDBL_MAX_10_EXP 308
    /* maximum integer such that 10 raised to that power is in the range of */
    /* representable finite floating-point numbers. */

#endif/*__float_h*/

/* end of float.h */
