Operating systems, development tools, and professional
services for connected embedded systems
Home
Developer Resources

copysign, copysignf

PDF Documents
More resources

copysign(), copysignf()

Copy the sign bit from one number to another

Synopsis:

#include <math.h>

double copysign ( double x,
                  double y);

float copysignf ( float x,
                  float y );

Arguments:

x
The number to use the magnitude of.
y
The number to use the sign of.

Library:

libm

Use the -l m option to qcc to link against this library.

Description:

The copysign() and copysignf() functions return the magnitude of x and the sign bit of y.

If x is NAN, the function produces NAN with the sign of y.

Returns:

The magnitude of x and the sign bit of y.

Examples:

#include <stdio.h>
#include <errno.h>
#include <inttypes.h>
#include <math.h>
#include <fpstatus.h>

int main(int argc, char** argv) 
{
   double a, b, c;

   a = 27.0;
   b = -5;
   c = copysign(a, b);
   printf("The magnitude of %f and sign of %f gives %f\n",
          a, b, c);

   return(0);
}

produces the output:

The magnitude of 27.000000 and sign of -5.000000 gives -27.000000

Classification:

ANSI, POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

significand()

 
©2013 QNX Software Systems Limited, a subsidiary of BlackBerry.   BlackBerry Logo