Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


fmod(3) — Linux manual page

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

fmod(3)                  Library Functions Manualfmod(3)

NAME        top

       fmod, fmodf, fmodl - floating-point remainder function

LIBRARY        top

       Math library (libm,-lm)

SYNOPSIS        top

#include <math.h>double fmod(doublex, doubley);float fmodf(floatx, floaty);long double fmodl(long doublex, long doubley);   Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):fmodf(),fmodl():           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L               || /* Since glibc 2.19: */ _DEFAULT_SOURCE               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION        top

       These functions compute the floating-point remainder of dividingx       byy.  The return value isx -n *y, wheren is the quotient ofx       /y, rounded toward zero to an integer.       To obtain the modulus, more specifically, the Least Positive       Residue, you will need to adjust the result fromfmod() like so:           z = fmod(x, y);           if (z < 0)                z += fabs(y);       An alternate way to express this is withfmod(fmod(x, y) + y, y),       but the secondfmod() usually costs way more than the one branch.

RETURN VALUE        top

       On success, these functions return the valuex - n*y, for some       integern, such that the returned value has the same sign asx and       a magnitude less than the magnitude ofy.       Ifx ory is a NaN, a NaN is returned.       Ifx is an infinity, a domain error occurs, and a NaN is returned.       Ify is zero, a domain error occurs, and a NaN is returned.       Ifx is +0 (-0), andy is not zero, +0 (-0) 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 infinityerrno is set toEDOM(but see BUGS).  An invalid floating-              point exception (FE_INVALID) is raised.       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│       ├──────────────────────────────────────┼───────────────┼─────────┤       │fmod(),fmodf(),fmodl()             │ Thread safety │ MT-Safe │       └──────────────────────────────────────┴───────────────┴─────────┘

STANDARDS        top

       C11, POSIX.1-2008.

HISTORY        top

       C99, POSIX.1-2001.       The variant returningdouble also conforms to SVr4, 4.3BSD, C89.

BUGS        top

       Before glibc 2.10, the glibc implementation did not seterrno toEDOMwhen a domain error occurred for an infinitex.

EXAMPLES        top

       The callfmod(372, 360) returns 12.       The callfmod(-372, 360) returns -12.       The callfmod(-372, -360) also returns -12.

SEE ALSO        top

remainder(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-17fmod(3)

Pages that refer to this page:remainder(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