src/libm/s_copysign.c
author Sam Lantinga <slouken@libsdl.org>
Thu, 04 Jun 2020 12:30:25 -0700
changeset 13898 aa9d7c43a982
parent 11683 48bcba563d9c
permissions -rw-r--r--
Fixed exception if getManifestEnvironmentVariables() is called without a current SDL activity
     1 /*
     2  * ====================================================
     3  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
     4  *
     5  * Developed at SunPro, a Sun Microsystems, Inc. business.
     6  * Permission to use, copy, modify, and distribute this
     7  * software is freely granted, provided that this notice
     8  * is preserved.
     9  * ====================================================
    10  */
    11 
    12 /*
    13  * copysign(double x, double y)
    14  * copysign(x,y) returns a value with the magnitude of x and
    15  * with the sign bit of y.
    16  */
    17 
    18 #include "math_libm.h"
    19 #include "math_private.h"
    20 
    21 double copysign(double x, double y)
    22 {
    23 	u_int32_t hx,hy;
    24 	GET_HIGH_WORD(hx,x);
    25 	GET_HIGH_WORD(hy,y);
    26 	SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
    27         return x;
    28 }
    29 libm_hidden_def(copysign)