COPYSIGN

Section: Linux Programmer's Manual (3)
Updated: 2013-10-14
Index Return to Main Contents
 

NAME

copysign, copysignf, copysignl - copy sign of a number  

SYNOPSIS

#include <math.h>

double copysign(double x, double y);

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

Link with -lm.

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

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

_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or cc -std=c99
 

DESCRIPTION

The copysign(), copysignf(), and copysignl() functions return a value whose absolute value matches that of x, but whose sign bit matches that of y.

For example, copysign(42.0, -1.0) and copysign(-42.0, -1.0) both return -42.0.  

RETURN VALUE

On success, these functions return a value whose magnitude is taken from x and whose sign is taken from y.

If x is a NaN, a NaN with the sign bit of y is returned.  

ERRORS

No errors occur.  

ATTRIBUTES

 

Multithreading (see pthreads(7))

The copysign(), copysignf(), and copysignl() functions are thread-safe.  

CONFORMING TO

C99, POSIX.1-2001. This function is defined in IEC 559 (and the appendix with recommended functions in IEEE 754/IEEE 854).  

NOTES

On architectures where the floating-point formats are not IEEE 754 compliant, these functions may treat a negative zero as positive.  

SEE ALSO

signbit(3)


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
ATTRIBUTES
Multithreading (see pthreads(7))
CONFORMING TO
NOTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:55:17 GMT, September 18, 2014