NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
fdlibm.h
1
2
/* @(#)fdlibm.h 1.5 04/04/22 */
3
/*
4
* ====================================================
5
* Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
6
*
7
* Permission to use, copy, modify, and distribute this
8
* software is freely granted, provided that this notice
9
* is preserved.
10
* ====================================================
11
*/
12
13
/* Sometimes it's necessary to define __LITTLE_ENDIAN explicitly
14
but these catch some common cases. */
15
16
#if defined(i386) || defined(i486) || \
17
defined(intel) || defined(x86) || defined(i86pc) || \
18
defined(__alpha) || defined(__osf__)
19
#define __LITTLE_ENDIAN
20
#endif
21
22
#ifdef __LITTLE_ENDIAN
23
#define __HI(x) *(1+(int*)&x)
24
#define __LO(x) *(int*)&x
25
#define __HIp(x) *(1+(int*)x)
26
#define __LOp(x) *(int*)x
27
#else
28
#define __HI(x) *(int*)&x
29
#define __LO(x) *(1+(int*)&x)
30
#define __HIp(x) *(int*)x
31
#define __LOp(x) *(1+(int*)x)
32
#endif
33
34
#ifdef __STDC__
35
#define __P(p) p
36
#else
37
#define __P(p) ()
38
#endif
39
40
/*
41
* ANSI/POSIX
42
*/
43
44
extern
int
signgam;
45
46
#define MAXFLOAT ((float)3.40282346638528860e+38)
47
48
enum
fdversion {fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix};
49
50
#define _LIB_VERSION_TYPE enum fdversion
51
#define _LIB_VERSION _fdlib_version
52
53
/* if global variable _LIB_VERSION is not desirable, one may
54
* change the following to be a constant by:
55
* #define _LIB_VERSION_TYPE const enum version
56
* In that case, after one initializes the value _LIB_VERSION (see
57
* s_lib_version.c) during compile time, it cannot be modified
58
* in the middle of a program
59
*/
60
extern
_LIB_VERSION_TYPE _LIB_VERSION;
61
62
#define _IEEE_ fdlibm_ieee
63
#define _SVID_ fdlibm_svid
64
#define _XOPEN_ fdlibm_xopen
65
#define _POSIX_ fdlibm_posix
66
67
struct
exception
{
68
int
type;
69
char
*name;
70
double
arg1;
71
double
arg2;
72
double
retval;
73
};
74
75
#define HUGE MAXFLOAT
76
77
/*
78
* set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
79
* (one may replace the following line by "#include <values.h>")
80
*/
81
82
#define X_TLOSS 1.41484755040568800000e+16
83
84
#define DOMAIN 1
85
#define SING 2
86
#define OVERFLOW 3
87
#define UNDERFLOW 4
88
#define TLOSS 5
89
#define PLOSS 6
90
91
/*
92
* ANSI/POSIX
93
*/
94
extern
double
acos __P((
double
));
95
extern
double
asin __P((
double
));
96
extern
double
atan __P((
double
));
97
extern
double
atan2 __P((
double
,
double
));
98
extern
double
cos __P((
double
));
99
extern
double
sin __P((
double
));
100
extern
double
tan __P((
double
));
101
102
extern
double
cosh __P((
double
));
103
extern
double
sinh __P((
double
));
104
extern
double
tanh __P((
double
));
105
106
extern
double
exp __P((
double
));
107
extern
double
frexp __P((
double
,
int
*));
108
extern
double
ldexp __P((
double
,
int
));
109
extern
double
log __P((
double
));
110
extern
double
log10 __P((
double
));
111
extern
double
modf __P((
double
,
double
*));
112
113
extern
double
pow __P((
double
,
double
));
114
extern
double
sqrt __P((
double
));
115
116
extern
double
ceil __P((
double
));
117
extern
double
fabs __P((
double
));
118
extern
double
floor __P((
double
));
119
extern
double
fmod __P((
double
,
double
));
120
121
extern
double
erf __P((
double
));
122
extern
double
erfc __P((
double
));
123
extern
double
gamma __P((
double
));
124
extern
double
hypot __P((
double
,
double
));
125
extern
int
isnan __P((
double
));
126
extern
int
finite __P((
double
));
127
extern
double
j0 __P((
double
));
128
extern
double
j1 __P((
double
));
129
extern
double
jn __P((
int
,
double
));
130
extern
double
lgamma __P((
double
));
131
extern
double
y0 __P((
double
));
132
extern
double
y1 __P((
double
));
133
extern
double
yn __P((
int
,
double
));
134
135
extern
double
acosh __P((
double
));
136
extern
double
asinh __P((
double
));
137
extern
double
atanh __P((
double
));
138
extern
double
cbrt __P((
double
));
139
extern
double
logb __P((
double
));
140
extern
double
nextafter __P((
double
,
double
));
141
extern
double
remainder __P((
double
,
double
));
142
#ifdef _SCALB_INT
143
extern
double
scalb __P((
double
,
int
));
144
#else
145
extern
double
scalb __P((
double
,
double
));
146
#endif
147
148
extern
int
matherr __P((
struct
exception
*));
149
150
/*
151
* IEEE Test Vector
152
*/
153
extern
double
significand __P((
double
));
154
155
/*
156
* Functions callable from C, intended to support IEEE arithmetic.
157
*/
158
extern
double
copysign __P((
double
,
double
));
159
extern
int
ilogb __P((
double
));
160
extern
double
rint __P((
double
));
161
extern
double
scalbn __P((
double
,
int
));
162
163
/*
164
* BSD math library entry points
165
*/
166
extern
double
expm1 __P((
double
));
167
extern
double
log1p __P((
double
));
168
169
/*
170
* Reentrant version of gamma & lgamma; passes signgam back by reference
171
* as the second argument; user must allocate space for signgam.
172
*/
173
#ifdef _REENTRANT
174
extern
double
gamma_r __P((
double
,
int
*));
175
extern
double
lgamma_r __P((
double
,
int
*));
176
#endif
/* _REENTRANT */
177
178
/* ieee style elementary functions */
179
extern
double
__ieee754_sqrt __P((
double
));
180
extern
double
__ieee754_acos __P((
double
));
181
extern
double
__ieee754_acosh __P((
double
));
182
extern
double
__ieee754_log __P((
double
));
183
extern
double
__ieee754_atanh __P((
double
));
184
extern
double
__ieee754_asin __P((
double
));
185
extern
double
__ieee754_atan2 __P((
double
,
double
));
186
extern
double
__ieee754_exp __P((
double
));
187
extern
double
__ieee754_cosh __P((
double
));
188
extern
double
__ieee754_fmod __P((
double
,
double
));
189
extern
double
__ieee754_pow __P((
double
,
double
));
190
extern
double
__ieee754_lgamma_r __P((
double
,
int
*));
191
extern
double
__ieee754_gamma_r __P((
double
,
int
*));
192
extern
double
__ieee754_lgamma __P((
double
));
193
extern
double
__ieee754_gamma __P((
double
));
194
extern
double
__ieee754_log10 __P((
double
));
195
extern
double
__ieee754_sinh __P((
double
));
196
extern
double
__ieee754_hypot __P((
double
,
double
));
197
extern
double
__ieee754_j0 __P((
double
));
198
extern
double
__ieee754_j1 __P((
double
));
199
extern
double
__ieee754_y0 __P((
double
));
200
extern
double
__ieee754_y1 __P((
double
));
201
extern
double
__ieee754_jn __P((
int
,
double
));
202
extern
double
__ieee754_yn __P((
int
,
double
));
203
extern
double
__ieee754_remainder __P((
double
,
double
));
204
extern
int
__ieee754_rem_pio2 __P((
double
,
double
*));
205
#ifdef _SCALB_INT
206
extern
double
__ieee754_scalb __P((
double
,
int
));
207
#else
208
extern
double
__ieee754_scalb __P((
double
,
double
));
209
#endif
210
211
/* fdlibm kernel function */
212
extern
double
__kernel_standard __P((
double
,
double
,
int
));
213
extern
double
__kernel_sin __P((
double
,
double
,
int
));
214
extern
double
__kernel_cos __P((
double
,
double
));
215
extern
double
__kernel_tan __P((
double
,
double
,
int
));
216
extern
int
__kernel_rem_pio2 __P((
double
*,
double
*,
int
,
int
,
int
,
const
int
*));
exception
Definition
fdlibm.h:67
include
lib
MSL
internal
fdlibm.h
Made with ❤️ by
CLF78
and
RootCubed
. Logos by
Chasical
and
B1
. Website generated by
Doxygen
1.13.2