[MSVCRT] msvcrt.spec: Use our own math functions directly

Bypass the wine wrappers, and comment out _fpclass and ldexp in math.c, because our own functions work better.
This commit is contained in:
Timo Kreuzer
2025-08-06 11:26:56 +03:00
parent 15adae7331
commit 4d20df2fd5
2 changed files with 12 additions and 8 deletions

View File

@@ -588,6 +588,7 @@ __ASM_GLOBAL_FUNC(_ftol,
#endif /* (defined(__GNUC__) || defined(__clang__)) && defined(__i386__) */
#ifndef __REACTOS__
/*********************************************************************
* _fpclass (MSVCRT.@)
*/
@@ -609,6 +610,7 @@ int CDECL _fpclass(double num)
return s ? _FPCLASS_NN : _FPCLASS_PN;
}
}
#endif // __REACTOS__
/*********************************************************************
* _rotl (MSVCRT.@)
@@ -1195,6 +1197,7 @@ int * CDECL __fpecode(void)
return &msvcrt_get_thread_data()->fpecode;
}
#ifndef __REACTOS__
/*********************************************************************
* ldexp (MSVCRT.@)
*/
@@ -1208,6 +1211,7 @@ double CDECL ldexp(double num, int exp)
return math_error(_UNDERFLOW, "ldexp", num, exp, z);
return z;
}
#endif // __REACTOS__
/*********************************************************************
* _cabs (MSVCRT.@)

View File

@@ -1257,12 +1257,12 @@
@ cdecl -arch=!i386 acosf(float)
@ cdecl asctime(ptr)
@ cdecl -version=0x600+ asctime_s(ptr long ptr)
@ cdecl asin(double) MSVCRT_asin
@ cdecl asin(double)
@ cdecl -arch=!i386 asinf(float)
@ cdecl atan(double) MSVCRT_atan
@ cdecl atan(double)
@ cdecl atan2(double double)
@ cdecl -arch=!i386 atan2f(float float)
@ cdecl -arch=!i386 atanf(float) MSVCRT_atanf
@ cdecl -arch=!i386 atanf(float)
@ cdecl -private atexit(ptr) MSVCRT_atexit # not imported to avoid conflicts with Mingw
@ cdecl atof(str)
@ cdecl atoi(str)
@@ -1286,7 +1286,7 @@
@ cdecl -arch=win64 difftime(long long) _difftime64
@ cdecl -ret64 div(long long)
@ cdecl exit(long)
@ cdecl exp(double) MSVCRT_exp
@ cdecl exp(double)
@ cdecl -arch=!i386 expf(float)
@ cdecl fabs(double)
@ cdecl -arch=arm,arm64 fabsf(float)
@@ -1425,8 +1425,8 @@
@ cdecl -arch=!i386 sinhf(float)
@ varargs sprintf(ptr str)
@ varargs -version=0x600+ sprintf_s(ptr long str)
@ cdecl sqrt(double) MSVCRT_sqrt
@ cdecl -arch=!i386 sqrtf(float) MSVCRT_sqrtf
@ cdecl sqrt(double)
@ cdecl -arch=!i386 sqrtf(float)
@ cdecl srand(long)
@ varargs sscanf(str str)
@ varargs -version=0x600+ sscanf_s(str str)
@@ -1464,9 +1464,9 @@
@ varargs -version=0x600+ swscanf_s(wstr wstr)
@ cdecl system(str)
@ cdecl tan(double)
@ cdecl tanh(double) MSVCRT_tanh
@ cdecl tanh(double)
@ cdecl -arch=!i386 tanf(float)
@ cdecl -arch=!i386 tanhf(float) MSVCRT_tanhf
@ cdecl -arch=!i386 tanhf(float)
@ cdecl -arch=win32 time(ptr) _time32
@ cdecl -arch=win64 time(ptr) _time64
@ cdecl tmpfile()