A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../algorithm/../../cpp/../c/numeric/math/copysign.html below:

copysign, copysignf, copysignl - cppreference.com

float       copysignf( float x, float y );

(1) (since C99)

double      copysign( double x, double y );

(2) (since C99)

long double copysignl( long double x, long double y );

(3) (since C99)

#define copysign(x, y)

(4) (since C99)

1-3) Composes a floating-point value with the magnitude of x and the sign of y.

4) Type-generic macro: If any argument has type long double, copysignl is called. Otherwise, if any argument has integer type or has type double, copysign is called. Otherwise, copysignf is called.

[edit] Parameters x, y - floating-point values [edit] Return value

If no errors occur, the floating-point value with the magnitude of x and the sign of y is returned.

If x is NaN, then NaN with the sign of y is returned.

If y is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

[edit] Error handling

This function is not subject to any errors specified in math_errhandling.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),

[edit] Notes

copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used).

[edit] Example
#include <math.h>
#include <stdio.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));
}

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] References
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4