plucky (3) fmodl.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

NAZWA

       fmod, fmodf, fmodl - reszta z dzielenia zmiennoprzecinkowego

BIBLIOTEKA

       Biblioteka matematyczna (libm, -lm)

SKŁADNIA

       #include <math.h>

       double fmod(double x, double y);
       float fmodf(float x, float y);
       long double fmodl(long double x, long double y);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       fmodf(), fmodl():
       _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
           || /* Od glibc 2.19: */ _DEFAULT_SOURCE
           || /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS

       Funkcje  te  obliczają resztę z dzielenia x przez y. Zwracana wartość to x-n*y, gdzie n jest ilorazem x /
       y, zaokrąglonym w kierunku zera do liczby całkowitej.

       Aby uzyskać modulo, a dokładniej najmniejszą dodatnią resztę, konieczne jest dostosowanie wyników z  fmod
       w następujący sposób:

           z = fmod(x, y);
           if (z < 0)
                z += y;

       Innym  sposobem  wyrażenia  powyższego  jest fmod(fmod(x, y) + y, y), lecz drugie wywołanie fmod() zwykle
       kosztuje znacznie więcej, niż jedna gałąź.

WARTOŚĆ ZWRACANA

       Funkcje te, gdy się zakończą pomyślnie, zwracają wartość x - n*y dla pewnej liczby całkowitej  n,  takiej
       że wartość zwracana ma taki sam znak jak x oraz wartość mniejszą niż wartość y.

       Jeśli x lub y jest NaN, to zwracane jest NaN.

       Jeśli x jest równe nieskończoności, to występuje błąd dziedziny i zwracane jest NaN.

       Jeśli y wynosi zero, to występuje błąd dziedziny i zwracane jest NaN.

       Jeśli x wynosi +0 (-0), a y jest różne od zera, to zwracane jest +0 (-0).

BŁĘDY

       Informacje  o  tym,  jak  określić,  czy  wystąpił  błąd  podczas wywołania tych funkcji, można znaleźć w
       podręczniku math_error(7).

       Mogą wystąpić następujące błędy:

       Błąd dziedziny: x jest nieskończonością
              errno jest ustawiane na EDOM (patrz także USTERKI). Rzucany  jest  wyjątek  niepoprawnej  operacji
              zmiennoprzecinkowej (FE_INVALID).

       Błąd dziedziny: y jest równe zero
              errno  jest  ustawiane  na  EDOM.  Rzucany  jest wyjątek niepoprawnej operacji zmiennoprzecinkowej
              (FE_INVALID).

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

       ┌───────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │InterfejsAtrybutWartość       │
       ├───────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │fmod(), fmodf(), fmodl()                                       │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └───────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       C11, POSIX.1-2008.

HISTORIA

       C99, POSIX.1-2001.

       Wariant zwracający wartość typu double jest zgodny również z SVr4, 4.3BSD, C89.

USTERKI

       Przed glibc 2.10, implementacja glibc nie ustawiała errno  na  EDOM,  gdy  wystąpił  błąd  dziedziny  dla
       nieskończonego x.

PRZYKŁADY

       Wywołanie fmod(372, 360) zwraca 348.

       Wywołanie fmod(-372, 360) zwraca -12.

       Wywołanie fmod(-372, -360) również zwraca -12.

ZOBACZ TAKŻE

       remainder(3)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej
       Krzysztofowicz  <ankry@green.mf.pg.gda.pl>,  Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając się z GNU General Public License w wersji  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy dyskusyjnej ⟨manpages-pl-
       list@lists.sourceforge.net⟩.