msvcrt: Implement the remquo family of 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:
parent
f20be3b00c
commit
de8be4a09c
|
@ -19163,6 +19163,8 @@ for ac_func in \
|
||||||
powl \
|
powl \
|
||||||
remainder \
|
remainder \
|
||||||
remainderf \
|
remainderf \
|
||||||
|
remquo \
|
||||||
|
remquof \
|
||||||
rint \
|
rint \
|
||||||
rintf \
|
rintf \
|
||||||
round \
|
round \
|
||||||
|
|
|
@ -2724,6 +2724,8 @@ AC_CHECK_FUNCS(\
|
||||||
powl \
|
powl \
|
||||||
remainder \
|
remainder \
|
||||||
remainderf \
|
remainderf \
|
||||||
|
remquo \
|
||||||
|
remquof \
|
||||||
rint \
|
rint \
|
||||||
rintf \
|
rintf \
|
||||||
round \
|
round \
|
||||||
|
|
|
@ -308,9 +308,9 @@
|
||||||
@ cdecl remainder(double double) ucrtbase.remainder
|
@ cdecl remainder(double double) ucrtbase.remainder
|
||||||
@ cdecl remainderf(float float) ucrtbase.remainderf
|
@ cdecl remainderf(float float) ucrtbase.remainderf
|
||||||
@ cdecl remainderl(double double) ucrtbase.remainderl
|
@ cdecl remainderl(double double) ucrtbase.remainderl
|
||||||
@ stub remquo
|
@ cdecl remquo(double double ptr) ucrtbase.remquo
|
||||||
@ stub remquof
|
@ cdecl remquof(float float ptr) ucrtbase.remquof
|
||||||
@ stub remquol
|
@ cdecl remquol(double double ptr) ucrtbase.remquol
|
||||||
@ cdecl rint(double) ucrtbase.rint
|
@ cdecl rint(double) ucrtbase.rint
|
||||||
@ cdecl rintf(float) ucrtbase.rintf
|
@ cdecl rintf(float) ucrtbase.rintf
|
||||||
@ cdecl rintl(double) ucrtbase.rintl
|
@ cdecl rintl(double) ucrtbase.rintl
|
||||||
|
|
|
@ -2328,9 +2328,9 @@
|
||||||
@ cdecl remainderf(float float) MSVCR120_remainderf
|
@ cdecl remainderf(float float) MSVCR120_remainderf
|
||||||
@ cdecl remainderl(double double) MSVCR120_remainderl
|
@ cdecl remainderl(double double) MSVCR120_remainderl
|
||||||
@ cdecl remove(str) MSVCRT_remove
|
@ cdecl remove(str) MSVCRT_remove
|
||||||
@ stub remquo
|
@ cdecl remquo(double double ptr) MSVCR120_remquo
|
||||||
@ stub remquof
|
@ cdecl remquof(float float ptr) MSVCR120_remquof
|
||||||
@ stub remquol
|
@ cdecl remquol(double double ptr) MSVCR120_remquol
|
||||||
@ cdecl rename(str str) MSVCRT_rename
|
@ cdecl rename(str str) MSVCRT_rename
|
||||||
@ cdecl rewind(ptr) MSVCRT_rewind
|
@ cdecl rewind(ptr) MSVCRT_rewind
|
||||||
@ cdecl rint(double) MSVCR120_rint
|
@ cdecl rint(double) MSVCR120_rint
|
||||||
|
|
|
@ -1991,9 +1991,9 @@
|
||||||
@ cdecl remainderf(float float) msvcr120.remainderf
|
@ cdecl remainderf(float float) msvcr120.remainderf
|
||||||
@ cdecl remainderl(double double) msvcr120.remainderl
|
@ cdecl remainderl(double double) msvcr120.remainderl
|
||||||
@ cdecl remove(str) msvcr120.remove
|
@ cdecl remove(str) msvcr120.remove
|
||||||
@ stub remquo
|
@ cdecl remquo(double double ptr) msvcr120.remquo
|
||||||
@ stub remquof
|
@ cdecl remquof(float float ptr) msvcr120.remquof
|
||||||
@ stub remquol
|
@ cdecl remquol(double double ptr) msvcr120.remquol
|
||||||
@ cdecl rename(str str) msvcr120.rename
|
@ cdecl rename(str str) msvcr120.rename
|
||||||
@ cdecl rewind(ptr) msvcr120.rewind
|
@ cdecl rewind(ptr) msvcr120.rewind
|
||||||
@ cdecl rint(double) msvcr120.rint
|
@ cdecl rint(double) msvcr120.rint
|
||||||
|
|
|
@ -3272,6 +3272,44 @@ LDOUBLE CDECL MSVCR120_remainderl(LDOUBLE x, LDOUBLE y)
|
||||||
return MSVCR120_remainder(x, y);
|
return MSVCR120_remainder(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* remquo (MSVCR120.@)
|
||||||
|
*/
|
||||||
|
double CDECL MSVCR120_remquo(double x, double y, int *quo)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_REMQUO
|
||||||
|
if(!finite(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||||
|
if(isnan(y) || y==0.0) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||||
|
return remquo(x, y, quo);
|
||||||
|
#else
|
||||||
|
FIXME( "not implemented\n" );
|
||||||
|
return 0.0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* remquof (MSVCR120.@)
|
||||||
|
*/
|
||||||
|
float CDECL MSVCR120_remquof(float x, float y, int *quo)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_REMQUOF
|
||||||
|
if(!finitef(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||||
|
if(isnan(y) || y==0.0f) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||||
|
return remquof(x, y, quo);
|
||||||
|
#else
|
||||||
|
FIXME( "not implemented\n" );
|
||||||
|
return 0.0f;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* remquol (MSVCR120.@)
|
||||||
|
*/
|
||||||
|
LDOUBLE CDECL MSVCR120_remquol(LDOUBLE x, LDOUBLE y, int *quo)
|
||||||
|
{
|
||||||
|
return MSVCR120_remquo(x, y, quo);
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* lgamma (MSVCR120.@)
|
* lgamma (MSVCR120.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2463,9 +2463,9 @@
|
||||||
@ cdecl remainderf(float float) MSVCR120_remainderf
|
@ cdecl remainderf(float float) MSVCR120_remainderf
|
||||||
@ cdecl remainderl(double double) MSVCR120_remainderl
|
@ cdecl remainderl(double double) MSVCR120_remainderl
|
||||||
@ cdecl remove(str) MSVCRT_remove
|
@ cdecl remove(str) MSVCRT_remove
|
||||||
@ stub remquo
|
@ cdecl remquo(double double ptr) MSVCR120_remquo
|
||||||
@ stub remquof
|
@ cdecl remquof(float float ptr) MSVCR120_remquof
|
||||||
@ stub remquol
|
@ cdecl remquol(double double ptr) MSVCR120_remquol
|
||||||
@ cdecl rename(str str) MSVCRT_rename
|
@ cdecl rename(str str) MSVCRT_rename
|
||||||
@ cdecl rewind(ptr) MSVCRT_rewind
|
@ cdecl rewind(ptr) MSVCRT_rewind
|
||||||
@ cdecl rint(double) MSVCR120_rint
|
@ cdecl rint(double) MSVCR120_rint
|
||||||
|
|
|
@ -744,6 +744,12 @@
|
||||||
/* Define to 1 if you have the `remainderf' function. */
|
/* Define to 1 if you have the `remainderf' function. */
|
||||||
#undef HAVE_REMAINDERF
|
#undef HAVE_REMAINDERF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `remquo' function. */
|
||||||
|
#undef HAVE_REMQUO
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `remquof' function. */
|
||||||
|
#undef HAVE_REMQUOF
|
||||||
|
|
||||||
/* Define to 1 if the system has the type `request_sense'. */
|
/* Define to 1 if the system has the type `request_sense'. */
|
||||||
#undef HAVE_REQUEST_SENSE
|
#undef HAVE_REQUEST_SENSE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue