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
35 #ifndef _COMPLEX_DEFINED
36 #define _COMPLEX_DEFINED
43 #if _CRT_INTERNAL_NONSTDC_NAMES && !defined __cplusplus
45 #define complex _complex
56 #if defined _M_IX86 && _M_IX86_FP < 2 && !defined _M_FP_FAST
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
79 extern double const _HUGE;
81 double const _HUGE = System::Double::PositiveInfinity;
86 #define _HUGE_ENUF 1e+300 // _HUGE_ENUF*_HUGE_ENUF must overflow
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))
100 #define FP_INFINITE _INFCODE
101 #define FP_NAN _NANCODE
102 #define FP_NORMAL _FINITE
103 #define FP_SUBNORMAL _DENORM
106 #define _C2 1 // 0 if not 2's complement
107 #define FP_ILOGB0 (-0x7fffffff - _C2)
108 #define FP_ILOGBNAN 0x7fffffff
111 #define MATH_ERREXCEPT 2
112 #define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT)
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
121 #define _D0_C 3 // little-endian, small long doubles
129 #define _F0_C 1 // little-endian
136 #define _L0_C 3 // little-endian, 64-bit long doubles
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)
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)
157 #define _LFRAC ((unsigned short)(-1))
158 #define _LMASK ((unsigned short)0x7fff)
159 #define _LMAX ((unsigned short)0x7fff)
160 #define _LSIGN ((unsigned short)0x8000)
162 #define _DHUGE_EXP (int)(_DMAX * 900L / 1000)
163 #define _FHUGE_EXP (int)(_FMAX * 900L / 1000)
164 #define _LHUGE_EXP (int)(_LMAX * 900L / 1000)
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)
222 unsigned short _Sh[4];
229 unsigned short _Sh[2];
236 unsigned short _Sh[4];
242 unsigned short _Word[4];
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)))
270 #define fpclassify(_Val) (_CLASSIFY(_Val, _fdclass, _dclass, _ldclass))
271 #define _FPCOMPARE(_Val1, _Val2) (_CLASSIFY2(_Val1, _Val2, _fdpcomp, _dpcomp, _ldpcomp))
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))
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)
334 template <
class _Trc,
class _Tre>
struct _Combined_type
339 template <>
struct _Combined_type<float, double>
341 typedef double _Type;
344 template <>
struct _Combined_type<float, long double>
346 typedef long double _Type;
349 template <
class _Ty,
class _T2>
struct _Real_widened
351 typedef long double _Type;
354 template <>
struct _Real_widened<float, float>
359 template <>
struct _Real_widened<float, double>
361 typedef double _Type;
364 template <>
struct _Real_widened<double, float>
366 typedef double _Type;
369 template <>
struct _Real_widened<double, double>
371 typedef double _Type;
374 template <
class _Ty>
struct _Real_type
376 typedef double _Type;
379 template <>
struct _Real_type<float>
384 template <>
struct _Real_type<long double>
386 typedef long double _Type;
389 template <
class _T1,
class _T2>
392 typedef typename _Combined_type<float,
393 typename _Real_widened<
396 return _fpcomp((_Tw)_X, (_Tw)_Y);
423 template <
class _Ty1,
class _Ty2>
426 return (_fpcomp(_X, _Y) &
_FP_GT) != 0;
429 template <
class _Ty1,
class _Ty2>
435 template <
class _Ty1,
class _Ty2>
438 return (_fpcomp(_X, _Y) &
_FP_LT) != 0;
441 template <
class _Ty1,
class _Ty2>
447 template <
class _Ty1,
class _Ty2>
453 template <
class _Ty1,
class _Ty2>
456 return _fpcomp(_X, _Y) == 0;
459 #endif // __cplusplus
463 #if _CRT_FUNCTIONS_REQUIRED
599 #elif defined _M_ARM || defined _M_ARM64 || _M_HYBRID_X86_ARM64
608 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET
623 return (
float)
acos(_X);
628 return (
float)
asin(_X);
633 return (
float)
atan2(_Y, _X);
638 return (
float)
atan(_X);
643 return (
float)
ceil(_X);
648 return (
float)
cos(_X);
653 return (
float)
cosh(_X);
658 return (
float)
exp(_X);
663 #if defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64
671 return (
float)
fabs(_X);
676 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64
685 return (
float)
floor(_X);
690 return (
float)
fmod(_X, _Y);
697 return (
float)
frexp(_X, _Y);
707 return (
float)
ldexp(_X, _Y);
710 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET
726 return (
float)
log10(_X);
731 return (
float)
log(_X);
744 return (
float)
pow(_X, _Y);
749 return (
float)
sin(_X);
754 return (
float)
sinh(_X);
759 return (
float)
sqrt(_X);
764 return (
float)
tan(_X);
769 return (
float)
tanh(_X);
778 return acos((
double)_X);
785 return asin((
double)_X);
790 return atan2((
double)_Y, (
double)_X);
797 return atan((
double)_X);
804 return ceil((
double)_X);
816 return _copysign((
double)_Number, (
double)_Sign);
821 return cosh((
double)_X);
826 return cos((
double)_X);
834 return exp((
double)_X);
842 return fabs((
double)_X);
849 return floor((
double)_X);
858 return fmod((
double)_X, (
double)_Y);
863 return frexp((
double)_X, _Y);
870 return _hypot((
double)_X, (
double)_Y);
875 return _hypot((
double)_X, (
double)_Y);
880 return ldexp((
double)_X, _Y);
889 return log((
double)_X);
894 return log10((
double)_X);
906 _F =
modf((
double)_X, &_I);
918 return pow((
double)_X, (
double)_Y);
930 return sinh((
double)_X);
935 return sin((
double)_X);
940 return sqrt((
double)_X);
945 return tanh((
double)_X);
950 return tan((
double)_X);
957 #define _matherrl _matherr
960 #endif // _CRT_FUNCTIONS_REQUIRED
962 #if _CRT_INTERNAL_NONSTDC_NAMES
964 #define DOMAIN _DOMAIN
966 #define OVERFLOW _OVERFLOW
967 #define UNDERFLOW _UNDERFLOW
971 #define matherr _matherr
977 double const HUGE =
_HUGE;
986 #endif // !__assembler
988 #endif // _CRT_INTERNAL_NONSTDC_NAMES
_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
_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)
_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 _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
_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
_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)
_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
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)