copysign
From cppreference.com
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 |
[edit] Parameters
x, y | - | floating point values |
[edit] Return value
Floating point value with the magnitude of x
and the sign of y
[edit] Example
Run this code
#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
[edit] See also
(C99)(C99)
|
computes absolute value of a floating-point value (|x|) (function) |
(C99)
|
checks if the given number is negative (function) |
C++ documentation for copysign
|