STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
corecrt_math.h
Go to the documentation of this file.
1 //
2 // corecrt_math.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // The majority of the C Standard Library <math.h> functionality.
7 //
8 #pragma once
9 #define _INC_MATH
10 
11 #include <corecrt.h>
12 
14 
15 #pragma warning(push)
16 #pragma warning(disable:4738) // storing 32-bit float result in memory, possible loss of performance
17 #pragma warning(disable:4820) // padding added after data member
18 
19 
20 
21 #ifndef __assembler
22  // Definition of the _exception struct, which is passed to the matherr function
23  // when a floating point exception is detected:
24  struct _exception
25  {
26  int type; // exception type - see below
27  char* name; // name of function where error occurred
28  double arg1; // first argument to function
29  double arg2; // second argument (if any) to function
30  double retval; // value to be returned by function
31  };
32 
33  // Definition of the _complex struct to be used by those who use the complex
34  // functions and want type checking.
35  #ifndef _COMPLEX_DEFINED
36  #define _COMPLEX_DEFINED
37 
38  struct _complex
39  {
40  double x, y; // real and imaginary parts
41  };
42 
43  #if _CRT_INTERNAL_NONSTDC_NAMES && !defined __cplusplus
44  // Non-ANSI name for compatibility
45  #define complex _complex
46  #endif
47  #endif
48 #endif // __assembler
49 
50 
51 
52 // On x86, when not using /arch:SSE2 or greater, floating point operations
53 // are performed using the x87 instruction set and FLT_EVAL_METHOD is 2.
54 // (When /fp:fast is used, floating point operations may be consistent, so
55 // we use the default types.)
56 #if defined _M_IX86 && _M_IX86_FP < 2 && !defined _M_FP_FAST
57  typedef long double float_t;
58  typedef long double double_t;
59 #else
60  typedef float float_t;
61  typedef double double_t;
62 #endif
63 
64 
65 
66 // Constant definitions for the exception type passed in the _exception struct
67 #define _DOMAIN 1 // argument domain error
68 #define _SING 2 // argument singularity
69 #define _OVERFLOW 3 // overflow range error
70 #define _UNDERFLOW 4 // underflow range error
71 #define _TLOSS 5 // total loss of precision
72 #define _PLOSS 6 // partial loss of precision
73 
74 // Definitions of _HUGE and HUGE_VAL - respectively the XENIX and ANSI names
75 // for a value returned in case of error by a number of the floating point
76 // math routines.
77 #ifndef __assembler
78  #ifndef _M_CEE_PURE
79  extern double const _HUGE;
80  #else
81  double const _HUGE = System::Double::PositiveInfinity;
82  #endif
83 #endif
84 
85 #ifndef _HUGE_ENUF
86  #define _HUGE_ENUF 1e+300 // _HUGE_ENUF*_HUGE_ENUF must overflow
87 #endif
88 
89 #define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))
90 #define HUGE_VAL ((double)INFINITY)
91 #define HUGE_VALF ((float)INFINITY)
92 #define HUGE_VALL ((long double)INFINITY)
93 #define NAN ((float)(INFINITY * 0.0F))
94 
95 #define _DENORM (-2)
96 #define _FINITE (-1)
97 #define _INFCODE 1
98 #define _NANCODE 2
99 
100 #define FP_INFINITE _INFCODE
101 #define FP_NAN _NANCODE
102 #define FP_NORMAL _FINITE
103 #define FP_SUBNORMAL _DENORM
104 #define FP_ZERO 0
105 
106 #define _C2 1 // 0 if not 2's complement
107 #define FP_ILOGB0 (-0x7fffffff - _C2)
108 #define FP_ILOGBNAN 0x7fffffff
109 
110 #define MATH_ERRNO 1
111 #define MATH_ERREXCEPT 2
112 #define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT)
113 
114 // Values for use as arguments to the _fperrraise function
115 #define _FE_DIVBYZERO 0x04
116 #define _FE_INEXACT 0x20
117 #define _FE_INVALID 0x01
118 #define _FE_OVERFLOW 0x08
119 #define _FE_UNDERFLOW 0x10
120 
121 #define _D0_C 3 // little-endian, small long doubles
122 #define _D1_C 2
123 #define _D2_C 1
124 #define _D3_C 0
125 
126 #define _DBIAS 0x3fe
127 #define _DOFF 4
128 
129 #define _F0_C 1 // little-endian
130 #define _F1_C 0
131 
132 #define _FBIAS 0x7e
133 #define _FOFF 7
134 #define _FRND 1
135 
136 #define _L0_C 3 // little-endian, 64-bit long doubles
137 #define _L1_C 2
138 #define _L2_C 1
139 #define _L3_C 0
140 
141 #define _LBIAS 0x3fe
142 #define _LOFF 4
143 
144 // IEEE 754 double properties
145 #define _DFRAC ((unsigned short)((1 << _DOFF) - 1))
146 #define _DMASK ((unsigned short)(0x7fff & ~_DFRAC))
147 #define _DMAX ((unsigned short)((1 << (15 - _DOFF)) - 1))
148 #define _DSIGN ((unsigned short)0x8000)
149 
150 // IEEE 754 float properties
151 #define _FFRAC ((unsigned short)((1 << _FOFF) - 1))
152 #define _FMASK ((unsigned short)(0x7fff & ~_FFRAC))
153 #define _FMAX ((unsigned short)((1 << (15 - _FOFF)) - 1))
154 #define _FSIGN ((unsigned short)0x8000)
155 
156 // IEEE 754 long double properties
157 #define _LFRAC ((unsigned short)(-1))
158 #define _LMASK ((unsigned short)0x7fff)
159 #define _LMAX ((unsigned short)0x7fff)
160 #define _LSIGN ((unsigned short)0x8000)
161 
162 #define _DHUGE_EXP (int)(_DMAX * 900L / 1000)
163 #define _FHUGE_EXP (int)(_FMAX * 900L / 1000)
164 #define _LHUGE_EXP (int)(_LMAX * 900L / 1000)
165 
166 #define _DSIGN_C(_Val) (((_double_val *)(char*)&(_Val))->_Sh[_D0_C] & _DSIGN)
167 #define _FSIGN_C(_Val) (((_float_val *)(char*)&(_Val))->_Sh[_F0_C] & _FSIGN)
168 #define _LSIGN_C(_Val) (((_ldouble_val*)(char*)&(_Val))->_Sh[_L0_C] & _LSIGN)
169 
170 void __cdecl _fperrraise(_In_ int _Except);
171 
172 _Check_return_ _ACRTIMP short __cdecl _dclass(_In_ double _X);
173 _Check_return_ _ACRTIMP short __cdecl _ldclass(_In_ long double _X);
174 _Check_return_ _ACRTIMP short __cdecl _fdclass(_In_ float _X);
175 
176 _Check_return_ _ACRTIMP int __cdecl _dsign(_In_ double _X);
177 _Check_return_ _ACRTIMP int __cdecl _ldsign(_In_ long double _X);
178 _Check_return_ _ACRTIMP int __cdecl _fdsign(_In_ float _X);
179 
180 _Check_return_ _ACRTIMP int __cdecl _dpcomp(_In_ double _X, _In_ double _Y);
181 _Check_return_ _ACRTIMP int __cdecl _ldpcomp(_In_ long double _X, _In_ long double _Y);
182 _Check_return_ _ACRTIMP int __cdecl _fdpcomp(_In_ float _X, _In_ float _Y);
183 
184 _Check_return_ _ACRTIMP short __cdecl _dtest(_In_ double* _Px);
185 _Check_return_ _ACRTIMP short __cdecl _ldtest(_In_ long double* _Px);
186 _Check_return_ _ACRTIMP short __cdecl _fdtest(_In_ float* _Px);
187 
188 _ACRTIMP short __cdecl _d_int(_Inout_ double* _Px, _In_ short _Xexp);
189 _ACRTIMP short __cdecl _ld_int(_Inout_ long double* _Px, _In_ short _Xexp);
190 _ACRTIMP short __cdecl _fd_int(_Inout_ float* _Px, _In_ short _Xexp);
191 
192 _ACRTIMP short __cdecl _dscale(_Inout_ double* _Px, _In_ long _Lexp);
193 _ACRTIMP short __cdecl _ldscale(_Inout_ long double* _Px, _In_ long _Lexp);
194 _ACRTIMP short __cdecl _fdscale(_Inout_ float* _Px, _In_ long _Lexp);
195 
196 _ACRTIMP short __cdecl _dunscale(_Out_ short* _Pex, _Inout_ double* _Px);
197 _ACRTIMP short __cdecl _ldunscale(_Out_ short* _Pex, _Inout_ long double* _Px);
198 _ACRTIMP short __cdecl _fdunscale(_Out_ short* _Pex, _Inout_ float* _Px);
199 
200 _Check_return_ _ACRTIMP short __cdecl _dexp(_Inout_ double* _Px, _In_ double _Y, _In_ long _Eoff);
201 _Check_return_ _ACRTIMP short __cdecl _ldexp(_Inout_ long double* _Px, _In_ long double _Y, _In_ long _Eoff);
202 _Check_return_ _ACRTIMP short __cdecl _fdexp(_Inout_ float* _Px, _In_ float _Y, _In_ long _Eoff);
203 
204 _Check_return_ _ACRTIMP short __cdecl _dnorm(_Inout_updates_(4) unsigned short* _Ps);
205 _Check_return_ _ACRTIMP short __cdecl _fdnorm(_Inout_updates_(2) unsigned short* _Ps);
206 
207 _Check_return_ _ACRTIMP double __cdecl _dpoly(_In_ double _X, _In_reads_(_N) double const* _Tab, _In_ int _N);
208 _Check_return_ _ACRTIMP long double __cdecl _ldpoly(_In_ long double _X, _In_reads_(_N) long double const* _Tab, _In_ int _N);
209 _Check_return_ _ACRTIMP float __cdecl _fdpoly(_In_ float _X, _In_reads_(_N) float const* _Tab, _In_ int _N);
210 
211 _Check_return_ _ACRTIMP double __cdecl _dlog(_In_ double _X, _In_ int _Baseflag);
212 _Check_return_ _ACRTIMP long double __cdecl _ldlog(_In_ long double _X, _In_ int _Baseflag);
213 _Check_return_ _ACRTIMP float __cdecl _fdlog(_In_ float _X, _In_ int _Baseflag);
214 
215 _Check_return_ _ACRTIMP double __cdecl _dsin(_In_ double _X, _In_ unsigned int _Qoff);
216 _Check_return_ _ACRTIMP long double __cdecl _ldsin(_In_ long double _X, _In_ unsigned int _Qoff);
217 _Check_return_ _ACRTIMP float __cdecl _fdsin(_In_ float _X, _In_ unsigned int _Qoff);
218 
219 // double declarations
220 typedef union
221 { // pun floating type as integer array
222  unsigned short _Sh[4];
223  double _Val;
224 } _double_val;
225 
226 // float declarations
227 typedef union
228 { // pun floating type as integer array
229  unsigned short _Sh[2];
230  float _Val;
231 } _float_val;
232 
233 // long double declarations
234 typedef union
235 { // pun floating type as integer array
236  unsigned short _Sh[4];
237  long double _Val;
238 } _ldouble_val;
239 
240 typedef union
241 { // pun float types as integer array
242  unsigned short _Word[4];
243  float _Float;
244  double _Double;
245  long double _Long_double;
246 } _float_const;
247 
251 
252 extern const _float_const _Eps_C, _Rteps_C;
253 extern const _float_const _FEps_C, _FRteps_C;
254 extern const _float_const _LEps_C, _LRteps_C;
255 
256 extern const double _Zero_C, _Xbig_C;
257 extern const float _FZero_C, _FXbig_C;
258 extern const long double _LZero_C, _LXbig_C;
259 
260 #define _FP_LT 1
261 #define _FP_EQ 2
262 #define _FP_GT 4
263 
264 #ifndef __cplusplus
265 
266  #define _CLASS_ARG(_Val) __pragma(warning(suppress:6334))(sizeof ((_Val) + (float)0) == sizeof (float) ? 'f' : sizeof ((_Val) + (double)0) == sizeof (double) ? 'd' : 'l')
267  #define _CLASSIFY(_Val, _FFunc, _DFunc, _LDFunc) (_CLASS_ARG(_Val) == 'f' ? _FFunc((float)(_Val)) : _CLASS_ARG(_Val) == 'd' ? _DFunc((double)(_Val)) : _LDFunc((long double)(_Val)))
268  #define _CLASSIFY2(_Val1, _Val2, _FFunc, _DFunc, _LDFunc) (_CLASS_ARG((_Val1) + (_Val2)) == 'f' ? _FFunc((float)(_Val1), (float)(_Val2)) : _CLASS_ARG((_Val1) + (_Val2)) == 'd' ? _DFunc((double)(_Val1), (double)(_Val2)) : _LDFunc((long double)(_Val1), (long double)(_Val2)))
269 
270  #define fpclassify(_Val) (_CLASSIFY(_Val, _fdclass, _dclass, _ldclass))
271  #define _FPCOMPARE(_Val1, _Val2) (_CLASSIFY2(_Val1, _Val2, _fdpcomp, _dpcomp, _ldpcomp))
272 
273  #define isfinite(_Val) (fpclassify(_Val) <= 0)
274  #define isinf(_Val) (fpclassify(_Val) == FP_INFINITE)
275  #define isnan(_Val) (fpclassify(_Val) == FP_NAN)
276  #define isnormal(_Val) (fpclassify(_Val) == FP_NORMAL)
277  #define signbit(_Val) (_CLASSIFY(_Val, _fdsign, _dsign, _ldsign))
278 
279  #define isgreater(x, y) ((_FPCOMPARE(x, y) & _FP_GT) != 0)
280  #define isgreaterequal(x, y) ((_FPCOMPARE(x, y) & (_FP_EQ | _FP_GT)) != 0)
281  #define isless(x, y) ((_FPCOMPARE(x, y) & _FP_LT) != 0)
282  #define islessequal(x, y) ((_FPCOMPARE(x, y) & (_FP_LT | _FP_EQ)) != 0)
283  #define islessgreater(x, y) ((_FPCOMPARE(x, y) & (_FP_LT | _FP_GT)) != 0)
284  #define isunordered(x, y) (_FPCOMPARE(x, y) == 0)
285 
286 #else // __cplusplus
287 extern "C++"
288 {
289  _Check_return_ inline int fpclassify(_In_ float _X) throw()
290  {
291  return _fdtest(&_X);
292  }
293 
294  _Check_return_ inline int fpclassify(_In_ double _X) throw()
295  {
296  return _dtest(&_X);
297  }
298 
299  _Check_return_ inline int fpclassify(_In_ long double _X) throw()
300  {
301  return _ldtest(&_X);
302  }
303 
304  _Check_return_ inline bool signbit(_In_ float _X) throw()
305  {
306  return _fdsign(_X) != 0;
307  }
308 
309  _Check_return_ inline bool signbit(_In_ double _X) throw()
310  {
311  return _dsign(_X) != 0;
312  }
313 
314  _Check_return_ inline bool signbit(_In_ long double _X) throw()
315  {
316  return _ldsign(_X) != 0;
317  }
318 
319  _Check_return_ inline int _fpcomp(_In_ float _X, _In_ float _Y) throw()
320  {
321  return _fdpcomp(_X, _Y);
322  }
323 
324  _Check_return_ inline int _fpcomp(_In_ double _X, _In_ double _Y) throw()
325  {
326  return _dpcomp(_X, _Y);
327  }
328 
329  _Check_return_ inline int _fpcomp(_In_ long double _X, _In_ long double _Y) throw()
330  {
331  return _ldpcomp(_X, _Y);
332  }
333 
334  template <class _Trc, class _Tre> struct _Combined_type
335  { // determine combined type
336  typedef float _Type;
337  };
338 
339  template <> struct _Combined_type<float, double>
340  { // determine combined type
341  typedef double _Type;
342  };
343 
344  template <> struct _Combined_type<float, long double>
345  { // determine combined type
346  typedef long double _Type;
347  };
348 
349  template <class _Ty, class _T2> struct _Real_widened
350  { // determine widened real type
351  typedef long double _Type;
352  };
353 
354  template <> struct _Real_widened<float, float>
355  { // determine widened real type
356  typedef float _Type;
357  };
358 
359  template <> struct _Real_widened<float, double>
360  { // determine widened real type
361  typedef double _Type;
362  };
363 
364  template <> struct _Real_widened<double, float>
365  { // determine widened real type
366  typedef double _Type;
367  };
368 
369  template <> struct _Real_widened<double, double>
370  { // determine widened real type
371  typedef double _Type;
372  };
373 
374  template <class _Ty> struct _Real_type
375  { // determine equivalent real type
376  typedef double _Type; // default is double
377  };
378 
379  template <> struct _Real_type<float>
380  { // determine equivalent real type
381  typedef float _Type;
382  };
383 
384  template <> struct _Real_type<long double>
385  { // determine equivalent real type
386  typedef long double _Type;
387  };
388 
389  template <class _T1, class _T2>
390  _Check_return_ inline int _fpcomp(_In_ _T1 _X, _In_ _T2 _Y) throw()
391  { // compare _Left and _Right
392  typedef typename _Combined_type<float,
393  typename _Real_widened<
394  typename _Real_type<_T1>::_Type,
396  return _fpcomp((_Tw)_X, (_Tw)_Y);
397  }
398 
399  template <class _Ty>
400  _Check_return_ inline bool isfinite(_In_ _Ty _X) throw()
401  {
402  return fpclassify(_X) <= 0;
403  }
404 
405  template <class _Ty>
406  _Check_return_ inline bool isinf(_In_ _Ty _X) throw()
407  {
408  return fpclassify(_X) == FP_INFINITE;
409  }
410 
411  template <class _Ty>
412  _Check_return_ inline bool isnan(_In_ _Ty _X) throw()
413  {
414  return fpclassify(_X) == FP_NAN;
415  }
416 
417  template <class _Ty>
418  _Check_return_ inline bool isnormal(_In_ _Ty _X) throw()
419  {
420  return fpclassify(_X) == FP_NORMAL;
421  }
422 
423  template <class _Ty1, class _Ty2>
424  _Check_return_ inline bool isgreater(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
425  {
426  return (_fpcomp(_X, _Y) & _FP_GT) != 0;
427  }
428 
429  template <class _Ty1, class _Ty2>
430  _Check_return_ inline bool isgreaterequal(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
431  {
432  return (_fpcomp(_X, _Y) & (_FP_EQ | _FP_GT)) != 0;
433  }
434 
435  template <class _Ty1, class _Ty2>
436  _Check_return_ inline bool isless(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
437  {
438  return (_fpcomp(_X, _Y) & _FP_LT) != 0;
439  }
440 
441  template <class _Ty1, class _Ty2>
442  _Check_return_ inline bool islessequal(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
443  {
444  return (_fpcomp(_X, _Y) & (_FP_LT | _FP_EQ)) != 0;
445  }
446 
447  template <class _Ty1, class _Ty2>
448  _Check_return_ inline bool islessgreater(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
449  {
450  return (_fpcomp(_X, _Y) & (_FP_LT | _FP_GT)) != 0;
451  }
452 
453  template <class _Ty1, class _Ty2>
454  _Check_return_ inline bool isunordered(_In_ _Ty1 _X, _In_ _Ty2 _Y) throw()
455  {
456  return _fpcomp(_X, _Y) == 0;
457  }
458 } // extern "C++"
459 #endif // __cplusplus
460 
461 
462 
463 #if _CRT_FUNCTIONS_REQUIRED
464 
465  _Check_return_ int __cdecl abs(_In_ int _X);
466  _Check_return_ long __cdecl labs(_In_ long _X);
467  _Check_return_ long long __cdecl llabs(_In_ long long _X);
468 
469  _Check_return_ double __cdecl acos(_In_ double _X);
470  _Check_return_ double __cdecl asin(_In_ double _X);
471  _Check_return_ double __cdecl atan(_In_ double _X);
472  _Check_return_ double __cdecl atan2(_In_ double _Y, _In_ double _X);
473 
474  _Check_return_ double __cdecl cos(_In_ double _X);
475  _Check_return_ double __cdecl cosh(_In_ double _X);
476  _Check_return_ double __cdecl exp(_In_ double _X);
477  _Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double _X);
478  _Check_return_ double __cdecl fmod(_In_ double _X, _In_ double _Y);
479  _Check_return_ double __cdecl log(_In_ double _X);
480  _Check_return_ double __cdecl log10(_In_ double _X);
481  _Check_return_ double __cdecl pow(_In_ double _X, _In_ double _Y);
482  _Check_return_ double __cdecl sin(_In_ double _X);
483  _Check_return_ double __cdecl sinh(_In_ double _X);
484  _Check_return_ _CRT_JIT_INTRINSIC double __cdecl sqrt(_In_ double _X);
485  _Check_return_ double __cdecl tan(_In_ double _X);
486  _Check_return_ double __cdecl tanh(_In_ double _X);
487 
488  _Check_return_ _ACRTIMP double __cdecl acosh(_In_ double _X);
489  _Check_return_ _ACRTIMP double __cdecl asinh(_In_ double _X);
490  _Check_return_ _ACRTIMP double __cdecl atanh(_In_ double _X);
491  _Check_return_ _ACRTIMP double __cdecl atof(_In_z_ char const* _String);
492  _Check_return_ _ACRTIMP double __cdecl _atof_l(_In_z_ char const* _String, _In_opt_ _locale_t _Locale);
493  _Check_return_ _ACRTIMP double __cdecl _cabs(_In_ struct _complex _Complex_value);
494  _Check_return_ _ACRTIMP double __cdecl cbrt(_In_ double _X);
495  _Check_return_ _ACRTIMP double __cdecl ceil(_In_ double _X);
496  _Check_return_ _ACRTIMP double __cdecl _chgsign(_In_ double _X);
497  _Check_return_ _ACRTIMP double __cdecl copysign(_In_ double _Number, _In_ double _Sign);
498  _Check_return_ _ACRTIMP double __cdecl _copysign(_In_ double _Number, _In_ double _Sign);
499  _Check_return_ _ACRTIMP double __cdecl erf(_In_ double _X);
500  _Check_return_ _ACRTIMP double __cdecl erfc(_In_ double _X);
501  _Check_return_ _ACRTIMP double __cdecl exp2(_In_ double _X);
502  _Check_return_ _ACRTIMP double __cdecl expm1(_In_ double _X);
503  _Check_return_ _ACRTIMP double __cdecl fdim(_In_ double _X, _In_ double _Y);
504  _Check_return_ _ACRTIMP double __cdecl floor(_In_ double _X);
505  _Check_return_ _ACRTIMP double __cdecl fma(_In_ double _X, _In_ double _Y, _In_ double _Z);
506  _Check_return_ _ACRTIMP double __cdecl fmax(_In_ double _X, _In_ double _Y);
507  _Check_return_ _ACRTIMP double __cdecl fmin(_In_ double _X, _In_ double _Y);
508  _Check_return_ _ACRTIMP double __cdecl frexp(_In_ double _X, _Out_ int* _Y);
509  _Check_return_ _ACRTIMP double __cdecl hypot(_In_ double _X, _In_ double _Y);
510  _Check_return_ _ACRTIMP double __cdecl _hypot(_In_ double _X, _In_ double _Y);
511  _Check_return_ _ACRTIMP int __cdecl ilogb(_In_ double _X);
512  _Check_return_ _ACRTIMP double __cdecl ldexp(_In_ double _X, _In_ int _Y);
513  _Check_return_ _ACRTIMP double __cdecl lgamma(_In_ double _X);
514  _Check_return_ _ACRTIMP long long __cdecl llrint(_In_ double _X);
515  _Check_return_ _ACRTIMP long long __cdecl llround(_In_ double _X);
516  _Check_return_ _ACRTIMP double __cdecl log1p(_In_ double _X);
517  _Check_return_ _ACRTIMP double __cdecl log2(_In_ double _X);
518  _Check_return_ _ACRTIMP double __cdecl logb(_In_ double _X);
519  _Check_return_ _ACRTIMP long __cdecl lrint(_In_ double _X);
520  _Check_return_ _ACRTIMP long __cdecl lround(_In_ double _X);
521 
522  int __CRTDECL _matherr(_Inout_ struct _exception* _Except);
523 
524  _Check_return_ _ACRTIMP double __cdecl modf(_In_ double _X, _Out_ double* _Y);
525  _Check_return_ _ACRTIMP double __cdecl nan(_In_ char const* _X);
526  _Check_return_ _ACRTIMP double __cdecl nearbyint(_In_ double _X);
527  _Check_return_ _ACRTIMP double __cdecl nextafter(_In_ double _X, _In_ double _Y);
528  _Check_return_ _ACRTIMP double __cdecl nexttoward(_In_ double _X, _In_ long double _Y);
529  _Check_return_ _ACRTIMP double __cdecl remainder(_In_ double _X, _In_ double _Y);
530  _Check_return_ _ACRTIMP double __cdecl remquo(_In_ double _X, _In_ double _Y, _Out_ int* _Z);
531  _Check_return_ _ACRTIMP double __cdecl rint(_In_ double _X);
532  _Check_return_ _ACRTIMP double __cdecl round(_In_ double _X);
533  _Check_return_ _ACRTIMP double __cdecl scalbln(_In_ double _X, _In_ long _Y);
534  _Check_return_ _ACRTIMP double __cdecl scalbn(_In_ double _X, _In_ int _Y);
535  _Check_return_ _ACRTIMP double __cdecl tgamma(_In_ double _X);
536  _Check_return_ _ACRTIMP double __cdecl trunc(_In_ double _X);
537  _Check_return_ _ACRTIMP double __cdecl _j0(_In_ double _X );
538  _Check_return_ _ACRTIMP double __cdecl _j1(_In_ double _X );
539  _Check_return_ _ACRTIMP double __cdecl _jn(int _X, _In_ double _Y);
540  _Check_return_ _ACRTIMP double __cdecl _y0(_In_ double _X);
541  _Check_return_ _ACRTIMP double __cdecl _y1(_In_ double _X);
542  _Check_return_ _ACRTIMP double __cdecl _yn(_In_ int _X, _In_ double _Y);
543 
544  _Check_return_ _ACRTIMP float __cdecl acoshf(_In_ float _X);
545  _Check_return_ _ACRTIMP float __cdecl asinhf(_In_ float _X);
546  _Check_return_ _ACRTIMP float __cdecl atanhf(_In_ float _X);
547  _Check_return_ _ACRTIMP float __cdecl cbrtf(_In_ float _X);
548  _Check_return_ _ACRTIMP float __cdecl _chgsignf(_In_ float _X);
549  _Check_return_ _ACRTIMP float __cdecl copysignf(_In_ float _Number, _In_ float _Sign);
550  _Check_return_ _ACRTIMP float __cdecl _copysignf(_In_ float _Number, _In_ float _Sign);
551  _Check_return_ _ACRTIMP float __cdecl erff(_In_ float _X);
552  _Check_return_ _ACRTIMP float __cdecl erfcf(_In_ float _X);
553  _Check_return_ _ACRTIMP float __cdecl expm1f(_In_ float _X);
554  _Check_return_ _ACRTIMP float __cdecl exp2f(_In_ float _X);
555  _Check_return_ _ACRTIMP float __cdecl fdimf(_In_ float _X, _In_ float _Y);
556  _Check_return_ _ACRTIMP float __cdecl fmaf(_In_ float _X, _In_ float _Y, _In_ float _Z);
557  _Check_return_ _ACRTIMP float __cdecl fmaxf(_In_ float _X, _In_ float _Y);
558  _Check_return_ _ACRTIMP float __cdecl fminf(_In_ float _X, _In_ float _Y);
559  _Check_return_ _ACRTIMP float __cdecl _hypotf(_In_ float _X, _In_ float _Y);
560  _Check_return_ _ACRTIMP int __cdecl ilogbf(_In_ float _X);
561  _Check_return_ _ACRTIMP float __cdecl lgammaf(_In_ float _X);
562  _Check_return_ _ACRTIMP long long __cdecl llrintf(_In_ float _X);
563  _Check_return_ _ACRTIMP long long __cdecl llroundf(_In_ float _X);
564  _Check_return_ _ACRTIMP float __cdecl log1pf(_In_ float _X);
565  _Check_return_ _ACRTIMP float __cdecl log2f(_In_ float _X);
566  _Check_return_ _ACRTIMP float __cdecl logbf(_In_ float _X);
567  _Check_return_ _ACRTIMP long __cdecl lrintf(_In_ float _X);
568  _Check_return_ _ACRTIMP long __cdecl lroundf(_In_ float _X);
569  _Check_return_ _ACRTIMP float __cdecl nanf(_In_ char const* _X);
570  _Check_return_ _ACRTIMP float __cdecl nearbyintf(_In_ float _X);
571  _Check_return_ _ACRTIMP float __cdecl nextafterf(_In_ float _X, _In_ float _Y);
572  _Check_return_ _ACRTIMP float __cdecl nexttowardf(_In_ float _X, _In_ long double _Y);
573  _Check_return_ _ACRTIMP float __cdecl remainderf(_In_ float _X, _In_ float _Y);
574  _Check_return_ _ACRTIMP float __cdecl remquof(_In_ float _X, _In_ float _Y, _Out_ int* _Z);
575  _Check_return_ _ACRTIMP float __cdecl rintf(_In_ float _X);
576  _Check_return_ _ACRTIMP float __cdecl roundf(_In_ float _X);
577  _Check_return_ _ACRTIMP float __cdecl scalblnf(_In_ float _X, _In_ long _Y);
578  _Check_return_ _ACRTIMP float __cdecl scalbnf(_In_ float _X, _In_ int _Y);
579  _Check_return_ _ACRTIMP float __cdecl tgammaf(_In_ float _X);
580  _Check_return_ _ACRTIMP float __cdecl truncf(_In_ float _X);
581 
582  #if defined _M_IX86
583 
584  _Check_return_ _ACRTIMP int __cdecl _set_SSE2_enable(_In_ int _Flag);
585 
586  #endif
587 
588  #if defined _M_X64
589 
590  _Check_return_ _ACRTIMP float __cdecl _logbf(_In_ float _X);
591  _Check_return_ _ACRTIMP float __cdecl _nextafterf(_In_ float _X, _In_ float _Y);
592  _Check_return_ _ACRTIMP int __cdecl _finitef(_In_ float _X);
593  _Check_return_ _ACRTIMP int __cdecl _isnanf(_In_ float _X);
594  _Check_return_ _ACRTIMP int __cdecl _fpclassf(_In_ float _X);
595 
596  _Check_return_ _ACRTIMP int __cdecl _set_FMA3_enable(_In_ int _Flag);
597  _Check_return_ _ACRTIMP int __cdecl _get_FMA3_enable(void);
598 
599  #elif defined _M_ARM || defined _M_ARM64 || _M_HYBRID_X86_ARM64
600 
601  _Check_return_ _ACRTIMP int __cdecl _finitef(_In_ float _X);
602  _Check_return_ _ACRTIMP float __cdecl _logbf(_In_ float _X);
603 
604  #endif
605 
606 
607 
608  #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET
609 
610  _Check_return_ _ACRTIMP float __cdecl acosf(_In_ float _X);
611  _Check_return_ _ACRTIMP float __cdecl asinf(_In_ float _X);
612  _Check_return_ _ACRTIMP float __cdecl atan2f(_In_ float _Y, _In_ float _X);
613  _Check_return_ _ACRTIMP float __cdecl atanf(_In_ float _X);
614  _Check_return_ _ACRTIMP float __cdecl ceilf(_In_ float _X);
615  _Check_return_ _ACRTIMP float __cdecl cosf(_In_ float _X);
616  _Check_return_ _ACRTIMP float __cdecl coshf(_In_ float _X);
617  _Check_return_ _ACRTIMP float __cdecl expf(_In_ float _X);
618 
619  #else
620 
621  _Check_return_ __inline float __CRTDECL acosf(_In_ float _X)
622  {
623  return (float)acos(_X);
624  }
625 
626  _Check_return_ __inline float __CRTDECL asinf(_In_ float _X)
627  {
628  return (float)asin(_X);
629  }
630 
631  _Check_return_ __inline float __CRTDECL atan2f(_In_ float _Y, _In_ float _X)
632  {
633  return (float)atan2(_Y, _X);
634  }
635 
636  _Check_return_ __inline float __CRTDECL atanf(_In_ float _X)
637  {
638  return (float)atan(_X);
639  }
640 
641  _Check_return_ __inline float __CRTDECL ceilf(_In_ float _X)
642  {
643  return (float)ceil(_X);
644  }
645 
646  _Check_return_ __inline float __CRTDECL cosf(_In_ float _X)
647  {
648  return (float)cos(_X);
649  }
650 
651  _Check_return_ __inline float __CRTDECL coshf(_In_ float _X)
652  {
653  return (float)cosh(_X);
654  }
655 
656  _Check_return_ __inline float __CRTDECL expf(_In_ float _X)
657  {
658  return (float)exp(_X);
659  }
660 
661  #endif
662 
663  #if defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64
664 
665  _Check_return_ _CRT_JIT_INTRINSIC _ACRTIMP float __cdecl fabsf(_In_ float _X);
666 
667  #else
668 
669  _Check_return_ __inline float __CRTDECL fabsf(_In_ float _X)
670  {
671  return (float)fabs(_X);
672  }
673 
674  #endif
675 
676  #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64
677 
678  _Check_return_ _ACRTIMP float __cdecl floorf(_In_ float _X);
679  _Check_return_ _ACRTIMP float __cdecl fmodf(_In_ float _X, _In_ float _Y);
680 
681  #else
682 
683  _Check_return_ __inline float __CRTDECL floorf(_In_ float _X)
684  {
685  return (float)floor(_X);
686  }
687 
688  _Check_return_ __inline float __CRTDECL fmodf(_In_ float _X, _In_ float _Y)
689  {
690  return (float)fmod(_X, _Y);
691  }
692 
693  #endif
694 
695  _Check_return_ __inline float __CRTDECL frexpf(_In_ float _X, _Out_ int *_Y)
696  {
697  return (float)frexp(_X, _Y);
698  }
699 
700  _Check_return_ __inline float __CRTDECL hypotf(_In_ float _X, _In_ float _Y)
701  {
702  return _hypotf(_X, _Y);
703  }
704 
705  _Check_return_ __inline float __CRTDECL ldexpf(_In_ float _X, _In_ int _Y)
706  {
707  return (float)ldexp(_X, _Y);
708  }
709 
710  #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET
711 
712  _Check_return_ _ACRTIMP float __cdecl log10f(_In_ float _X);
713  _Check_return_ _ACRTIMP float __cdecl logf(_In_ float _X);
714  _Check_return_ _ACRTIMP float __cdecl modff(_In_ float _X, _Out_ float *_Y);
715  _Check_return_ _ACRTIMP float __cdecl powf(_In_ float _X, _In_ float _Y);
716  _Check_return_ _ACRTIMP float __cdecl sinf(_In_ float _X);
717  _Check_return_ _ACRTIMP float __cdecl sinhf(_In_ float _X);
718  _Check_return_ _ACRTIMP float __cdecl sqrtf(_In_ float _X);
719  _Check_return_ _ACRTIMP float __cdecl tanf(_In_ float _X);
720  _Check_return_ _ACRTIMP float __cdecl tanhf(_In_ float _X);
721 
722  #else
723 
724  _Check_return_ __inline float __CRTDECL log10f(_In_ float _X)
725  {
726  return (float)log10(_X);
727  }
728 
729  _Check_return_ __inline float __CRTDECL logf(_In_ float _X)
730  {
731  return (float)log(_X);
732  }
733 
734  _Check_return_ __inline float __CRTDECL modff(_In_ float _X, _Out_ float* _Y)
735  {
736  double _F, _I;
737  _F = modf(_X, &_I);
738  *_Y = (float)_I;
739  return (float)_F;
740  }
741 
742  _Check_return_ __inline float __CRTDECL powf(_In_ float _X, _In_ float _Y)
743  {
744  return (float)pow(_X, _Y);
745  }
746 
747  _Check_return_ __inline float __CRTDECL sinf(_In_ float _X)
748  {
749  return (float)sin(_X);
750  }
751 
752  _Check_return_ __inline float __CRTDECL sinhf(_In_ float _X)
753  {
754  return (float)sinh(_X);
755  }
756 
757  _Check_return_ __inline float __CRTDECL sqrtf(_In_ float _X)
758  {
759  return (float)sqrt(_X);
760  }
761 
762  _Check_return_ __inline float __CRTDECL tanf(_In_ float _X)
763  {
764  return (float)tan(_X);
765  }
766 
767  _Check_return_ __inline float __CRTDECL tanhf(_In_ float _X)
768  {
769  return (float)tanh(_X);
770  }
771 
772  #endif
773 
774  _Check_return_ _ACRTIMP long double __cdecl acoshl(_In_ long double _X);
775 
776  _Check_return_ __inline long double __CRTDECL acosl(_In_ long double _X)
777  {
778  return acos((double)_X);
779  }
780 
781  _Check_return_ _ACRTIMP long double __cdecl asinhl(_In_ long double _X);
782 
783  _Check_return_ __inline long double __CRTDECL asinl(_In_ long double _X)
784  {
785  return asin((double)_X);
786  }
787 
788  _Check_return_ __inline long double __CRTDECL atan2l(_In_ long double _Y, _In_ long double _X)
789  {
790  return atan2((double)_Y, (double)_X);
791  }
792 
793  _Check_return_ _ACRTIMP long double __cdecl atanhl(_In_ long double _X);
794 
795  _Check_return_ __inline long double __CRTDECL atanl(_In_ long double _X)
796  {
797  return atan((double)_X);
798  }
799 
800  _Check_return_ _ACRTIMP long double __cdecl cbrtl(_In_ long double _X);
801 
802  _Check_return_ __inline long double __CRTDECL ceill(_In_ long double _X)
803  {
804  return ceil((double)_X);
805  }
806 
807  _Check_return_ __inline long double __CRTDECL _chgsignl(_In_ long double _X)
808  {
809  return _chgsign((double)_X);
810  }
811 
812  _Check_return_ _ACRTIMP long double __cdecl copysignl(_In_ long double _Number, _In_ long double _Sign);
813 
814  _Check_return_ __inline long double __CRTDECL _copysignl(_In_ long double _Number, _In_ long double _Sign)
815  {
816  return _copysign((double)_Number, (double)_Sign);
817  }
818 
819  _Check_return_ __inline long double __CRTDECL coshl(_In_ long double _X)
820  {
821  return cosh((double)_X);
822  }
823 
824  _Check_return_ __inline long double __CRTDECL cosl(_In_ long double _X)
825  {
826  return cos((double)_X);
827  }
828 
829  _Check_return_ _ACRTIMP long double __cdecl erfl(_In_ long double _X);
830  _Check_return_ _ACRTIMP long double __cdecl erfcl(_In_ long double _X);
831 
832  _Check_return_ __inline long double __CRTDECL expl(_In_ long double _X)
833  {
834  return exp((double)_X);
835  }
836 
837  _Check_return_ _ACRTIMP long double __cdecl exp2l(_In_ long double _X);
838  _Check_return_ _ACRTIMP long double __cdecl expm1l(_In_ long double _X);
839 
840  _Check_return_ __inline long double __CRTDECL fabsl(_In_ long double _X)
841  {
842  return fabs((double)_X);
843  }
844 
845  _Check_return_ _ACRTIMP long double __cdecl fdiml(_In_ long double _X, _In_ long double _Y);
846 
847  _Check_return_ __inline long double __CRTDECL floorl(_In_ long double _X)
848  {
849  return floor((double)_X);
850  }
851 
852  _Check_return_ _ACRTIMP long double __cdecl fmal(_In_ long double _X, _In_ long double _Y, _In_ long double _Z);
853  _Check_return_ _ACRTIMP long double __cdecl fmaxl(_In_ long double _X, _In_ long double _Y);
854  _Check_return_ _ACRTIMP long double __cdecl fminl(_In_ long double _X, _In_ long double _Y);
855 
856  _Check_return_ __inline long double __CRTDECL fmodl(_In_ long double _X, _In_ long double _Y)
857  {
858  return fmod((double)_X, (double)_Y);
859  }
860 
861  _Check_return_ __inline long double __CRTDECL frexpl(_In_ long double _X, _Out_ int *_Y)
862  {
863  return frexp((double)_X, _Y);
864  }
865 
866  _Check_return_ _ACRTIMP int __cdecl ilogbl(_In_ long double _X);
867 
868  _Check_return_ __inline long double __CRTDECL _hypotl(_In_ long double _X, _In_ long double _Y)
869  {
870  return _hypot((double)_X, (double)_Y);
871  }
872 
873  _Check_return_ __inline long double __CRTDECL hypotl(_In_ long double _X, _In_ long double _Y)
874  {
875  return _hypot((double)_X, (double)_Y);
876  }
877 
878  _Check_return_ __inline long double __CRTDECL ldexpl(_In_ long double _X, _In_ int _Y)
879  {
880  return ldexp((double)_X, _Y);
881  }
882 
883  _Check_return_ _ACRTIMP long double __cdecl lgammal(_In_ long double _X);
884  _Check_return_ _ACRTIMP long long __cdecl llrintl(_In_ long double _X);
885  _Check_return_ _ACRTIMP long long __cdecl llroundl(_In_ long double _X);
886 
887  _Check_return_ __inline long double __CRTDECL logl(_In_ long double _X)
888  {
889  return log((double)_X);
890  }
891 
892  _Check_return_ __inline long double __CRTDECL log10l(_In_ long double _X)
893  {
894  return log10((double)_X);
895  }
896 
897  _Check_return_ _ACRTIMP long double __cdecl log1pl(_In_ long double _X);
898  _Check_return_ _ACRTIMP long double __cdecl log2l(_In_ long double _X);
899  _Check_return_ _ACRTIMP long double __cdecl logbl(_In_ long double _X);
900  _Check_return_ _ACRTIMP long __cdecl lrintl(_In_ long double _X);
901  _Check_return_ _ACRTIMP long __cdecl lroundl(_In_ long double _X);
902 
903  _Check_return_ __inline long double __CRTDECL modfl(_In_ long double _X, _Out_ long double* _Y)
904  {
905  double _F, _I;
906  _F = modf((double)_X, &_I);
907  *_Y = _I;
908  return _F;
909  }
910 
911  _Check_return_ _ACRTIMP long double __cdecl nanl(_In_ char const* _X);
912  _Check_return_ _ACRTIMP long double __cdecl nearbyintl(_In_ long double _X);
913  _Check_return_ _ACRTIMP long double __cdecl nextafterl(_In_ long double _X, _In_ long double _Y);
914  _Check_return_ _ACRTIMP long double __cdecl nexttowardl(_In_ long double _X, _In_ long double _Y);
915 
916  _Check_return_ __inline long double __CRTDECL powl(_In_ long double _X, _In_ long double _Y)
917  {
918  return pow((double)_X, (double)_Y);
919  }
920 
921  _Check_return_ _ACRTIMP long double __cdecl remainderl(_In_ long double _X, _In_ long double _Y);
922  _Check_return_ _ACRTIMP long double __cdecl remquol(_In_ long double _X, _In_ long double _Y, _Out_ int* _Z);
923  _Check_return_ _ACRTIMP long double __cdecl rintl(_In_ long double _X);
924  _Check_return_ _ACRTIMP long double __cdecl roundl(_In_ long double _X);
925  _Check_return_ _ACRTIMP long double __cdecl scalblnl(_In_ long double _X, _In_ long _Y);
926  _Check_return_ _ACRTIMP long double __cdecl scalbnl(_In_ long double _X, _In_ int _Y);
927 
928  _Check_return_ __inline long double __CRTDECL sinhl(_In_ long double _X)
929  {
930  return sinh((double)_X);
931  }
932 
933  _Check_return_ __inline long double __CRTDECL sinl(_In_ long double _X)
934  {
935  return sin((double)_X);
936  }
937 
938  _Check_return_ __inline long double __CRTDECL sqrtl(_In_ long double _X)
939  {
940  return sqrt((double)_X);
941  }
942 
943  _Check_return_ __inline long double __CRTDECL tanhl(_In_ long double _X)
944  {
945  return tanh((double)_X);
946  }
947 
948  _Check_return_ __inline long double __CRTDECL tanl(_In_ long double _X)
949  {
950  return tan((double)_X);
951  }
952 
953  _Check_return_ _ACRTIMP long double __cdecl tgammal(_In_ long double _X);
954  _Check_return_ _ACRTIMP long double __cdecl truncl(_In_ long double _X);
955 
956  #ifndef __cplusplus
957  #define _matherrl _matherr
958  #endif
959 
960 #endif // _CRT_FUNCTIONS_REQUIRED
961 
962 #if _CRT_INTERNAL_NONSTDC_NAMES
963 
964  #define DOMAIN _DOMAIN
965  #define SING _SING
966  #define OVERFLOW _OVERFLOW
967  #define UNDERFLOW _UNDERFLOW
968  #define TLOSS _TLOSS
969  #define PLOSS _PLOSS
970 
971  #define matherr _matherr
972 
973  #ifndef __assembler
974  #ifndef _M_CEE_PURE
975  extern double HUGE;
976  #else
977  double const HUGE = _HUGE;
978  #endif
979 
980  _CRT_NONSTDC_DEPRECATE(_j0) _Check_return_ _ACRTIMP double __cdecl j0(_In_ double _X);
981  _CRT_NONSTDC_DEPRECATE(_j1) _Check_return_ _ACRTIMP double __cdecl j1(_In_ double _X);
982  _CRT_NONSTDC_DEPRECATE(_jn) _Check_return_ _ACRTIMP double __cdecl jn(_In_ int _X, _In_ double _Y);
983  _CRT_NONSTDC_DEPRECATE(_y0) _Check_return_ _ACRTIMP double __cdecl y0(_In_ double _X);
984  _CRT_NONSTDC_DEPRECATE(_y1) _Check_return_ _ACRTIMP double __cdecl y1(_In_ double _X);
985  _CRT_NONSTDC_DEPRECATE(_yn) _Check_return_ _ACRTIMP double __cdecl yn(_In_ int _X, _In_ double _Y);
986  #endif // !__assembler
987 
988 #endif // _CRT_INTERNAL_NONSTDC_NAMES
989 
990 
991 #pragma warning(pop)
992 
_Check_return_ _ACRTIMP long double __cdecl atanhl(_In_ long double _X)
const _float_const _LEps_C
#define _Out_
Definition: sal.h:342
#define FP_NAN
Definition: corecrt_math.h:101
_Check_return_ _ACRTIMP double __cdecl ceil(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl tgamma(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl logbl(_In_ long double _X)
const _float_const _LRteps_C
_Check_return_ _ACRTIMP double __cdecl _copysign(_In_ double _Number, _In_ double _Sign)
_Check_return_ _ACRTIMP long double __cdecl scalbnl(_In_ long double _X, _In_ int _Y)
_Check_return_ _ACRTIMP long double __cdecl log1pl(_In_ long double _X)
Definition: corecrt.h:489
_Check_return_ __inline long double __CRTDECL atan2l(_In_ long double _Y, _In_ long double _X)
Definition: corecrt_math.h:788
_Check_return_ double __cdecl log10(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl logbf(_In_ float _X)
#define _ACRTIMP
Definition: corecrt.h:27
_Check_return_ _ACRTIMP float __cdecl acoshf(_In_ float _X)
double arg2
Definition: corecrt_math.h:29
_Check_return_ _ACRTIMP float __cdecl rintf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl scalbn(_In_ double _X, _In_ int _Y)
_Check_return_ _ACRTIMP double __cdecl frexp(_In_ double _X, _Out_ int *_Y)
_Check_return_ __inline long double __CRTDECL fmodl(_In_ long double _X, _In_ long double _Y)
Definition: corecrt_math.h:856
_Check_return_ _ACRTIMP float __cdecl _fdpoly(_In_ float _X, _In_reads_(_N) float const *_Tab, _In_ int _N)
double y
Definition: corecrt_math.h:40
_Check_return_ _ACRTIMP short __cdecl _ldexp(_Inout_ long double *_Px, _In_ long double _Y, _In_ long _Eoff)
_Check_return_ _ACRTIMP int __cdecl _fdpcomp(_In_ float _X, _In_ float _Y)
_Check_return_ _ACRTIMP double __cdecl _dpoly(_In_ double _X, _In_reads_(_N) double const *_Tab, _In_ int _N)
#define isgreater(x, y)
Definition: corecrt_math.h:279
#define islessequal(x, y)
Definition: corecrt_math.h:282
#define isnan(_Val)
Definition: corecrt_math.h:275
_Check_return_ _ACRTIMP long __cdecl lround(_In_ double _X)
_Check_return_ __inline long double __CRTDECL modfl(_In_ long double _X, _Out_ long double *_Y)
Definition: corecrt_math.h:903
#define isunordered(x, y)
Definition: corecrt_math.h:284
_Check_return_ double __cdecl log(_In_ double _X)
_Check_return_ _ACRTIMP long long __cdecl llrint(_In_ double _X)
_Check_return_ _ACRTIMP long long __cdecl llroundl(_In_ long double _X)
_Check_return_ _ACRTIMP float __cdecl nextafterf(_In_ float _X, _In_ float _Y)
_Check_return_ __inline float __CRTDECL frexpf(_In_ float _X, _Out_ int *_Y)
Definition: corecrt_math.h:695
const double _Zero_C
_ACRTIMP short __cdecl _d_int(_Inout_ double *_Px, _In_ short _Xexp)
#define _Inout_updates_(size)
Definition: sal.h:384
_Check_return_ _ACRTIMP float __cdecl _hypotf(_In_ float _X, _In_ float _Y)
_Check_return_ __inline long double __CRTDECL logl(_In_ long double _X)
Definition: corecrt_math.h:887
_Check_return_ _ACRTIMP float __cdecl _fdlog(_In_ float _X, _In_ int _Baseflag)
_ACRTIMP short __cdecl _fd_int(_Inout_ float *_Px, _In_ short _Xexp)
_Check_return_ _ACRTIMP int __cdecl _dsign(_In_ double _X)
#define isgreaterequal(x, y)
Definition: corecrt_math.h:280
_Check_return_ _ACRTIMP double __cdecl remainder(_In_ double _X, _In_ double _Y)
char * name
Definition: corecrt_math.h:27
_Check_return_ double __cdecl atan2(_In_ double _Y, _In_ double _X)
_Check_return_ _ACRTIMP double __cdecl _hypot(_In_ double _X, _In_ double _Y)
#define fpclassify(_Val)
Definition: corecrt_math.h:270
_Check_return_ _ACRTIMP long double __cdecl asinhl(_In_ long double _X)
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl sqrt(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl expm1l(_In_ long double _X)
_Check_return_ _ACRTIMP double __cdecl asinh(_In_ double _X)
_Check_return_ _ACRTIMP short __cdecl _fdnorm(_Inout_updates_(2) unsigned short *_Ps)
_Check_return_ __inline float __CRTDECL powf(_In_ float _X, _In_ float _Y)
Definition: corecrt_math.h:742
_Check_return_ long long __cdecl llabs(_In_ long long _X)
_Check_return_ _ACRTIMP double __cdecl copysign(_In_ double _Number, _In_ double _Sign)
_In_ size_t _Deref_pre_opt_z_ char const _In_ size_t _N
Definition: wchar.h:78
_ACRTIMP short __cdecl _dunscale(_Out_ short *_Pex, _Inout_ double *_Px)
_Check_return_ _ACRTIMP long double __cdecl fdiml(_In_ long double _X, _In_ long double _Y)
int type
Definition: corecrt_math.h:26
_Check_return_ _ACRTIMP long double __cdecl copysignl(_In_ long double _Number, _In_ long double _Sign)
_Check_return_ __inline long double __CRTDECL frexpl(_In_ long double _X, _Out_ int *_Y)
Definition: corecrt_math.h:861
_Check_return_ _ACRTIMP float __cdecl nanf(_In_ char const *_X)
_Check_return_ __inline float __CRTDECL ceilf(_In_ float _X)
Definition: corecrt_math.h:641
Definition: corecrt_math.h:38
_Check_return_ _ACRTIMP double __cdecl cbrt(_In_ double _X)
_Check_return_ __inline long double __CRTDECL sinl(_In_ long double _X)
Definition: corecrt_math.h:933
_Check_return_ __inline long double __CRTDECL coshl(_In_ long double _X)
Definition: corecrt_math.h:819
const _float_const _LNan_C
_Check_return_ __inline float __CRTDECL ldexpf(_In_ float _X, _In_ int _Y)
Definition: corecrt_math.h:705
#define _FP_LT
Definition: corecrt_math.h:260
_Check_return_ _ACRTIMP long double __cdecl erfl(_In_ long double _X)
#define _FP_EQ
Definition: corecrt_math.h:261
_Check_return_ _ACRTIMP float __cdecl remquof(_In_ float _X, _In_ float _Y, _Out_ int *_Z)
_Check_return_ __inline long double __CRTDECL expl(_In_ long double _X)
Definition: corecrt_math.h:832
_Check_return_ _ACRTIMP long double __cdecl roundl(_In_ long double _X)
_Check_return_ __inline long double __CRTDECL cosl(_In_ long double _X)
Definition: corecrt_math.h:824
_Check_return_ _ACRTIMP float __cdecl exp2f(_In_ float _X)
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
_Check_return_ _ACRTIMP double __cdecl _j0(_In_ double _X)
_Check_return_ __inline float __CRTDECL fabsf(_In_ float _X)
Definition: corecrt_math.h:669
_Check_return_ double __cdecl exp(_In_ double _X)
_Check_return_ _ACRTIMP long __cdecl lroundf(_In_ float _X)
_Check_return_ _ACRTIMP long long __cdecl llround(_In_ double _X)
double x
Definition: corecrt_math.h:40
_Check_return_ _ACRTIMP float __cdecl cbrtf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl _jn(int _X, _In_ double _Y)
_Check_return_ __inline float __CRTDECL sqrtf(_In_ float _X)
Definition: corecrt_math.h:757
_Check_return_ _ACRTIMP float __cdecl log1pf(_In_ float _X)
_Check_return_ _ACRTIMP long double __cdecl cbrtl(_In_ long double _X)
_Check_return_ __inline long double __CRTDECL asinl(_In_ long double _X)
Definition: corecrt_math.h:783
_Check_return_ _ACRTIMP short __cdecl _dtest(_In_ double *_Px)
_Check_return_ double __cdecl tan(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl fmaf(_In_ float _X, _In_ float _Y, _In_ float _Z)
_Check_return_ _ACRTIMP double __cdecl fdim(_In_ double _X, _In_ double _Y)
_Check_return_ double __cdecl cos(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl log2l(_In_ long double _X)
_ACRTIMP short __cdecl _ld_int(_Inout_ long double *_Px, _In_ short _Xexp)
double _Val
Definition: corecrt_math.h:223
_Check_return_ _ACRTIMP float __cdecl lgammaf(_In_ float _X)
const _float_const _Hugeval_C
_Check_return_ __inline long double __CRTDECL _copysignl(_In_ long double _Number, _In_ long double _Sign)
Definition: corecrt_math.h:814
_Check_return_ __inline float __CRTDECL fmodf(_In_ float _X, _In_ float _Y)
Definition: corecrt_math.h:688
Definition: corecrt_math.h:227
_Check_return_ __inline long double __CRTDECL tanhl(_In_ long double _X)
Definition: corecrt_math.h:943
_Check_return_ __inline float __CRTDECL tanf(_In_ float _X)
Definition: corecrt_math.h:762
_Check_return_ __inline long double __CRTDECL ldexpl(_In_ long double _X, _In_ int _Y)
Definition: corecrt_math.h:878
#define __CRTDECL
Definition: vcruntime.h:156
const _float_const _LSnan_C
_Check_return_ _ACRTIMP float __cdecl erff(_In_ float _X)
_Check_return_ _ACRTIMP float __cdecl fmaxf(_In_ float _X, _In_ float _Y)
float _Float
Definition: corecrt_math.h:243
_Check_return_ _ACRTIMP float __cdecl erfcf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl rint(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl expm1(_In_ double _X)
_Check_return_ __inline float __CRTDECL atan2f(_In_ float _Y, _In_ float _X)
Definition: corecrt_math.h:631
_Check_return_ _ACRTIMP int __cdecl _ldpcomp(_In_ long double _X, _In_ long double _Y)
_Check_return_ __inline float __CRTDECL acosf(_In_ float _X)
Definition: corecrt_math.h:621
_Check_return_ __inline float __CRTDECL cosf(_In_ float _X)
Definition: corecrt_math.h:646
#define signbit(_Val)
Definition: corecrt_math.h:277
#define _Check_return_
Definition: sal.h:554
_Check_return_ _ACRTIMP double __cdecl nextafter(_In_ double _X, _In_ double _Y)
_Check_return_ __inline long double __CRTDECL acosl(_In_ long double _X)
Definition: corecrt_math.h:776
_ACRTIMP short __cdecl _ldscale(_Inout_ long double *_Px, _In_ long _Lexp)
_String
Definition: corecrt_wstring.h:355
_Check_return_ __inline float __CRTDECL atanf(_In_ float _X)
Definition: corecrt_math.h:636
_Check_return_ _ACRTIMP float __cdecl asinhf(_In_ float _X)
const _float_const _LInf_C
_Check_return_ _ACRTIMP long double __cdecl remainderl(_In_ long double _X, _In_ long double _Y)
#define _In_z_
Definition: sal.h:310
#define _In_
Definition: sal.h:305
_In_ wctype_t _Type
Definition: corecrt_wctype.h:111
double _Double
Definition: corecrt_math.h:244
_Check_return_ _ACRTIMP long double __cdecl remquol(_In_ long double _X, _In_ long double _Y, _Out_ int *_Z)
const _float_const _Rteps_C
#define _CRT_JIT_INTRINSIC
Definition: corecrt.h:64
#define _In_opt_
Definition: sal.h:306
_Check_return_ _ACRTIMP float __cdecl nearbyintf(_In_ float _X)
_Check_return_ __inline long double __CRTDECL _hypotl(_In_ long double _X, _In_ long double _Y)
Definition: corecrt_math.h:868
_Check_return_ __inline long double __CRTDECL fabsl(_In_ long double _X)
Definition: corecrt_math.h:840
_Check_return_ _ACRTIMP double __cdecl _j1(_In_ double _X)
_Check_return_ _ACRTIMP short __cdecl _fdclass(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl logb(_In_ double _X)
float _Val
Definition: corecrt_math.h:230
_Check_return_ _ACRTIMP double __cdecl scalbln(_In_ double _X, _In_ long _Y)
_Check_return_ double __cdecl sinh(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl _y1(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl _y0(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl log2f(_In_ float _X)
const _float_const _LDenorm_C
_Check_return_ _ACRTIMP long __cdecl lroundl(_In_ long double _X)
_Check_return_ _ACRTIMP float __cdecl roundf(_In_ float _X)
_In_ double _Y
Definition: corecrt_math.h:982
_Check_return_ _ACRTIMP double __cdecl nexttoward(_In_ double _X, _In_ long double _Y)
const _float_const _FEps_C
const long double _LXbig_C
_Check_return_ _ACRTIMP long __cdecl lrint(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl atanhf(_In_ float _X)
_Check_return_ _ACRTIMP long double __cdecl nexttowardl(_In_ long double _X, _In_ long double _Y)
_Check_return_ _ACRTIMP int __cdecl ilogb(_In_ double _X)
_Check_return_ _ACRTIMP short __cdecl _fdexp(_Inout_ float *_Px, _In_ float _Y, _In_ long _Eoff)
double HUGE
_Check_return_ _ACRTIMP long double __cdecl truncl(_In_ long double _X)
_Check_return_ __inline float __CRTDECL log10f(_In_ float _X)
Definition: corecrt_math.h:724
const _float_const _Nan_C
_Check_return_ double __cdecl atan(_In_ double _X)
_Check_return_ __inline float __CRTDECL sinhf(_In_ float _X)
Definition: corecrt_math.h:752
double retval
Definition: corecrt_math.h:30
_Check_return_ _ACRTIMP long double __cdecl tgammal(_In_ long double _X)
_Check_return_ _ACRTIMP long long __cdecl llrintf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl nearbyint(_In_ double _X)
const double _Xbig_C
const _float_const _Snan_C
_Check_return_ double __cdecl asin(_In_ double _X)
_Check_return_ _ACRTIMP long __cdecl lrintf(_In_ float _X)
_Check_return_ _ACRTIMP long double __cdecl acoshl(_In_ long double _X)
_Check_return_ _ACRTIMP float __cdecl nexttowardf(_In_ float _X, _In_ long double _Y)
_Check_return_ _ACRTIMP double __cdecl exp2(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl modf(_In_ double _X, _Out_ double *_Y)
long double _Val
Definition: corecrt_math.h:237
_Check_return_ _ACRTIMP long long __cdecl llroundf(_In_ float _X)
float float_t
Definition: corecrt_math.h:60
_Check_return_ __inline long double __CRTDECL log10l(_In_ long double _X)
Definition: corecrt_math.h:892
_Check_return_ int __cdecl abs(_In_ int _X)
_Check_return_ _ACRTIMP long double __cdecl rintl(_In_ long double _X)
_Check_return_ _ACRTIMP double __cdecl atof(_In_z_ char const *_String)
_Check_return_ __inline float __CRTDECL expf(_In_ float _X)
Definition: corecrt_math.h:656
#define isinf(_Val)
Definition: corecrt_math.h:274
_Check_return_ double __cdecl acos(_In_ double _X)
_In_reads_(_N) wchar_t const *_S2
_Check_return_ _ACRTIMP double __cdecl fmin(_In_ double _X, _In_ double _Y)
_Check_return_ _ACRTIMP float __cdecl _chgsignf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl _atof_l(_In_z_ char const *_String, _In_opt_ _locale_t _Locale)
_Check_return_ _ACRTIMP double __cdecl nan(_In_ char const *_X)
_Check_return_ _ACRTIMP short __cdecl _fdtest(_In_ float *_Px)
_Check_return_ __inline long double __CRTDECL ceill(_In_ long double _X)
Definition: corecrt_math.h:802
_Check_return_ _ACRTIMP int __cdecl ilogbl(_In_ long double _X)
_Check_return_ __inline long double __CRTDECL sqrtl(_In_ long double _X)
Definition: corecrt_math.h:938
Definition: complex:579
_Check_return_ __inline float __CRTDECL floorf(_In_ float _X)
Definition: corecrt_math.h:683
_Check_return_ _ACRTIMP float __cdecl fminf(_In_ float _X, _In_ float _Y)
_Check_return_ __inline float __CRTDECL hypotf(_In_ float _X, _In_ float _Y)
Definition: corecrt_math.h:700
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl trunc(_In_ double _X)
#define FP_NORMAL
Definition: corecrt_math.h:102
_Check_return_ __inline float __CRTDECL asinf(_In_ float _X)
Definition: corecrt_math.h:626
_Check_return_ double __cdecl tanh(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl _chgsign(_In_ double _X)
_Check_return_ __inline long double __CRTDECL powl(_In_ long double _X, _In_ long double _Y)
Definition: corecrt_math.h:916
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
_Check_return_ _ACRTIMP double __cdecl lgamma(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl nanl(_In_ char const *_X)
const _float_const _FNan_C
const _float_const _FInf_C
_Check_return_ _ACRTIMP double __cdecl log1p(_In_ double _X)
_Check_return_ _ACRTIMP double __cdecl ldexp(_In_ double _X, _In_ int _Y)
_Check_return_ _ACRTIMP short __cdecl _dexp(_Inout_ double *_Px, _In_ double _Y, _In_ long _Eoff)
_Check_return_ _ACRTIMP double __cdecl hypot(_In_ double _X, _In_ double _Y)
_Check_return_ _ACRTIMP float __cdecl copysignf(_In_ float _Number, _In_ float _Sign)
_Check_return_ __inline float __CRTDECL coshf(_In_ float _X)
Definition: corecrt_math.h:651
_Check_return_ _ACRTIMP double __cdecl _dsin(_In_ double _X, _In_ unsigned int _Qoff)
_Check_return_ _ACRTIMP short __cdecl _ldclass(_In_ long double _X)
_Check_return_ _ACRTIMP long double __cdecl fmaxl(_In_ long double _X, _In_ long double _Y)
#define _FP_GT
Definition: corecrt_math.h:262
#define isless(x, y)
Definition: corecrt_math.h:281
_Check_return_ __inline long double __CRTDECL tanl(_In_ long double _X)
Definition: corecrt_math.h:948
_Check_return_ _ACRTIMP double __cdecl log2(_In_ double _X)
_Check_return_ double __cdecl cosh(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl exp2l(_In_ long double _X)
_Check_return_ _ACRTIMP long double __cdecl _ldpoly(_In_ long double _X, _In_reads_(_N) long double const *_Tab, _In_ int _N)
#define isfinite(_Val)
Definition: corecrt_math.h:273
_Check_return_ _ACRTIMP double __cdecl fmax(_In_ double _X, _In_ double _Y)
_ACRTIMP short __cdecl _ldunscale(_Out_ short *_Pex, _Inout_ long double *_Px)
_Check_return_ _ACRTIMP long double __cdecl nearbyintl(_In_ long double _X)
_Check_return_ _ACRTIMP long double __cdecl nextafterl(_In_ long double _X, _In_ long double _Y)
_Check_return_ _ACRTIMP double __cdecl erf(_In_ double _X)
_Check_return_ __inline float __CRTDECL modff(_In_ float _X, _Out_ float *_Y)
Definition: corecrt_math.h:734
_Check_return_ _ACRTIMP double __cdecl _yn(_In_ int _X, _In_ double _Y)
#define islessgreater(x, y)
Definition: corecrt_math.h:283
const _float_const _Eps_C
_Check_return_ _ACRTIMP double __cdecl atanh(_In_ double _X)
_Check_return_ long __cdecl labs(_In_ long _X)
_Check_return_ __inline float __CRTDECL logf(_In_ float _X)
Definition: corecrt_math.h:729
_Check_return_ _ACRTIMP double __cdecl _cabs(_In_ struct _complex _Complex_value)
_Check_return_ __inline long double __CRTDECL hypotl(_In_ long double _X, _In_ long double _Y)
Definition: corecrt_math.h:873
_Check_return_ _ACRTIMP short __cdecl _dclass(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl remainderf(_In_ float _X, _In_ float _Y)
_Check_return_ double __cdecl fmod(_In_ double _X, _In_ double _Y)
_Check_return_ _ACRTIMP float __cdecl fdimf(_In_ float _X, _In_ float _Y)
_Check_return_ _ACRTIMP int __cdecl ilogbf(_In_ float _X)
_ACRTIMP short __cdecl _fdunscale(_Out_ short *_Pex, _Inout_ float *_Px)
_Check_return_ _ACRTIMP double __cdecl acosh(_In_ double _X)
_Check_return_ double __cdecl pow(_In_ double _X, _In_ double _Y)
_Check_return_ __inline float __CRTDECL tanhf(_In_ float _X)
Definition: corecrt_math.h:767
double const _HUGE
_Check_return_ _ACRTIMP float __cdecl _fdsin(_In_ float _X, _In_ unsigned int _Qoff)
_Check_return_ __inline long double __CRTDECL atanl(_In_ long double _X)
Definition: corecrt_math.h:795
#define _Inout_
Definition: sal.h:375
double double_t
Definition: corecrt_math.h:61
_Check_return_opt_ _In_opt_ _locale_t const _Locale
Definition: corecrt_wconio.h:289
_Check_return_ _ACRTIMP long double __cdecl lgammal(_In_ long double _X)
_Check_return_ _ACRTIMP float __cdecl expm1f(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl floor(_In_ double _X)
const _float_const _FDenorm_C
double arg1
Definition: corecrt_math.h:28
#define isnormal(_Val)
Definition: corecrt_math.h:276
Definition: corecrt_math.h:234
_Check_return_ double __cdecl sin(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl scalblnl(_In_ long double _X, _In_ long _Y)
_Check_return_ _ACRTIMP long double __cdecl fminl(_In_ long double _X, _In_ long double _Y)
_Check_return_ __inline float __CRTDECL sinf(_In_ float _X)
Definition: corecrt_math.h:747
_Check_return_ _ACRTIMP int __cdecl _dpcomp(_In_ double _X, _In_ double _Y)
#define FP_INFINITE
Definition: corecrt_math.h:100
_Check_return_ _ACRTIMP float __cdecl truncf(_In_ float _X)
_Check_return_ _ACRTIMP short __cdecl _ldtest(_In_ long double *_Px)
_Check_return_ _ACRTIMP float __cdecl scalblnf(_In_ float _X, _In_ long _Y)
_Check_return_ _ACRTIMP double __cdecl round(_In_ double _X)
_Check_return_ _ACRTIMP long double __cdecl _ldsin(_In_ long double _X, _In_ unsigned int _Qoff)
Definition: corecrt_math.h:220
const _float_const _Inf_C
Definition: corecrt_math.h:24
_Check_return_ _ACRTIMP int __cdecl _ldsign(_In_ long double _X)
_ACRTIMP short __cdecl _fdscale(_Inout_ float *_Px, _In_ long _Lexp)
_Check_return_ _ACRTIMP float __cdecl _copysignf(_In_ float _Number, _In_ float _Sign)
_Check_return_ _ACRTIMP short __cdecl _dnorm(_Inout_updates_(4) unsigned short *_Ps)
_Check_return_ _ACRTIMP long long __cdecl llrintl(_In_ long double _X)
const float _FXbig_C
_Check_return_ __inline long double __CRTDECL floorl(_In_ long double _X)
Definition: corecrt_math.h:847
const _float_const _FSnan_C
const long double _LZero_C
_Check_return_ _ACRTIMP double __cdecl erfc(_In_ double _X)
_Check_return_ _ACRTIMP int __cdecl _fdsign(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl remquo(_In_ double _X, _In_ double _Y, _Out_ int *_Z)
_ACRTIMP short __cdecl _dscale(_Inout_ double *_Px, _In_ long _Lexp)
_Check_return_ _ACRTIMP long __cdecl lrintl(_In_ long double _X)
_Check_return_ __inline long double __CRTDECL sinhl(_In_ long double _X)
Definition: corecrt_math.h:928
_Check_return_ _ACRTIMP double __cdecl fma(_In_ double _X, _In_ double _Y, _In_ double _Z)
_Check_return_ __inline long double __CRTDECL _chgsignl(_In_ long double _X)
Definition: corecrt_math.h:807
const _float_const _Denorm_C
const float _FZero_C
Definition: corecrt_math.h:240
long double _Long_double
Definition: corecrt_math.h:245
_Check_return_ _ACRTIMP long double __cdecl erfcl(_In_ long double _X)
_Check_return_ _ACRTIMP float __cdecl scalbnf(_In_ float _X, _In_ int _Y)
int __CRTDECL _matherr(_Inout_ struct _exception *_Except)
_Check_return_ _ACRTIMP float __cdecl tgammaf(_In_ float _X)
_Check_return_ _ACRTIMP double __cdecl _dlog(_In_ double _X, _In_ int _Baseflag)
_Check_return_ _ACRTIMP long double __cdecl _ldlog(_In_ long double _X, _In_ int _Baseflag)
void __cdecl _fperrraise(_In_ int _Except)
_Check_return_ _ACRTIMP long double __cdecl fmal(_In_ long double _X, _In_ long double _Y, _In_ long double _Z)
const _float_const _FRteps_C
_CRT_NONSTDC_DEPRECATE(_j0) _Check_return_ _ACRTIMP double __cdecl j0(_In_ double _X)