Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


remainder(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |ATTRIBUTES |STANDARDS |HISTORY |BUGS |EXAMPLES |SEE ALSO |COLOPHON

remainder(3)             Library Functions Manualremainder(3)

NAME        top

       drem, dremf, dreml, remainder, remainderf, remainderl - floating-       point remainder function

LIBRARY        top

       Math library (libm,-lm)

SYNOPSIS        top

#include <math.h>double remainder(doublex, doubley);float remainderf(floatx, floaty);long double remainderl(long doublex, long doubley);       /* Obsolete synonyms */[[deprecated]] double drem(doublex, doubley);[[deprecated]] float dremf(floatx, floaty);[[deprecated]] long double dreml(long doublex, long doubley);   Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):remainder():           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L               || _XOPEN_SOURCE >= 500               || /* Since glibc 2.19: */ _DEFAULT_SOURCE               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCEremainderf(),remainderl():           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L               || /* Since glibc 2.19: */ _DEFAULT_SOURCE               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCEdrem(),dremf(),dreml():           /* Since glibc 2.19: */ _DEFAULT_SOURCE               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION        top

       These functions compute the remainder of dividingx byy.  The       return value isx-n*y, wheren is the valuex / y, rounded to the       nearest integer.  If the absolute value ofx-n*y is 0.5,n is       chosen to be even.       These functions are unaffected by the current rounding mode (seefenv(3)).       Thedrem() function does precisely the same thing.

RETURN VALUE        top

       On success, these functions return the floating-point remainder,x-n*y.  If the return value is 0, it has the sign ofx.       Ifx ory is a NaN, a NaN is returned.       Ifx is an infinity, andy is not a NaN, a domain error occurs,       and a NaN is returned.       Ify is zero, andx is not a NaN, a domain error occurs, and a NaN       is returned.

ERRORS        top

       Seemath_error(7) for information on how to determine whether an       error has occurred when calling these functions.       The following errors can occur:       Domain error:x is an infinity andy is not a NaNerrno is set toEDOM(but see BUGS).  An invalid floating-              point exception (FE_INVALID) is raised.              These functions do not seterrno for this case.       Domain error:y is zeroerrno is set toEDOM.  An invalid floating-point exception              (FE_INVALID) is raised.

ATTRIBUTES        top

       For an explanation of the terms used in this section, seeattributes(7).       ┌──────────────────────────────────────┬───────────────┬─────────┐       │InterfaceAttributeValue│       ├──────────────────────────────────────┼───────────────┼─────────┤       │drem(),dremf(),dreml(),            │ Thread safety │ MT-Safe │       │remainder(),remainderf(),           │               │         │       │remainderl()                         │               │         │       └──────────────────────────────────────┴───────────────┴─────────┘

STANDARDS        top

remainder()remainderf()remainderl()              C11, POSIX.1-2008.drem()dremf()dreml()              None.

HISTORY        top

remainder()remainderf()remainderl()              C99, POSIX.1-2001.drem() 4.3BSD.dremf()dreml()              Tru64, glibc2.

BUGS        top

       Before glibc 2.15, the call           remainder(nan(""), 0);       returned a NaN, as expected, but wrongly caused a domain error.       Since glibc 2.15, a silent NaN (i.e., no domain error) is       returned.       Before glibc 2.15,errno was not set toEDOMfor the domain error       that occurs whenx is an infinity andy is not a NaN.

EXAMPLES        top

       The call "remainder(29.0, 3.0)" returns -1.

SEE ALSO        top

div(3),fmod(3),remquo(3)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17remainder(3)

Pages that refer to this page:div(3)fma(3)fmod(3)remquo(3)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp