source: trunk/src/emx/include/float.h@ 18

Last change on this file since 18 was 18, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.1 KB
Line 
1/* float.h (emx+gcc) */
2
3#ifndef _FLOAT_H
4#define _FLOAT_H
5
6#if defined (__cplusplus)
7extern "C" {
8#endif
9
10#define FLT_RADIX 2
11#define FLT_ROUNDS 1
12
13#define DBL_MANT_DIG 53
14#define DBL_MIN_EXP (-1021)
15#define DBL_MAX_EXP 1024
16#define DBL_DIG 15
17#define DBL_MIN_10_EXP (-307)
18#define DBL_MAX_10_EXP 308
19#define DBL_MIN 2.2250738585072014e-308
20#define DBL_MAX 1.7976931348623158e+308
21#define DBL_EPSILON 2.2204460492503131e-016
22
23#define FLT_MANT_DIG 24
24#define FLT_MIN_EXP (-125)
25#define FLT_MAX_EXP 128
26#define FLT_DIG 6
27#define FLT_MIN_10_EXP (-37)
28#define FLT_MAX_10_EXP 38
29#define FLT_MIN 1.17549435e-38F
30#define FLT_MAX 3.40282346e+38F
31#define FLT_EPSILON 1.19209290e-07F
32
33#define LDBL_MANT_DIG 64
34#define LDBL_MIN_EXP (-16381)
35#define LDBL_MAX_EXP 16384
36#define LDBL_DIG 18
37#define LDBL_MIN_10_EXP (-4931)
38#define LDBL_MAX_10_EXP 4932
39#define LDBL_MIN 3.3621031431120935063e-4932L
40#define LDBL_MAX 1.1897314953572317650e+4932L
41#define LDBL_EPSILON 1.08420217248550443400745280086994171142578125e-0019L
42
43#if !defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)
44
45#define M_E 2.71828182845904523536
46#define M_LOG2E 1.44269504088896340736
47#define M_LOG10E 0.434294481903251827651
48#define M_LN2 0.693147180559945309422
49#define M_LN10 2.302585092994045684018
50
51#define M_PI 3.14159265358979323846
52#define M_PI_2 1.57079632679489661923
53#define M_PI_4 0.785398163397448309616
54#define M_1_PI 0.318309886183790671538
55#define M_2_PI 0.636619772367581343076
56#define M_2_SQRTPI 1.12837916709551257390
57
58#define M_SQRT2 1.41421356237309504880
59#define M_SQRT1_2 0.707106781186547524401
60
61#if !defined (_OMIT_387_STUFF)
62
63#define MCW_EM 0x003f
64#define EM_INVALID 0x0001
65#define EM_DENORMAL 0x0002
66#define EM_ZERODIVIDE 0x0004
67#define EM_OVERFLOW 0x0008
68#define EM_UNDERFLOW 0x0010
69#define EM_INEXACT 0x0020
70
71#define MCW_IC 0x1000
72#define IC_PROJECTIVE 0x0000
73#define IC_AFFINE 0x1000
74
75#define MCW_RC 0x0c00
76#define RC_NEAR 0x0000
77#define RC_DOWN 0x0400
78#define RC_UP 0x0800
79#define RC_CHOP 0x0c00
80
81#define MCW_PC 0x0300
82#define PC_24 0x0000
83#define PC_53 0x0200
84#define PC_64 0x0300
85
86#define CW_DEFAULT (RC_NEAR | PC_64 | MCW_EM)
87
88#define SW_INVALID 0x0001
89#define SW_DENORMAL 0x0002
90#define SW_ZERODIVIDE 0x0004
91#define SW_OVERFLOW 0x0008
92#define SW_UNDERFLOW 0x0010
93#define SW_INEXACT 0x0020
94#define SW_STACKFAULT 0x0040
95#define SW_STACKOVERFLOW 0x0200
96
97unsigned _clear87 (void);
98unsigned _control87 (unsigned, unsigned);
99void _fpreset (void);
100unsigned _status87 (void);
101
102#endif /* !defined (_OMIT_387_STUFF) */
103#endif
104
105
106#if defined (__cplusplus)
107}
108#endif
109
110#endif /* not _FLOAT_H */
Note: See TracBrowser for help on using the repository browser.