msvcrt: Implement the fdim functions.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Martin Storsjo 2019-07-31 00:08:52 +03:00 committed by Alexandre Julliard
parent 62f2cd1b47
commit 83a95b8fcf
5 changed files with 36 additions and 12 deletions

View File

@ -236,9 +236,9 @@
@ cdecl expm1l(double) ucrtbase.expm1l
@ cdecl fabs(double) ucrtbase.fabs
@ cdecl -arch=arm,arm64 fabsf(float) ucrtbase.fabsf
@ stub fdim
@ stub fdimf
@ stub fdiml
@ cdecl fdim(double double) ucrtbase.fdim
@ cdecl fdimf(float float) ucrtbase.fdimf
@ cdecl fdiml(double double) ucrtbase.fdiml
@ cdecl floor(double) ucrtbase.floor
@ cdecl -arch=arm,x86_64,arm64 floorf(float) ucrtbase.floorf
@ cdecl fma(double double double) ucrtbase.fma

View File

@ -2140,9 +2140,9 @@
@ cdecl fabs(double) MSVCRT_fabs
@ cdecl -arch=arm,x86_64,arm64 fabsf(float) MSVCRT_fabsf
@ cdecl fclose(ptr) MSVCRT_fclose
@ stub fdim
@ stub fdimf
@ stub fdiml
@ cdecl fdim(double double) MSVCR120_fdim
@ cdecl fdimf(float float) MSVCR120_fdimf
@ cdecl fdiml(double double) MSVCR120_fdim
@ stub feclearexcept
@ cdecl fegetenv(ptr) MSVCRT_fegetenv
@ stub fegetexceptflag

View File

@ -1806,9 +1806,9 @@
@ cdecl fabs(double) msvcr120.fabs
@ cdecl -arch=arm,x86_64,arm64 fabsf(float) msvcr120.fabsf
@ cdecl fclose(ptr) msvcr120.fclose
@ stub fdim
@ stub fdimf
@ stub fdiml
@ cdecl fdim(double double) msvcr120.fdim
@ cdecl fdimf(float float) msvcr120.fdimf
@ cdecl fdiml(double double) msvcr120.fdiml
@ stub feclearexcept
@ cdecl fegetenv(ptr) msvcr120.fegetenv
@ stub fegetexceptflag

View File

@ -3023,6 +3023,30 @@ double CDECL MSVCR120_fmax(double x, double y)
return x<y ? y : x;
}
/*********************************************************************
* fdimf (MSVCR120.@)
*/
float CDECL MSVCR120_fdimf(float x, float y)
{
if(isnan(x))
return x;
if(isnan(y))
return y;
return x>y ? x-y : 0;
}
/*********************************************************************
* fdim (MSVCR120.@)
*/
double CDECL MSVCR120_fdim(double x, double y)
{
if(isnan(x))
return x;
if(isnan(y))
return y;
return x>y ? x-y : 0;
}
/*********************************************************************
* _fdsign (MSVCR120.@)
*/

View File

@ -2283,9 +2283,9 @@
@ cdecl fabs(double) MSVCRT_fabs
@ cdecl -arch=arm,arm64 fabsf(float) MSVCRT_fabsf
@ cdecl fclose(ptr) MSVCRT_fclose
@ stub fdim
@ stub fdimf
@ stub fdiml
@ cdecl fdim(double double) MSVCR120_fdim
@ cdecl fdimf(float float) MSVCR120_fdimf
@ cdecl fdiml(double double) MSVCR120_fdim
@ stub feclearexcept
@ cdecl fegetenv(ptr) MSVCRT_fegetenv
@ stub fegetexceptflag