Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2875 dpurdie 1
#pragma force_top_level
2
#pragma include_only_once
3
 
4
/* float.h: ANSI 'C' (X3J11 Oct 88) library header, section 2.2.4.2 */
5
/* Copyright (C) Codemist Ltd, 1988                             */
6
/* Copyright (C) Advanced Risc Machines Ltd., 1991              */
7
/* version 0.01 */
8
 
9
#ifndef __float_h
10
#define __float_h
11
 
12
/* IEEE version: the following values are taken from the above ANSI draft.  */
13
/* The ACORN FPE (v17) is known not to precisely implement IEEE arithmetic. */
14
 
15
#define FLT_RADIX     2
16
    /* radix of exponent representation */
17
#define FLT_ROUNDS    1
18
    /*
19
     * The rounding mode for floating-point addition is characterised by the
20
     * value of FLT_ROUNDS:
21
     *  -1 : indeterminable.
22
     *   0 : towards zero.
23
     *   1 : to nearest.
24
     *   2 : towards positive infinity.
25
     *   3 : towards negative infinity.
26
     *   ? : any other is implementation-defined.
27
     */
28
 
29
#define FLT_MANT_DIG        24
30
#define DBL_MANT_DIG        53
31
#define LDBL_MANT_DIG       53
32
    /* number of base-FLT_RADIX digits in the floating point mantissa */
33
 
34
/* The values that follow are not achieved under Acorn's FPE version 17  */
35
/* but they should be correct in due course!                             */
36
 
37
#define FLT_DIG      6
38
#define DBL_DIG      15
39
#define LDBL_DIG     15
40
    /* number of decimal digits of precision */
41
 
42
#define FLT_MIN_EXP  (-125)
43
#define DBL_MIN_EXP  (-1021)
44
#define LDBL_MIN_EXP (-1021)
45
    /* minimum negative integer such that FLT_RADIX raised to that power */
46
    /* minus 1 is a normalised floating-point number. */
47
 
48
#define FLT_MIN_10_EXP  (-37)
49
#define DBL_MIN_10_EXP  (-307)
50
#define LDBL_MIN_10_EXP (-307)
51
    /* minimum negative integer such that 10 raised to that power is in the */
52
    /* range of normalised floating-point numbers. */
53
 
54
#define FLT_MAX_EXP  128
55
#define DBL_MAX_EXP  1024
56
#define LDBL_MAX_EXP 1024
57
    /* maximum integer such that FLT_RADIX raised to that power minus 1 is a */
58
#define FLT_MAX_10_EXP  38
59
#define DBL_MAX_10_EXP  308
60
#define LDBL_MAX_10_EXP 308
61
    /* maximum integer such that 10 raised to that power is in the range of */
62
    /* representable finite floating-point numbers. */
63
 
64
#define FLT_MAX  3.40282347e+38F
65
#define DBL_MAX  1.79769313486231571e+308
66
#define LDBL_MAX 1.79769313486231571e+308L
67
    /* maximum representable finite floating-point number. */
68
 
69
#define FLT_EPSILON         1.19209290e-7F
70
#define DBL_EPSILON         2.2204460492503131e-16
71
#define LDBL_EPSILON        2.2204460492503131e-16L
72
    /* minimum positive floating point number x such that 1.0 + x != 1.0 */
73
 
74
#define FLT_MIN  1.17549435e-38F
75
#define DBL_MIN  2.22507385850720138e-308
76
#define LDBL_MIN 2.22507385850720138e-308L
77
    /* minimum normalised positive floating-point number. */
78
 
79
#endif
80
 
81
/* end of float.h */