remainder(3) Library Functions Manual remainder(3) drem, dremf, dreml, remainder, remainderf, remainderl - (libm -lm) #include double remainder(double x, double y); float remainderf(float x, float y); long double remainderl(long double x, long double y); /* Obsolete synonyms */ [[deprecated]] double drem(double x, double y); [[deprecated]] float dremf(float x, float y); [[deprecated]] long double dreml(long double x, long double y); glibc ( feature_test_macros(7)): remainder(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500 || /* glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE remainderf(), remainderl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE drem(), dremf(), dreml(): /* glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE x y. x-n*y n x / y . x-n*y 0.5 n . ( fenv(3)). drem() . x-n*y. 0 x. x y NaN NaN. x y NaN NaN. y x NaN NaN. math_error(7) . : : x y NaN errno EDOM ( BUGS). (FE_INVALID). errno . : y errno EDOM. (FE_INVALID). attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |drem(), | | MT-Safe | |dremf(), | | | |dreml(), | | | |remainder(),| | | |remainderf(),| | | |remainderl()| | | +------------+------------------------------------+--------------------+ remainder() remainderf() remainderl() C11, POSIX.1-2008. drem() dremf() dreml() . remainder() remainderf() remainderl() C99 POSIX.1-2001. drem() 4.3BSD. dremf() dreml() Tru64 glibc2. 2.15 glibc remainder(nan(""), 0); NaN . 2.15 glibc NaN ( ). 2.15 glibc errno EDOM x y NaN. "remainder(29.0, 3.0)" -1. div(3), fmod(3), remquo(3) 3 . . : . 6.18 8 2026 remainder(3)