2 * This file has no copyright assigned and is placed in the Public Domain.
9 #pragma pack(push,_CRT_PACKING)
15 typedef float float_t
;
16 typedef double double_t
;
18 #ifndef _EXCEPTION_DEFINED
19 #define _EXCEPTION_DEFINED
29 #ifndef _COMPLEX_DEFINED
30 #define _COMPLEX_DEFINED
34 #if !__STDC__ && !defined(__cplusplus)
35 #define complex _complex
37 #endif /* _COMPLEX_DEFINED */
49 _CRTIMP
extern double const _HUGE
;
51 #define HUGE_VAL _HUGE
54 #define _HUGE_ENUF 1e+300
56 #define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))
57 #define HUGE_VALD ((double)INFINITY)
58 #define HUGE_VALF ((float)INFINITY)
59 #define HUGE_VALL ((long double)INFINITY)
60 #define NAN ((float)(INFINITY * 0.0F))
67 #define FP_INFINITE _INFCODE
68 #define FP_NAN _NANCODE
69 #define FP_NORMAL _FINITE
70 #define FP_SUBNORMAL _DENORM
74 #define _matherrl _matherr
77 #ifndef _CRT_ABS_DEFINED
78 #define _CRT_ABS_DEFINED
79 _Check_return_
int __cdecl
abs(_In_
int x
);
80 _Check_return_
long __cdecl
labs(_In_
long x
);
81 _Check_return_
long long __cdecl
llabs(_In_
long long x
);
84 _Check_return_
double __cdecl
acos(_In_
double x
);
85 _Check_return_
double __cdecl
asin(_In_
double x
);
86 _Check_return_
double __cdecl
atan(_In_
double x
);
87 _Check_return_
double __cdecl
atan2(_In_
double y
, _In_
double x
);
88 _Check_return_
double __cdecl
cos(_In_
double x
);
89 _Check_return_
double __cdecl
cosh(_In_
double x
);
90 _Check_return_
double __cdecl
exp(_In_
double x
);
91 _Check_return_ _CRT_JIT_INTRINSIC
double __cdecl
fabs(_In_
double x
);
92 _Check_return_
double __cdecl
fmod(_In_
double x
, _In_
double y
);
93 _Check_return_
double __cdecl
log(_In_
double x
);
94 _Check_return_
double __cdecl
log10(_In_
double x
);
95 _Check_return_
double __cdecl
pow(_In_
double x
, double y
);
96 _Check_return_
double __cdecl
sin(_In_
double x
);
97 _Check_return_
double __cdecl
sinh(_In_
double x
);
98 _Check_return_ _CRT_JIT_INTRINSIC
double __cdecl
sqrt(_In_
double x
);
99 _Check_return_
double __cdecl
tan(_In_
double x
);
100 _Check_return_
double __cdecl
tanh(_In_
double x
);
102 #ifndef _CRT_MATHERR_DEFINED
103 #define _CRT_MATHERR_DEFINED
104 int __CRTDECL
_matherr(_Inout_
struct _exception
*exception
);
107 #ifndef _CRT_ATOF_DEFINED
108 #define _CRT_ATOF_DEFINED
109 _Check_return_ _CRTIMP
double __cdecl
atof(_In_z_
const char *str
);
110 _Check_return_ _CRTIMP
double __cdecl
_atof_l(_In_z_
const char *str
, _In_opt_ _locale_t locale
); // vista+
111 #endif /* _CRT_ATOF_DEFINED */
113 #ifndef _SIGN_DEFINED
114 #define _SIGN_DEFINED
115 _Check_return_ _CRTIMP
double __cdecl
_copysign(_In_
double x
, _In_
double sgn
);
116 _Check_return_ _CRTIMP
double __cdecl
_chgsign(_In_
double x
);
119 _Check_return_ _CRTIMP
double __cdecl
_cabs(_In_
struct _complex a
);
120 _Check_return_ _CRTIMP
double __cdecl
_hypot(_In_
double x
, _In_
double y
);
121 _Check_return_ _CRTIMP
double __cdecl
_j0(_In_
double x
);
122 _Check_return_ _CRTIMP
double __cdecl
_j1(_In_
double x
);
123 _Check_return_ _CRTIMP
double __cdecl
_jn(_In_
int x
, _In_
double y
);
124 _Check_return_ _CRTIMP
double __cdecl
_nextafter(_In_
double x
, _In_
double y
);
125 _Check_return_ _CRTIMP
double __cdecl
_y0(_In_
double x
);
126 _Check_return_ _CRTIMP
double __cdecl
_y1(_In_
double x
);
127 _Check_return_ _CRTIMP
double __cdecl
_yn(_In_
int x
, _In_
double y
);
128 _Check_return_ _CRTIMP
double __cdecl
ceil(_In_
double x
);
129 _Check_return_ _CRTIMP
double __cdecl
floor(_In_
double x
);
130 _Check_return_ _CRTIMP
double __cdecl
frexp(_In_
double x
, _Out_
int *y
);
131 _Check_return_ _CRTIMP
double __cdecl
ldexp(_In_
double x
, _In_
int y
);
132 _Check_return_ _CRTIMP
double __cdecl
modf(_In_
double x
, _Out_
double *y
);
134 #if defined(__i386__) || defined(_M_IX86)
135 _Check_return_ _CRTIMP
int __cdecl
_set_SSE2_enable(_In_
int flag
);
138 #if defined(__x86_64) || defined(_M_AMD64)
139 _Check_return_ _CRTIMP
float __cdecl
_nextafterf(_In_
float x
, _In_
float y
);
140 _Check_return_ _CRTIMP
int __cdecl
_isnanf(_In_
float x
);
141 _Check_return_ _CRTIMP
int __cdecl
_fpclassf(_In_
float x
);
144 #if defined(__x86_64) || defined(_M_AMD64) || \
145 defined(__arm__) || defined(_M_ARM) || \
146 defined(__arm64__) || defined(_M_ARM64)
147 _Check_return_ _CRTIMP
int __cdecl
_finitef(_In_
float x
);
148 _Check_return_ _CRTIMP
float __cdecl
_logbf(_In_
float x
);
149 #endif /* _M_AMD64 || _M_ARM || _M_ARM64 */
151 #if defined(__ia64__) || defined (_M_IA64)
152 _Check_return_ _CRTIMP
float __cdecl
ldexpf(_In_
float x
, _In_
int y
);
153 _Check_return_ _CRTIMP
long double __cdecl
tanl(_In_
long double x
);
155 _Check_return_ __CRT_INLINE
float __CRTDECL
ldexpf(_In_
float x
, _In_
int y
) { return (float)ldexp(x
, y
); }
156 _Check_return_ __CRT_INLINE
long double __CRTDECL
tanl(_In_
long double x
) { return (tan((double)x
)); }
159 #if defined(__ia64__) || defined(_M_IA64) || \
160 defined(__arm__) || defined(_M_ARM) || \
161 defined(__arm64__) || defined(_M_ARM64)
162 _Check_return_ _CRT_JIT_INTRINSIC _CRTIMP
float __cdecl
fabsf(_In_
float x
);
164 _Check_return_ __CRT_INLINE
float __CRTDECL
fabsf(_In_
float x
) { return ((float)fabs((double)x
)); }
165 #endif /* _M_IA64 || _M_ARM || _M_ARM64 */
167 #if defined(_CRTBLD) || \
168 defined(__x86_64) || defined(_M_AMD64) || \
169 defined(__ia64__) || defined(_M_IA64) || \
170 defined(__arm__) || defined(_M_ARM) || \
171 defined(__arm64__) || defined(_M_ARM64)
172 _Check_return_ _CRTIMP
float __cdecl
_chgsignf(_In_
float x
);
173 _Check_return_ _CRTIMP
float __cdecl
_copysignf(_In_
float x
, _In_
float y
);
174 _Check_return_ _CRTIMP
float __cdecl
_hypotf(_In_
float x
, _In_
float y
);
175 _Check_return_ _CRTIMP
float __cdecl
acosf(_In_
float x
);
176 _Check_return_ _CRTIMP
float __cdecl
asinf(_In_
float x
);
177 _Check_return_ _CRTIMP
float __cdecl
atanf(_In_
float x
);
178 _Check_return_ _CRTIMP
float __cdecl
atan2f(_In_
float x
, _In_
float y
);
179 _Check_return_ _CRTIMP
float __cdecl
ceilf(_In_
float x
);
180 _Check_return_ _CRTIMP
float __cdecl
cosf(_In_
float x
);
181 _Check_return_ _CRTIMP
float __cdecl
coshf(_In_
float x
);
182 _Check_return_ _CRTIMP
float __cdecl
expf(_In_
float x
);
183 _Check_return_ _CRTIMP
float __cdecl
floorf(_In_
float x
);
184 _Check_return_ _CRTIMP
float __cdecl
fmodf(_In_
float x
, _In_
float y
);
185 _Check_return_ _CRTIMP
float __cdecl
logf(_In_
float x
);
186 _Check_return_ _CRTIMP
float __cdecl
log10f(_In_
float x
);
187 _Check_return_ _CRTIMP
float __cdecl
modff(_In_
float x
, _Out_
float *y
);
188 _Check_return_ _CRTIMP
float __cdecl
powf(_In_
float b
, _In_
float e
);
189 _Check_return_ _CRTIMP
float __cdecl
sinf(_In_
float x
);
190 _Check_return_ _CRTIMP
float __cdecl
sinhf(_In_
float x
);
191 _Check_return_ _CRTIMP
float __cdecl
sqrtf(_In_
float x
);
192 _Check_return_ _CRTIMP
float __cdecl
tanf(_In_
float x
);
193 _Check_return_ _CRTIMP
float __cdecl
tanhf(_In_
float x
);
195 #if defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_ARM))
196 /* Make sure intrinsics don't get in our way */
197 #pragma warning(suppress:4164) /* intrinsic not declared */
198 #pragma function(acosf,asinf,atanf,atan2f,ceilf,cosf,coshf,expf,floorf,fmodf,logf,log10f,log10f,powf,sinf,sinhf,sqrtf,tanf,tanhf)
199 #endif /* _MSC_VER */
200 _Check_return_ __CRT_INLINE
float _chgsignf(_In_
float x
) { return (float)_chgsign((double)x
); }
201 _Check_return_ __CRT_INLINE
float _copysignf(_In_
float x
, _In_
float y
) { return (float)_copysign((double)x
, (double)y
); }
202 _Check_return_ __CRT_INLINE
float _hypotf(_In_
float x
, _In_
float y
) { return (float)_hypot((double)x
, (double)y
); }
203 _Check_return_ __CRT_INLINE
float acosf(_In_
float x
) { return (float)acos((double)x
); }
204 _Check_return_ __CRT_INLINE
float asinf(_In_
float x
) { return (float)asin((double)x
); }
205 _Check_return_ __CRT_INLINE
float atanf(_In_
float x
) { return (float)atan((double)x
); }
206 _Check_return_ __CRT_INLINE
float atan2f(_In_
float x
, _In_
float y
) { return (float)atan2((double)x
,(double)y
); }
207 _Check_return_ __CRT_INLINE
float ceilf(_In_
float x
) { return (float)ceil((double)x
); }
208 _Check_return_ __CRT_INLINE
float cosf(_In_
float x
) { return (float)cos((double)x
); }
209 _Check_return_ __CRT_INLINE
float coshf(_In_
float x
) { return (float)cosh((double)x
); }
210 _Check_return_ __CRT_INLINE
float expf(_In_
float x
) { return (float)exp((double)x
); }
211 _Check_return_ __CRT_INLINE
float floorf(_In_
float x
) { return (float)floor((double)x
); }
212 _Check_return_ __CRT_INLINE
float fmodf(_In_
float x
, _In_
float y
) { return (float)fmod((double)x
,(double)y
); }
213 _Check_return_ __CRT_INLINE
float logf(_In_
float x
) { return (float)log((double)x
); }
214 _Check_return_ __CRT_INLINE
float log10f(_In_
float x
) { return (float)log10((double)x
); }
215 _Check_return_ __CRT_INLINE
float modff(_In_
float x
, _Out_
float *y
) { double _Di
,_Df
= modf((double)x
,&_Di
); *y
= (float)_Di
; return (float)_Df
; }
216 _Check_return_ __CRT_INLINE
float powf(_In_
float x
, _In_
float y
) { return (float)pow((double)x
,(double)y
); }
217 _Check_return_ __CRT_INLINE
float sinf(_In_
float x
) { return (float)sin((double)x
); }
218 _Check_return_ __CRT_INLINE
float sinhf(_In_
float x
) { return (float)sinh((double)x
); }
219 _Check_return_ __CRT_INLINE
float sqrtf(_In_
float x
) { return (float)sqrt((double)x
); }
220 _Check_return_ __CRT_INLINE
float tanf(_In_
float x
) { return (float)tan((double)x
); }
221 _Check_return_ __CRT_INLINE
float tanhf(_In_
float x
) { return (float)tanh((double)x
); }
223 _Check_return_ __CRT_INLINE
double hypot(_In_
double x
, _In_
double y
) { return _hypot(x
, y
); }
224 _Check_return_ __CRT_INLINE
float hypotf(_In_
float x
, _In_
float y
) { return _hypotf(x
, y
); }
225 _Check_return_ __CRT_INLINE
float frexpf(_In_
float x
, _Out_
int *y
) { return ((float)frexp((double)x
,y
)); }
227 /* long double equals double, so just use inline wrappers */
228 _Check_return_ __CRT_INLINE
long double acosl(_In_
long double x
) { return (acos((double)x
)); }
229 _Check_return_ __CRT_INLINE
long double asinl(_In_
long double x
) { return (asin((double)x
)); }
230 _Check_return_ __CRT_INLINE
long double atanl(_In_
long double x
) { return (atan((double)x
)); }
231 _Check_return_ __CRT_INLINE
long double atan2l(_In_
long double y
, _In_
long double x
) { return (atan2((double)y
, (double)x
)); }
232 _Check_return_ __CRT_INLINE
long double ceill(_In_
long double x
) { return (ceil((double)x
)); }
233 _Check_return_ __CRT_INLINE
long double cosl(_In_
long double x
) { return (cos((double)x
)); }
234 _Check_return_ __CRT_INLINE
long double coshl(_In_
long double x
) { return (cosh((double)x
)); }
235 _Check_return_ __CRT_INLINE
long double expl(_In_
long double x
) { return (exp((double)x
)); }
236 _Check_return_ __CRT_INLINE
long double fabsl(_In_
long double x
) { return fabs((double)x
); }
237 _Check_return_ __CRT_INLINE
long double floorl(_In_
long double x
) { return (floor((double)x
)); }
238 _Check_return_ __CRT_INLINE
long double fmodl(_In_
long double x
, _In_
long double y
) { return (fmod((double)x
, (double)y
)); }
239 _Check_return_ __CRT_INLINE
long double frexpl(_In_
long double x
, _Out_
int *y
) { return (frexp((double)x
, y
)); }
240 _Check_return_ __CRT_INLINE
long double hypotl(_In_
long double x
, _In_
long double y
) { return _hypot((double)x
, (double)y
); }
241 _Check_return_ __CRT_INLINE
long double logl(_In_
long double x
) { return (log((double)x
)); }
242 _Check_return_ __CRT_INLINE
long double log10l(_In_
long double x
) { return (log10((double)x
)); }
243 _Check_return_ __CRT_INLINE
long double powl(_In_
long double x
, _In_
long double y
) { return (pow((double)x
, (double)y
)); }
244 _Check_return_ __CRT_INLINE
long double sinl(_In_
long double x
) { return (sin((double)x
)); }
245 _Check_return_ __CRT_INLINE
long double sinhl(_In_
long double x
) { return (sinh((double)x
)); }
246 _Check_return_ __CRT_INLINE
long double sqrtl(_In_
long double x
) { return (sqrt((double)x
)); }
247 _Check_return_ __CRT_INLINE
long double tanhl(_In_
long double x
) {return (tanh((double)x
)); }
248 _Check_return_ __CRT_INLINE
long double _chgsignl(_In_
long double number
) { return _chgsign((double)number
); }
249 _Check_return_ __CRT_INLINE
long double _copysignl(_In_
long double number
, _In_
long double sign
) { return _copysign((double)number
, (double)sign
); }
250 _Check_return_ __CRT_INLINE
long double _hypotl(_In_
long double x
, _In_
long double y
) { return _hypot((double)x
, (double)y
); }
251 _Check_return_ __CRT_INLINE
long double ldexpl(_In_
long double x
, _In_
int y
) { return ldexp((double)x
, y
); }
252 _Check_return_ __CRT_INLINE
long double modfl(_In_
long double x
, _Out_
long double *y
) { return (long double)modf((double)x
, (double *)y
); }
254 /* Support for some functions, not exported in MSVCRT */
255 _Check_return_ __CRT_INLINE
double round(_In_
double x
) { return (x
< 0) ? ceil(x
- 0.5f
) : floor(x
+ 0.5); }
256 _Check_return_ __CRT_INLINE
float roundf(_In_
float x
) { return (x
< 0) ? ceilf(x
- 0.5f
) : floorf(x
+ 0.5); }
257 _Check_return_ __CRT_INLINE
long double roundl(_In_
long double x
) { return (x
< 0) ? ceill(x
- 0.5f
) : floorl(x
+ 0.5); }
258 _Check_return_ __CRT_INLINE
long lround(_In_
double x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
259 _Check_return_ __CRT_INLINE
long lroundf(_In_
float x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
260 _Check_return_ __CRT_INLINE
long lroundl(_In_
long double x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
261 _Check_return_ __CRT_INLINE
long long llround(_In_
double x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
262 _Check_return_ __CRT_INLINE
long long llroundf(_In_
float x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
263 _Check_return_ __CRT_INLINE
long long llroundl(_In_
long double x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
264 _Check_return_ __CRT_INLINE
double rint(_In_
double x
) { return round(x
); }
265 _Check_return_ __CRT_INLINE
float rintf(_In_
float x
) { return roundf(x
); }
266 _Check_return_ __CRT_INLINE
long double rintl(_In_
long double x
) { return roundl(x
); }
267 _Check_return_ __CRT_INLINE
long lrint(_In_
double x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
268 _Check_return_ __CRT_INLINE
long lrintf(_In_
float x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
269 _Check_return_ __CRT_INLINE
long lrintl(_In_
long double x
) { return (long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
270 _Check_return_ __CRT_INLINE
long long llrint(_In_
double x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
271 _Check_return_ __CRT_INLINE
long long llrintf(_In_
float x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
272 _Check_return_ __CRT_INLINE
long long llrintl(_In_
long double x
) { return (long long)((x
< 0) ? (x
- 0.5f
) : (x
+ 0.5)); }
274 #ifndef NO_OLDNAMES /* !__STDC__ */
276 #define DOMAIN _DOMAIN
278 #define OVERFLOW _OVERFLOW
279 #define UNDERFLOW _UNDERFLOW
282 #define matherr _matherr
283 //_CRTIMP extern double HUGE;
285 //_CRT_NONSTDC_DEPRECATE(_cabs) _CRTIMP double __cdecl cabs(_In_ struct _complex x);
288 _CRT_NONSTDC_DEPRECATE(_j0
) _CRTIMP
double __cdecl
j0(_In_
double x
);
289 _CRT_NONSTDC_DEPRECATE(_j1
) _CRTIMP
double __cdecl
j1(_In_
double x
);
290 _CRT_NONSTDC_DEPRECATE(_jn
) _CRTIMP
double __cdecl
jn(_In_
int x
, _In_
double y
);
291 _CRT_NONSTDC_DEPRECATE(_y0
) _CRTIMP
double __cdecl
y0(_In_
double x
);
292 _CRT_NONSTDC_DEPRECATE(_y1
) _CRTIMP
double __cdecl
y1(_In_
double x
);
293 _CRT_NONSTDC_DEPRECATE(_yn
) _CRTIMP
double __cdecl
yn(_In_
int x
, _In_
double y
);
295 #endif /* NO_OLDNAMES */
302 //inline long abs(_In_ long x) { return labs(x); }
303 _Check_return_
inline double abs(_In_
double x
) throw() { return fabs(x
); }
305 _Check_return_
inline float abs(_In_
float x
) throw() { return fabsf(x
); }
306 _Check_return_
inline float acos(_In_
float x
) throw() { return acosf(x
); }
307 _Check_return_
inline float asin(_In_
float x
) throw() { return asinf(x
); }
308 _Check_return_
inline float atan(_In_
float x
) throw() { return atanf(x
); }
309 _Check_return_
inline float atan2(_In_
float y
, _In_
float x
) throw() { return atan2f(y
, x
); }
310 _Check_return_
inline float ceil(_In_
float x
) throw() { return ceilf(x
); }
311 _Check_return_
inline float copysign(_In_
float x
, _In_
float y
) throw() { return _copysignf(x
, y
); }
312 _Check_return_
inline float cos(_In_
float x
) throw() { return cosf(x
); }
313 _Check_return_
inline float cosh(_In_
float x
) throw() { return coshf(x
); }
314 _Check_return_
inline float exp(_In_
float x
) throw() { return expf(x
); }
315 _Check_return_
inline float fabs(_In_
float x
) throw() { return fabsf(x
); }
316 _Check_return_
inline float floor(_In_
float x
) throw() { return floorf(x
); }
317 _Check_return_
inline float fmod(_In_
float x
, _In_
float y
) throw() { return fmodf(x
, y
); }
318 _Check_return_
inline float frexp(_In_
float x
, _Out_
int * y
) throw() { return frexpf(x
, y
); }
319 _Check_return_
inline float hypot(_In_
float x
, _In_
float y
) throw() { return _hypotf(x
, y
); }
320 _Check_return_
inline float ldexp(_In_
float x
, _In_
int y
) throw() { return ldexpf(x
, y
); }
321 _Check_return_
inline float log(_In_
float x
) throw() { return logf(x
); }
322 _Check_return_
inline float log10(_In_
float x
) throw() { return log10f(x
); }
323 _Check_return_
inline float modf(_In_
float x
, _Out_
float * y
) throw() { return modff(x
, y
); }
324 _Check_return_
inline float pow(_In_
float x
, _In_
float y
) throw() { return powf(x
, y
); }
325 _Check_return_
inline float sin(_In_
float x
) throw() { return sinf(x
); }
326 _Check_return_
inline float sinh(_In_
float x
) throw() { return sinhf(x
); }
327 _Check_return_
inline float sqrt(_In_
float x
) throw() { return sqrtf(x
); }
328 _Check_return_
inline float tan(_In_
float x
) throw() { return tanf(x
); }
329 _Check_return_
inline float tanh(_In_
float x
) throw() { return tanhf(x
); }
331 _Check_return_
inline long double abs(_In_
long double x
) throw() { return fabsl(x
); }
332 _Check_return_
inline long double acos(_In_
long double x
) throw() { return acosl(x
); }
333 _Check_return_
inline long double asin(_In_
long double x
) throw() { return asinl(x
); }
334 _Check_return_
inline long double atan(_In_
long double x
) throw() { return atanl(x
); }
335 _Check_return_
inline long double atan2(_In_
long double y
, _In_
long double x
) throw() { return atan2l(y
, x
); }
336 _Check_return_
inline long double ceil(_In_
long double x
) throw() { return ceill(x
); }
337 _Check_return_
inline long double copysign(_In_
long double x
, _In_
long double y
) throw() { return _copysignl(x
, y
); }
338 _Check_return_
inline long double cos(_In_
long double x
) throw() { return cosl(x
); }
339 _Check_return_
inline long double cosh(_In_
long double x
) throw() { return coshl(x
); }
340 _Check_return_
inline long double exp(_In_
long double x
) throw() { return expl(x
); }
341 _Check_return_
inline long double fabs(_In_
long double x
) throw() { return fabsl(x
); }
342 _Check_return_
inline long double floor(_In_
long double x
) throw() { return floorl(x
); }
343 _Check_return_
inline long double fmod(_In_
long double x
, _In_
long double y
) throw() { return fmodl(x
, y
); }
344 _Check_return_
inline long double frexp(_In_
long double x
, _Out_
int * y
) throw() { return frexpl(x
, y
); }
345 _Check_return_
inline long double hypot(_In_
long double x
, _In_
long double y
) throw() { return hypotl(x
, y
); }
346 _Check_return_
inline long double ldexp(_In_
long double x
, _In_
int y
) throw() { return ldexpl(x
, y
); }
347 _Check_return_
inline long double log(_In_
long double x
) throw() { return logl(x
); }
348 _Check_return_
inline long double log10(_In_
long double x
) throw() { return log10l(x
); }
349 _Check_return_
inline long double modf(_In_
long double x
, _Out_
long double * y
) throw() { return modfl(x
, y
); }
350 _Check_return_
inline long double pow(_In_
long double x
, _In_
long double y
) throw() { return powl(x
, y
); }
351 _Check_return_
inline long double sin(_In_
long double x
) throw() { return sinl(x
); }
352 _Check_return_
inline long double sinh(_In_
long double x
) throw() { return sinhl(x
); }
353 _Check_return_
inline long double sqrt(_In_
long double x
) throw() { return sqrtl(x
); }
354 _Check_return_
inline long double tan(_In_
long double x
) throw() { return tanl(x
); }
355 _Check_return_
inline long double tanh(_In_
long double x
) throw() { return tanhl(x
); }
357 #endif /* !_CMATH_ */
358 #endif /* __cplusplus */
362 #endif /* !_INC_MATH */
364 #if defined(_USE_MATH_DEFINES) && !defined(_MATH_DEFINES_DEFINED)
365 #define _MATH_DEFINES_DEFINED
367 #define M_E 2.71828182845904523536
368 #define M_LOG2E 1.44269504088896340736
369 #define M_LOG10E 0.434294481903251827651
370 #define M_LN2 0.693147180559945309417
371 #define M_LN10 2.30258509299404568402
372 #define M_PI 3.14159265358979323846
373 #define M_PI_2 1.57079632679489661923
374 #define M_PI_4 0.785398163397448309616
375 #define M_1_PI 0.318309886183790671538
376 #define M_2_PI 0.636619772367581343076
377 #define M_2_SQRTPI 1.12837916709551257390
378 #define M_SQRT2 1.41421356237309504880
379 #define M_SQRT1_2 0.707106781186547524401
381 #endif /* _USE_MATH_DEFINES */