.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-07-27 by Walter Harms
.\" 	(walter.harms@informatik.uni-oldenburg.de)
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH fmod 3 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
fmod, fmodf, fmodl \- reszta z dzielenia zmiennoprzecinkowego
.SH BIBLIOTEKA
Biblioteka matematyczna (\fIlibm\fP, \fI\-lm\fP)
.SH SKŁADNIA
.nf
\fB#include <math.h>\fP
.P
\fBdouble fmod(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB);\fP
\fBfloat fmodf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB);\fP
\fBlong double fmodl(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB);\fP
.fi
.P
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.P
\fBfmodf\fP(), \fBfmodl\fP():
.nf
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    || /* Od glibc 2.19: */ _DEFAULT_SOURCE
    || /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH OPIS
Funkcje te obliczają resztę z dzielenia \fIx\fP przez \fIy\fP. Zwracana wartość to
\fIx\fP\-\fIn\fP*\fIy\fP, gdzie \fIn\fP jest ilorazem \fIx\fP / \fIy\fP, zaokrąglonym w
kierunku zera do liczby całkowitej.
.P
Aby uzyskać modulo, a dokładniej najmniejszą dodatnią resztę, konieczne jest
dostosowanie wyników z fmod w następujący sposób:
.P
.in +4n
.nf
z = fmod(x, y);
if (z < 0)
	z += y;
.fi
.in
.P
Innym sposobem wyrażenia powyższego jest \fIfmod(fmod(x, y) + y, y)\fP, lecz
drugie wywołanie \fBfmod\fP() zwykle kosztuje znacznie więcej, niż jedna gałąź.
.SH "WARTOŚĆ ZWRACANA"
Funkcje te, gdy się zakończą pomyślnie, zwracają wartość \fIx\fP\ \-\ \fIn\fP*\fIy\fP
dla pewnej liczby całkowitej \fIn\fP, takiej że wartość zwracana ma taki sam
znak jak \fIx\fP oraz wartość mniejszą niż wartość \fIy\fP.
.P
Jeśli \fIx\fP lub \fIy\fP jest NaN, to zwracane jest NaN.
.P
Jeśli \fIx\fP jest równe nieskończoności, to występuje błąd dziedziny i
zwracane jest NaN.
.P
Jeśli \fIy\fP wynosi zero, to występuje błąd dziedziny i zwracane jest NaN.
.P
Jeśli \fIx\fP wynosi +0 (\-0), a \fIy\fP jest różne od zera, to zwracane jest +0
(\-0).
.SH BŁĘDY
Informacje o tym, jak określić, czy wystąpił błąd podczas wywołania tych
funkcji, można znaleźć w podręczniku \fBmath_error\fP(7).
.P
Mogą wystąpić następujące błędy:
.TP 
Błąd dziedziny: \fIx\fP jest nieskończonością
\fIerrno\fP jest ustawiane na \fBEDOM\fP (patrz także USTERKI). Rzucany jest
wyjątek niepoprawnej operacji zmiennoprzecinkowej (\fBFE_INVALID\fP).
.TP 
Błąd dziedziny: \fIy\fP jest równe zero
.\" POSIX.1 documents an optional underflow error, but AFAICT it doesn't
.\" (can't?) occur -- mtk, Jul 2008
\fIerrno\fP jest ustawiane na \fBEDOM\fP. Rzucany jest wyjątek niepoprawnej
operacji zmiennoprzecinkowej (\fBFE_INVALID\fP).
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBfmod\fP(),
\fBfmodf\fP(),
\fBfmodl\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.SH STANDARDY
C11, POSIX.1\-2008.
.SH HISTORIA
C99, POSIX.1\-2001.
.P
Wariant zwracający wartość typu \fIdouble\fP jest zgodny również z SVr4,
4.3BSD, C89.
.SH USTERKI
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6784
Przed glibc 2.10, implementacja glibc nie ustawiała \fIerrno\fP na \fBEDOM\fP, gdy
wystąpił błąd dziedziny dla nieskończonego \fIx\fP.
.SH PRZYKŁADY
Wywołanie \fIfmod(372, 360)\fP zwraca 348.
.P
Wywołanie \fIfmod(\-372, 360)\fP zwraca \-12.
.P
Wywołanie \fIfmod(\-372, \-360)\fP również zwraca \-12.
.SH "ZOBACZ TAKŻE"
\fBremainder\fP(3)
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
