# Manual browser: copysign(3)

COPYSIGN(3) | Library Functions Manual | COPYSIGN(3) |

# NAME

**copysign**,

**copysignf**,

**copysignl**— functions to manipulate signs

# LIBRARY

Math Library (libm, -lm)# 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*);

# DESCRIPTION

The**copysign**(),

**copysignf**(), and

**copysignl**() functions return a value whose absolute value matches

*x*, but whose sign bit is taken from

*y*.

# RETURN VALUES

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

# STANDARDS

The described functions conform to ISO/IEC 9899:1999 (“ISO C99”).# CAVEATS

Note that on implementations that represent a signed zero but do not treat negative zero consistently in arithmetic operations, these functions may regard the sign of zero as positive.April 13, 2011 | NetBSD 7.0 |