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.
[edit] Parameters
| x, y | - | floating point values | 
[edit] Return value
Floating point value with the magnitude of x and the sign of y
[edit] See also
| absolute value of a floating point value (|x|) (function) | |
| (C99) | checks if the given number is negative (function) |