cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float remquof (float x, float y, /*@out@*/ int *quo); extern double remquo (double x, double y, /*@out@*/ int *quo); extern long double remquol (long double x, long double y, /*@out@*/ int *quo); extern __float80 remquow (__float80 x, __float80 y, /*@out@*/ int *quo); extern __float128 remquoq (__float128 x, __float128 y, /*@out@*/ int *quo); extern long_long_double remquoll (long_long_double x, long_long_double y, /*@out@*/ int *quo); extern decimal_float remquodf (decimal_float x, decimal_float y, /*@out@*/ int *quo); extern decimal_double remquod (decimal_double x, decimal_double y, /*@out@*/ int *quo); extern decimal_long_double remquodl (decimal_long_double x, decimal_long_double y, /*@out@*/ int *quo); extern decimal_long_long_double remquodll (decimal_long_long_double x, decimal_long_long_double y, /*@out@*/ int *quo);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
Unlike fmod(x,y), the sign of remquo(x,y,&quo) may differ from that of x.
If the third argument is not NULL, store in the object to which it points a value whose sign of is that of x / y and whose magnitude is congruent modulo 2**k, where k is an implementation-defined integer greater than or equal to three. That value corresponds to the low-order bits of n, which can be a value much too large to represent as a value of integer type. For example, in trigonometric argument reduction, knowing the three low-order bits of n allows determination of the octant in which the angle lies.
Caution: When the quotient x / y is of large magnitude, the computation can take a relatively long time the (many thousands of floating-point instructions).