Namespaces
Variants
Views
Actions

copysign

From cppreference.com
< c‎ | numeric‎ | math
Revision as of 13:07, 10 May 2014 by Newatthis (Talk | contribs)

 
 
 
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
Exponential functions
(C99)
(C99)
(C99)
(C99)
Power functions
(C99)
(C99)
Trigonometric and hyperbolic functions
(C99)
(C99)
(C99)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Nearest integer floating point operations
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
Floating point manipulation functions
(C99)(C99)
(C99)
(C99)
copysign
(C99)
Classification
(C99)
(C99)
(C99)
Macro constants
 
Defined in header <math.h>
float       copysignf( float x, float y );
(since C99)
double      copysign( double x, double y );
(since C99)
long double copysignl( long double x, long double y );
(since C99)

Composes a floating point value with the magnitude of x and the sign of y.

Contents

Parameters

x, y - floating point values

Return value

Floating point value with the magnitude of x and the sign of y

Example

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    printf("copysign(1.0,+2.0)      = %+.1f\n", copysign(1.0,+2.0));
    printf("copysign(1.0,-2.0)      = %+.1f\n", copysign(1.0,-2.0));
    printf("copysign(INFINITY,-2.0) = %f\n",    copysign(INFINITY,-2.0));
    printf("copysign(NAN,-2.0)      = %f\n",    copysign(NAN,-2.0));
 
    return 0;
}

Possible output:

copysign(1.0,+2.0)      = +1.0
copysign(1.0,-2.0)      = -1.0
copysign(INFINITY,-2.0) = -inf
copysign(NAN,-2.0)      = -nan

See also

(C99)(C99)
computes absolute value of a floating-point value (|x|)
(function) [edit]
checks if the given number is negative
(function) [edit]
C++ documentation for copysign