Commit de8be4a0 authored by Martin Storsjo's avatar Martin Storsjo Committed by Alexandre Julliard

msvcrt: Implement the remquo family of functions.

parent f20be3b0
......@@ -19163,6 +19163,8 @@ for ac_func in \
powl \
remainder \
remainderf \
remquo \
remquof \
rint \
rintf \
round \
......
......@@ -2724,6 +2724,8 @@ AC_CHECK_FUNCS(\
powl \
remainder \
remainderf \
remquo \
remquof \
rint \
rintf \
round \
......
......@@ -308,9 +308,9 @@
@ cdecl remainder(double double) ucrtbase.remainder
@ cdecl remainderf(float float) ucrtbase.remainderf
@ cdecl remainderl(double double) ucrtbase.remainderl
@ stub remquo
@ stub remquof
@ stub remquol
@ cdecl remquo(double double ptr) ucrtbase.remquo
@ cdecl remquof(float float ptr) ucrtbase.remquof
@ cdecl remquol(double double ptr) ucrtbase.remquol
@ cdecl rint(double) ucrtbase.rint
@ cdecl rintf(float) ucrtbase.rintf
@ cdecl rintl(double) ucrtbase.rintl
......
......@@ -2328,9 +2328,9 @@
@ cdecl remainderf(float float) MSVCR120_remainderf
@ cdecl remainderl(double double) MSVCR120_remainderl
@ cdecl remove(str) MSVCRT_remove
@ stub remquo
@ stub remquof
@ stub remquol
@ cdecl remquo(double double ptr) MSVCR120_remquo
@ cdecl remquof(float float ptr) MSVCR120_remquof
@ cdecl remquol(double double ptr) MSVCR120_remquol
@ cdecl rename(str str) MSVCRT_rename
@ cdecl rewind(ptr) MSVCRT_rewind
@ cdecl rint(double) MSVCR120_rint
......
......@@ -1991,9 +1991,9 @@
@ cdecl remainderf(float float) msvcr120.remainderf
@ cdecl remainderl(double double) msvcr120.remainderl
@ cdecl remove(str) msvcr120.remove
@ stub remquo
@ stub remquof
@ stub remquol
@ cdecl remquo(double double ptr) msvcr120.remquo
@ cdecl remquof(float float ptr) msvcr120.remquof
@ cdecl remquol(double double ptr) msvcr120.remquol
@ cdecl rename(str str) msvcr120.rename
@ cdecl rewind(ptr) msvcr120.rewind
@ cdecl rint(double) msvcr120.rint
......
......@@ -3273,6 +3273,44 @@ LDOUBLE CDECL MSVCR120_remainderl(LDOUBLE x, LDOUBLE 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.@)
*/
double CDECL MSVCR120_lgamma(double x)
......
......@@ -2463,9 +2463,9 @@
@ cdecl remainderf(float float) MSVCR120_remainderf
@ cdecl remainderl(double double) MSVCR120_remainderl
@ cdecl remove(str) MSVCRT_remove
@ stub remquo
@ stub remquof
@ stub remquol
@ cdecl remquo(double double ptr) MSVCR120_remquo
@ cdecl remquof(float float ptr) MSVCR120_remquof
@ cdecl remquol(double double ptr) MSVCR120_remquol
@ cdecl rename(str str) MSVCRT_rename
@ cdecl rewind(ptr) MSVCRT_rewind
@ cdecl rint(double) MSVCR120_rint
......
......@@ -744,6 +744,12 @@
/* Define to 1 if you have the `remainderf' function. */
#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'. */
#undef HAVE_REQUEST_SENSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment