COPYSIGN(3)

NAME
copysign - changes the sign of x to that of y

SYNOPSIS
#include <math.h>
double
copysign(double x, double y);
long double
copysignl(long double x, long double y);
float
copysignf(float x, float y);

DESCRIPTION
The copysign() functions return x with its sign changed to y's.

SPECIAL VALUES
copysign(x, y) returns a NaN (with y's sign) if x is a NaN.

VECTOR OPERATIONS
If you need to apply the copysign() functions to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat vcopysignf(vFloat x, vFloat y);
void vvcopysignf(float *z, const float *y, const float *x, const int *n);
void vvcopysign(double *z, const double *y, const double *x, const int *n);

STANDARDS
The copysign() functions conform to ISO/IEC 9899:2011.