diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec index fcfc8b430ee..2809b66c787 100644 --- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec +++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec @@ -316,12 +316,12 @@ @ cdecl round(double) ucrtbase.round @ cdecl roundf(float) ucrtbase.roundf @ cdecl roundl(double) ucrtbase.roundl -@ stub scalbln -@ stub scalblnf -@ stub scalblnl -@ stub scalbn -@ stub scalbnf -@ stub scalbnl +@ cdecl scalbln(double long) ucrtbase.scalbln +@ cdecl scalblnf(float long) ucrtbase.scalblnf +@ cdecl scalblnl(double long) ucrtbase.scalblnl +@ cdecl scalbn(double long) ucrtbase.scalbn +@ cdecl scalbnf(float long) ucrtbase.scalbnf +@ cdecl scalbnl(double long) ucrtbase.scalbnl @ cdecl sin(double) ucrtbase.sin @ cdecl -arch=arm,x86_64 sinf(float) ucrtbase.sinf @ cdecl sinh(double) ucrtbase.sinh diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index dc0c266fdf9..58d04e135c8 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -2339,12 +2339,12 @@ @ cdecl round(double) MSVCR120_round @ cdecl roundf(float) MSVCR120_roundf @ cdecl roundl(double) MSVCR120_roundl -@ stub scalbln -@ stub scalblnf -@ stub scalblnl -@ stub scalbn -@ stub scalbnf -@ stub scalbnl +@ cdecl scalbln(double long) MSVCRT__scalb +@ cdecl scalblnf(float long) MSVCRT__scalbf +@ cdecl scalblnl(double long) MSVCR120_scalbnl +@ cdecl scalbn(double long) MSVCRT__scalb +@ cdecl scalbnf(float long) MSVCRT__scalbf +@ cdecl scalbnl(double long) MSVCR120_scalbnl @ varargs scanf(str) MSVCRT_scanf @ varargs scanf_s(str) MSVCRT_scanf_s @ cdecl setbuf(ptr ptr) MSVCRT_setbuf diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index c7810cda2bd..7f195e4cb5a 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -2002,12 +2002,12 @@ @ cdecl round(double) msvcr120.round @ cdecl roundf(float) msvcr120.roundf @ cdecl roundl(double) msvcr120.roundl -@ stub scalbln -@ stub scalblnf -@ stub scalblnl -@ stub scalbn -@ stub scalbnf -@ stub scalbnl +@ cdecl scalbln(double long) msvcr120.scalbln +@ cdecl scalblnf(float long) msvcr120.scalblnf +@ cdecl scalblnl(double long) msvcr120.scalblnl +@ cdecl scalbn(double long) msvcr120.scalbn +@ cdecl scalbnf(float long) msvcr120.scalbnf +@ cdecl scalbnl(double long) msvcr120.scalbnl @ varargs scanf(str) msvcr120.scanf @ varargs scanf_s(str) msvcr120.scanf_s @ cdecl setbuf(ptr ptr) msvcr120.setbuf diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 4150cfc9990..bd0b92bf10f 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -330,15 +330,6 @@ float CDECL MSVCRT_frexpf( float x, int *exp ) return frexpf( x, exp ); } -/********************************************************************* - * _scalbf (MSVCRT.@) - */ -float CDECL MSVCRT__scalbf(float num, MSVCRT_long power) -{ - if (!finitef(num)) *MSVCRT__errno() = MSVCRT_EDOM; - return ldexpf(num, power); -} - /********************************************************************* * modff (MSVCRT.@) */ @@ -817,15 +808,6 @@ double CDECL MSVCRT__logb(double num) return logb(num); } -/********************************************************************* - * _scalb (MSVCRT.@) - */ -double CDECL MSVCRT__scalb(double num, MSVCRT_long power) -{ - if (!isfinite(num)) *MSVCRT__errno() = MSVCRT_EDOM; - return ldexp(num, power); -} - /********************************************************************* * _hypot (MSVCRT.@) */ @@ -2777,3 +2759,34 @@ LDOUBLE CDECL MSVCR120_asinhl(LDOUBLE x) { return MSVCR120_asinh(x); } + +/********************************************************************* + * _scalb (MSVCRT.@) + * scalbn (MSVCR120.@) + * scalbln (MSVCR120.@) + */ +double CDECL MSVCRT__scalb(double num, MSVCRT_long power) +{ + if (!isfinite(num)) *MSVCRT__errno() = MSVCRT_EDOM; + return ldexp(num, power); +} + +/********************************************************************* + * _scalbf (MSVCRT.@) + * scalbnf (MSVCR120.@) + * scalblnf (MSVCR120.@) + */ +float CDECL MSVCRT__scalbf(float num, MSVCRT_long power) +{ + if (!finitef(num)) *MSVCRT__errno() = MSVCRT_EDOM; + return ldexpf(num, power); +} + +/********************************************************************* + * scalbnl (MSVCR120.@) + * scalblnl (MSVCR120.@) + */ +LDOUBLE CDECL MSVCR120_scalbnl(LDOUBLE num, MSVCRT_long power) +{ + return MSVCRT__scalb(num, power); +} diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 16bc133da60..5c86de843d6 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -2473,12 +2473,12 @@ @ cdecl round(double) MSVCR120_round @ cdecl roundf(float) MSVCR120_roundf @ cdecl roundl(double) MSVCR120_roundl -@ stub scalbln -@ stub scalblnf -@ stub scalblnl -@ stub scalbn -@ stub scalbnf -@ stub scalbnl +@ cdecl scalbln(double long) MSVCRT__scalb +@ cdecl scalblnf(float long) MSVCRT__scalbf +@ cdecl scalblnl(double long) MSVCR120_scalbnl +@ cdecl scalbn(double long) MSVCRT__scalb +@ cdecl scalbnf(float long) MSVCRT__scalbf +@ cdecl scalbnl(double long) MSVCR120_scalbnl @ stub set_terminate @ stub set_unexpected @ cdecl setbuf(ptr ptr) MSVCRT_setbuf