.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" 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 \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 , Andrzej Krzysztofowicz , Robert Luberda i Michał Kułach . .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 .