copysign(3) Library Functions Manual copysign(3)

copysign - kopiowanie znaku liczby

Math library (libm, -lm)

#include <math.h>
double copysign(double x, double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

copysign(), copysignf(), copysignl():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

Funkcje te zwracają liczbę, której wartość bezwzględna test taka sama, jak wartość bezwzględna x, ale znak jest taki sam, jak znak liczby y.

Na przykład zarówno copysign(42.0, -1.0), jak i copysign(-42.0, -1.0) zwracają -42.0.

Funkcje te, gdy się zakończą pomyślnie, zwracają wartość, której wartość bezwzględna jest wzięta z x, a znak jest wzięty z y.

Jeśli x wynosi NaN, to zwracane jest NaN ze znakiem takim samym, jak bit znaku w y.

Nie występują.

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

Interfejs Atrybut Wartość
copysign(), copysignf(), copysignl() Bezpieczeństwo wątkowe MT-Safe

C99, POSIX.1-2001, POSIX.1-2008. Funkcja ta jest zdefiniowana w IEC 559 (oraz w dodatku zawierającym funkcje zalecane w IEEE 754/IEEE 854).

Na architekturach, na których formaty liczb zmiennoprzecinkowych nie są zgodne z IEEE 754, funkcje te mogą traktować ujemne zero jako dodatnie.

signbit(3)

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 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.

15 grudnia 2022 r. Linux man-pages 6.02