15#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
34 #ifndef _COMPLEX_DEFINED
35 #define _COMPLEX_DEFINED
42 #if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined __cplusplus
44 #define complex _complex
55#if defined _M_IX86 && _M_IX86_FP < 2 && !defined _M_FP_FAST
78 extern double const _HUGE;
80 double const _HUGE = System::Double::PositiveInfinity;
85 #define _HUGE_ENUF 1e+300
88#define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))
89#define HUGE_VAL ((double)INFINITY)
90#define HUGE_VALF ((float)INFINITY)
91#define HUGE_VALL ((long double)INFINITY)
92#ifndef _UCRT_NEGATIVE_NAN
95#define NAN (-(float)(INFINITY * 0.0F))
97#define NAN (__builtin_nanf(""))
102#define NAN ((float)(INFINITY * 0.0F))
104#define NAN (-__builtin_nanf(""))
113#define FP_INFINITE _INFCODE
114#define FP_NAN _NANCODE
115#define FP_NORMAL _FINITE
116#define FP_SUBNORMAL _DENORM
120#define FP_ILOGB0 (-0x7fffffff - _C2)
121#define FP_ILOGBNAN 0x7fffffff
124#define MATH_ERREXCEPT 2
125#define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT)
128#define _FE_DIVBYZERO 0x04
129#define _FE_INEXACT 0x20
130#define _FE_INVALID 0x01
131#define _FE_OVERFLOW 0x08
132#define _FE_UNDERFLOW 0x10
158#define _DFRAC ((unsigned short)((1 << _DOFF) - 1))
159#define _DMASK ((unsigned short)(0x7fff & ~_DFRAC))
160#define _DMAX ((unsigned short)((1 << (15 - _DOFF)) - 1))
161#define _DSIGN ((unsigned short)0x8000)
164#define _FFRAC ((unsigned short)((1 << _FOFF) - 1))
165#define _FMASK ((unsigned short)(0x7fff & ~_FFRAC))
166#define _FMAX ((unsigned short)((1 << (15 - _FOFF)) - 1))
167#define _FSIGN ((unsigned short)0x8000)
170#define _LFRAC ((unsigned short)(-1))
171#define _LMASK ((unsigned short)0x7fff)
172#define _LMAX ((unsigned short)0x7fff)
173#define _LSIGN ((unsigned short)0x8000)
175#define _DHUGE_EXP (int)(_DMAX * 900L / 1000)
176#define _FHUGE_EXP (int)(_FMAX * 900L / 1000)
177#define _LHUGE_EXP (int)(_LMAX * 900L / 1000)
179#define _DSIGN_C(_Val) (((_double_val *)(char*)&(_Val))->_Sh[_D0_C] & _DSIGN)
180#define _FSIGN_C(_Val) (((_float_val *)(char*)&(_Val))->_Sh[_F0_C] & _FSIGN)
181#define _LSIGN_C(_Val) (((_ldouble_val*)(char*)&(_Val))->_Sh[_L0_C] & _LSIGN)
235 unsigned short _Sh[4];
242 unsigned short _Sh[2];
249 unsigned short _Sh[4];
255 unsigned short _Word[4];
279 #define _CLASS_ARG(_Val) __pragma(warning(suppress:6334))(sizeof ((_Val) + (float)0) == sizeof (float) ? 'f' : sizeof ((_Val) + (double)0) == sizeof (double) ? 'd' : 'l')
280 #define _CLASSIFY(_Val, _FFunc, _DFunc, _LDFunc) (_CLASS_ARG(_Val) == 'f' ? _FFunc((float)(_Val)) : _CLASS_ARG(_Val) == 'd' ? _DFunc((double)(_Val)) : _LDFunc((long double)(_Val)))
281 #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)))
283 #define fpclassify(_Val) (_CLASSIFY(_Val, _fdclass, _dclass, _ldclass))
284 #define _FPCOMPARE(_Val1, _Val2) (_CLASSIFY2(_Val1, _Val2, _fdpcomp, _dpcomp, _ldpcomp))
286 #define isfinite(_Val) (fpclassify(_Val) <= 0)
287 #define isinf(_Val) (fpclassify(_Val) == FP_INFINITE)
288 #define isnan(_Val) (fpclassify(_Val) == FP_NAN)
289 #define isnormal(_Val) (fpclassify(_Val) == FP_NORMAL)
290 #define signbit(_Val) (_CLASSIFY(_Val, _fdsign, _dsign, _ldsign))
292 #define isgreater(x, y) ((_FPCOMPARE(x, y) & _FP_GT) != 0)
293 #define isgreaterequal(x, y) ((_FPCOMPARE(x, y) & (_FP_EQ | _FP_GT)) != 0)
294 #define isless(x, y) ((_FPCOMPARE(x, y) & _FP_LT) != 0)
295 #define islessequal(x, y) ((_FPCOMPARE(x, y) & (_FP_LT | _FP_EQ)) != 0)
296 #define islessgreater(x, y) ((_FPCOMPARE(x, y) & (_FP_LT | _FP_GT)) != 0)
297 #define isunordered(x, y) (_FPCOMPARE(x, y) == 0)
347 template <
class _Trc,
class _Tre>
struct _Combined_type
354 typedef double _Type;
359 typedef long double _Type;
362 template <
class _Ty,
class _T2>
struct _Real_widened
364 typedef long double _Type;
367 template <>
struct _Real_widened<
float,
float>
374 typedef double _Type;
379 typedef double _Type;
384 typedef double _Type;
387 template <
class _Ty>
struct _Real_type
389 typedef double _Type;
392 template <>
struct _Real_type<
float>
399 typedef long double _Type;
402 template <
class _T1,
class _T2>
405 typedef typename _Combined_type<
float,
406 typename _Real_widened<
407 typename _Real_type<_T1>::_Type,
408 typename _Real_type<_T2>::_Type>::_Type>::_Type _Tw;
409 return _fpcomp((_Tw)
_X, (_Tw)_Y);
436 template <
class _Ty1,
class _Ty2>
439 return (_fpcomp(
_X, _Y) &
_FP_GT) != 0;
442 template <
class _Ty1,
class _Ty2>
448 template <
class _Ty1,
class _Ty2>
451 return (_fpcomp(
_X, _Y) &
_FP_LT) != 0;
454 template <
class _Ty1,
class _Ty2>
460 template <
class _Ty1,
class _Ty2>
466 template <
class _Ty1,
class _Ty2>
469 return _fpcomp(
_X, _Y) == 0;
476#if _CRT_FUNCTIONS_REQUIRED
612 #elif defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64
621 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET || defined _M_ARM64EC
661 return (
float)
cos(
_X);
671 return (
float)
exp(
_X);
676 #if defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _M_ARM64EC
689 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _M_ARM64EC
703 return (
float)
fmod(
_X, _Y);
723 #if defined _M_X64 || defined _M_ARM || defined _M_ARM64 || defined _M_HYBRID_X86_ARM64 || defined _CORECRT_BUILD_APISET || defined _M_ARM64EC
744 return (
float)
log(
_X);
757 return (
float)
pow(
_X, _Y);
762 return (
float)
sin(
_X);
777 return (
float)
tan(
_X);
803 return atan2((
double)_Y, (
double)
_X);
829 return _copysign((
double)_Number, (
double)_Sign);
839 return cos((
double)
_X);
847 return exp((
double)
_X);
871 return fmod((
double)
_X, (
double)_Y);
883 return _hypot((
double)
_X, (
double)_Y);
888 return _hypot((
double)
_X, (
double)_Y);
902 return log((
double)
_X);
931 return pow((
double)
_X, (
double)_Y);
948 return sin((
double)
_X);
963 return tan((
double)
_X);
970 #define _matherrl _matherr
975#if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES
977 #define DOMAIN _DOMAIN
979 #define OVERFLOW _OVERFLOW
980 #define UNDERFLOW _UNDERFLOW
984 #define matherr _matherr
_STLP_DECLSPEC complex< float > _STLP_CALL sinh(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL cos(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL tan(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL cosh(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL sqrt(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL tanh(const complex< float > &)
int FN_PROTOTYPE() _finitef(float x)
valarray< _Tp > acos(const valarray< _Tp > &__x)
valarray< _Tp > atan(const valarray< _Tp > &__x)
valarray< _Tp > asin(const valarray< _Tp > &__x)
valarray< _Tp > atan2(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
const _float_const _FInf_C
_Check_return_ _ACRTIMP short __cdecl _dclass(_In_ double _X)
_Check_return_ _ACRTIMP short __cdecl _ldexp(_Inout_ long double *_Px, _In_ long double _Y, _In_ long _Eoff)
const _float_const _Nan_C
const _float_const _LInf_C
_Check_return_ _ACRTIMP short __cdecl _dtest(_In_ double *_Px)
const _float_const _Denorm_C
#define isunordered(x, y)
_ACRTIMP short __cdecl _fdunscale(_Out_ short *_Pex, _Inout_ float *_Px)
const _float_const _Snan_C
const _float_const _FDenorm_C
_Check_return_ _ACRTIMP float __cdecl _fdsin(_In_ float _X, _In_ unsigned int _Qoff)
_ACRTIMP short __cdecl _fdscale(_Inout_ float *_Px, _In_ long _Lexp)
_Check_return_ _ACRTIMP int __cdecl _ldsign(_In_ long double _X)
_Check_return_ _ACRTIMP double __cdecl _dlog(_In_ double _X, _In_ int _Baseflag)
const _float_const _Hugeval_C
_Check_return_ _ACRTIMP short __cdecl _fdnorm(_Inout_updates_(2) unsigned short *_Ps)
_ACRTIMP short __cdecl _fd_int(_Inout_ float *_Px, _In_ short _Xexp)
_Check_return_ _ACRTIMP double __cdecl _dpoly(_In_ double _X, _In_reads_(_N) double const *_Tab, _In_ int _N)
_ACRTIMP short __cdecl _d_int(_Inout_ double *_Px, _In_ short _Xexp)
const _float_const _Eps_C
const _float_const _LSnan_C
_Check_return_ _ACRTIMP double __cdecl _dsin(_In_ double _X, _In_ unsigned int _Qoff)
#define isgreaterequal(x, y)
#define islessgreater(x, y)
_Check_return_ _ACRTIMP float __cdecl _fdpoly(_In_ float _X, _In_reads_(_N) float const *_Tab, _In_ int _N)
const _float_const _LRteps_C
const _float_const _LEps_C
const _float_const _FSnan_C
void __cdecl _fperrraise(_In_ int _Except)
_Check_return_ _ACRTIMP int __cdecl _fdsign(_In_ float _X)
const _float_const _FRteps_C
_ACRTIMP short __cdecl _ld_int(_Inout_ long double *_Px, _In_ short _Xexp)
_Check_return_ _ACRTIMP int __cdecl _dpcomp(_In_ double _X, _In_ double _Y)
const _float_const _LDenorm_C
const _float_const _FNan_C
const _float_const _FEps_C
_Check_return_ _ACRTIMP int __cdecl _ldpcomp(_In_ long double _X, _In_ long double _Y)
_ACRTIMP short __cdecl _dunscale(_Out_ short *_Pex, _Inout_ double *_Px)
_Check_return_ _ACRTIMP short __cdecl _fdclass(_In_ float _X)
_Check_return_ _ACRTIMP short __cdecl _fdexp(_Inout_ float *_Px, _In_ float _Y, _In_ long _Eoff)
const _float_const _LNan_C
_ACRTIMP short __cdecl _dscale(_Inout_ double *_Px, _In_ long _Lexp)
_Check_return_ _ACRTIMP int __cdecl _fdpcomp(_In_ float _X, _In_ float _Y)
#define islessequal(x, y)
_Check_return_ _ACRTIMP short __cdecl _ldtest(_In_ long double *_Px)
const _float_const _Inf_C
_Check_return_ _ACRTIMP short __cdecl _ldclass(_In_ long double _X)
_Check_return_ _ACRTIMP short __cdecl _dnorm(_Inout_updates_(4) unsigned short *_Ps)
_Check_return_ _ACRTIMP short __cdecl _fdtest(_In_ float *_Px)
_Check_return_ _ACRTIMP long double __cdecl _ldpoly(_In_ long double _X, _In_reads_(_N) long double const *_Tab, _In_ int _N)
_Check_return_ _ACRTIMP long double __cdecl _ldsin(_In_ long double _X, _In_ unsigned int _Qoff)
const long double _LXbig_C
_Check_return_ _ACRTIMP long double __cdecl _ldlog(_In_ long double _X, _In_ int _Baseflag)
const long double _LZero_C
_Check_return_ _ACRTIMP int __cdecl _dsign(_In_ double _X)
_Check_return_ _ACRTIMP float __cdecl _fdlog(_In_ float _X, _In_ int _Baseflag)
_ACRTIMP short __cdecl _ldunscale(_Out_ short *_Pex, _Inout_ long double *_Px)
const _float_const _Rteps_C
_ACRTIMP short __cdecl _ldscale(_Inout_ long double *_Px, _In_ long _Lexp)
_Check_return_ _ACRTIMP short __cdecl _dexp(_Inout_ double *_Px, _In_ double _Y, _In_ long _Eoff)
float fmaf(float x, float y, float z)
double fma(double x, double y, double z)
int __cdecl _set_FMA3_enable(int flag)
double pow(double x, double y)
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _chgsign(_In_ double)
_Check_return_ __MINGW_NOTHROW _CRTIMP double __cdecl _copysign(_In_ double, _In_ double)
_Check_return_ __CRT_INLINE long lround(_In_ double x)
_Check_return_ __CRT_INLINE float rintf(_In_ float x)
_Check_return_ float __cdecl acosf(_In_ float x)
_Check_return_ __CRT_INLINE float __CRTDECL fabsf(_In_ float x)
_Check_return_ __CRT_INLINE long double coshl(_In_ long double x)
_Check_return_ float __cdecl atanf(_In_ float x)
_Check_return_ __CRT_INLINE long lroundl(_In_ long double x)
_Check_return_ __CRT_INLINE long double roundl(_In_ long double x)
_Check_return_ __CRT_INLINE long double sinhl(_In_ long double x)
_Check_return_ long long __cdecl llabs(_In_ long long x)
_Check_return_ __CRT_INLINE long double atan2l(_In_ long double y, _In_ long double x)
_Check_return_ _CRTIMP double __cdecl _j0(_In_ double x)
_Check_return_ __CRT_INLINE long long llround(_In_ double x)
_Check_return_ _CRTIMP double __cdecl frexp(_In_ double x, _Out_ int *y)
_Check_return_ long __cdecl labs(_In_ long x)
_Check_return_ float __cdecl powf(_In_ float b, _In_ float e)
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
_Check_return_ float __cdecl logf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl ldexp(_In_ double x, _In_ int y)
_Check_return_ float __cdecl expf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl modf(_In_ double x, _Out_ double *y)
_Check_return_ float __cdecl modff(_In_ float x, _Out_ float *y)
_Check_return_ __CRT_INLINE long double cosl(_In_ long double x)
_Check_return_ __CRT_INLINE long double ceill(_In_ long double x)
_Check_return_ __CRT_INLINE long double frexpl(_In_ long double x, _Out_ int *y)
_Check_return_ __CRT_INLINE long double log10l(_In_ long double x)
_Check_return_ __CRT_INLINE long double _hypotl(_In_ long double x, _In_ long double y)
_Check_return_ float __cdecl cosf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl _j1(_In_ double x)
_Check_return_ _CRTIMP double __cdecl _atof_l(_In_z_ const char *str, _In_opt_ _locale_t locale)
_Check_return_ __CRT_INLINE long double fabsl(_In_ long double x)
_Check_return_ __CRT_INLINE float roundf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl _hypot(_In_ double x, _In_ double y)
_Check_return_ _CRTIMP double __cdecl _cabs(_In_ struct _complex a)
_Check_return_ double __cdecl fmod(_In_ double x, _In_ double y)
_Check_return_ __CRT_INLINE long lrintl(_In_ long double x)
_Check_return_ __CRT_INLINE float __CRTDECL ldexpf(_In_ float x, _In_ int y)
_Check_return_ __CRT_INLINE long double _chgsignl(_In_ long double number)
_Check_return_ float __cdecl log10f(_In_ float x)
_Check_return_ __CRT_INLINE long double acosl(_In_ long double x)
int __CRTDECL _matherr(_Inout_ struct _exception *exception)
_Check_return_ __CRT_INLINE long double __CRTDECL tanl(_In_ long double x)
_Check_return_ float __cdecl _chgsignf(_In_ float x)
_Check_return_ __CRT_INLINE double hypot(_In_ double x, _In_ double y)
_Check_return_ float __cdecl tanhf(_In_ float x)
_Check_return_ __CRT_INLINE long long llroundl(_In_ long double x)
_Check_return_ __CRT_INLINE long double _copysignl(_In_ long double number, _In_ long double sign)
_Check_return_ _CRTIMP double __cdecl _y0(_In_ double x)
_Check_return_ __CRT_INLINE long double expl(_In_ long double x)
_Check_return_ __CRT_INLINE long double rintl(_In_ long double x)
_Check_return_ _CRTIMP double __cdecl _yn(_In_ int x, _In_ double y)
_Check_return_ __CRT_INLINE long double sqrtl(_In_ long double x)
_Check_return_ __CRT_INLINE float frexpf(_In_ float x, _Out_ int *y)
_Check_return_ __CRT_INLINE long double ldexpl(_In_ long double x, _In_ int y)
_Check_return_ __CRT_INLINE long long llrint(_In_ double x)
_Check_return_ __CRT_INLINE long double tanhl(_In_ long double x)
_Check_return_ float __cdecl coshf(_In_ float x)
_Check_return_ __CRT_INLINE long long llrintl(_In_ long double x)
_Check_return_ float __cdecl tanf(_In_ float x)
_Check_return_ __CRT_INLINE long double atanl(_In_ long double x)
_Check_return_ __CRT_INLINE long lroundf(_In_ float x)
_Check_return_ float __cdecl fmodf(_In_ float x, _In_ float y)
_Check_return_ __CRT_INLINE long long llroundf(_In_ float x)
_Check_return_ float __cdecl _hypotf(_In_ float x, _In_ float y)
_Check_return_ __CRT_INLINE double rint(_In_ double x)
_Check_return_ float __cdecl _copysignf(_In_ float x, _In_ float y)
_Check_return_ _CRTIMP double __cdecl _y1(_In_ double x)
_Check_return_ __CRT_INLINE long double logl(_In_ long double x)
_Check_return_ float __cdecl sinhf(_In_ float x)
_Check_return_ __CRT_INLINE long double sinl(_In_ long double x)
_Check_return_ float __cdecl asinf(_In_ float x)
_Check_return_ __CRT_INLINE float hypotf(_In_ float x, _In_ float y)
_Check_return_ __CRT_INLINE long double hypotl(_In_ long double x, _In_ long double y)
_Check_return_ _CRTIMP double __cdecl _jn(_In_ int x, _In_ double y)
_Check_return_ float __cdecl atan2f(_In_ float x, _In_ float y)
_Check_return_ _CRTIMP double __cdecl floor(_In_ double x)
_Check_return_ __CRT_INLINE long double asinl(_In_ long double x)
_Check_return_ __CRT_INLINE long long llrintf(_In_ float x)
_Check_return_ _CRTIMP double __cdecl ceil(_In_ double x)
_Check_return_ float __cdecl sinf(_In_ float x)
long double __cdecl truncl(long double)
int __cdecl ilogbf(float)
float __cdecl copysignf(float, float)
long double __cdecl erfcl(long double)
long double __cdecl asinhl(long double)
long double __cdecl exp2l(long double)
float __cdecl erfcf(float)
long double __cdecl atanhl(long double)
float __cdecl nexttowardf(float, long double)
long double __cdecl scalblnl(long double, long)
float __cdecl expm1f(float)
double __cdecl log1p(double)
float __cdecl nextafterf(float, float)
int __cdecl ilogb(double)
float __cdecl acoshf(float)
float __cdecl exp2f(float)
long double __cdecl cbrtl(long double)
float __cdecl cbrtf(float)
long double __cdecl fmaxl(long double, long double)
double __cdecl remquo(double, double, int *)
double __cdecl erf(double)
long double __cdecl fdiml(long double x, long double y)
long double __cdecl nearbyintl(long double)
long double __cdecl remainderl(long double, long double)
double __cdecl scalbln(double, long)
double __cdecl nan(const char *tagp)
float __cdecl atanhf(float)
long double __cdecl acoshl(long double)
long double __cdecl copysignl(long double, long double)
double __cdecl logb(double)
long double __cdecl nextafterl(long double, long double)
double __cdecl lgamma(double)
long double __cdecl lgammal(long double)
long double __cdecl remquol(long double, long double, int *)
float __cdecl remquof(float, float, int *)
double __cdecl erfc(double)
int __cdecl ilogbl(long double)
float __cdecl asinhf(float)
long double __cdecl expm1l(long double)
float __cdecl remainderf(float, float)
float __cdecl truncf(float)
double __cdecl remainder(double, double)
double __cdecl cbrt(double)
float __cdecl nearbyintf(float)
double __cdecl trunc(double)
float __cdecl nanf(const char *tagp)
float __cdecl scalblnf(float, long)
float __cdecl tgammaf(float)
double __cdecl scalbn(double, int)
long double __cdecl nexttowardl(long double, long double)
float __cdecl fdimf(float x, float y)
long double __cdecl nanl(const char *tagp)
double __cdecl nearbyint(double)
long double __cdecl logbl(long double)
long double __cdecl erfl(long double)
long double __cdecl log1pl(long double)
float __cdecl fminf(float, float)
long double __cdecl tgammal(long double)
double __cdecl nexttoward(double, long double)
double __cdecl copysign(double, double)
long double __cdecl fminl(long double, long double)
double __cdecl expm1(double)
float __cdecl logbf(float)
long double __cdecl fmal(long double, long double, long double)
double __cdecl exp2(double)
double __cdecl fmin(double, double)
long double __cdecl scalbnl(long double, int)
float __cdecl log1pf(float)
float __cdecl erff(float)
float __cdecl fmaxf(float, float)
float __cdecl scalbnf(float, int)
double __cdecl nextafter(double, double)
long double __cdecl log2l(long double)
double __cdecl tgamma(double)
double __cdecl fdim(double x, double y)
float __cdecl lgammaf(float)
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static float(__cdecl *square_half_float)(float x
#define _Inout_updates_(s)
_In_ size_t _In_z_ _Printf_format_string_ const char _In_ const struct tm _In_opt_ _locale_t _Locale
#define _CRT_NONSTDC_DEPRECATE(_NewName)
#define _UCRT_DISABLE_CLANG_WARNINGS
#define _UCRT_RESTORE_CLANG_WARNINGS
#define _CRT_JIT_INTRINSIC
#define _CRT_END_C_HEADER
#define _CRT_BEGIN_C_HEADER
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1