COPYSIGN(3) BSD Programmer's Manual COPYSIGN(3)
copysign, copysignf - functions to manipulate signs
libm
#include <math.h> double copysign(double x, double y); float copysignf(float x, float y);
The copysign() and copysignf() functions return a value whose absolute value matches x, but whose sign bit is taken from y.
Upon successful completion, all three functions return a value with the magnitude of x and the sign of y. If x is NaN , the functions return a NaN with the sign of y.
math(3), signbit(3)
The described functions conform to ISO/IEC 9899:1999 ("ISO C99").
Note that on implementations that represent a signed zero but do not treat negative zero consistently in arithmetic operations, these func- tions may regard the sign of zero as positive. MirBSD #10-current February 9, 2014 1