COPYSIGN(3)

NAZWA
copysign - kopiowanie znaku liczby

SKŁADNIA
#include <math.h>

double copysign(double x, double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);

Proszę linkować z -lm.

    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

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

WARTOŚĆ ZWRACANA
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.

BŁĘDY
Nie występują.

ATRYBUTY
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

ZGODNE Z
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).

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

ZOBACZ TAKŻE
signbit(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

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.