milsko/src/math/nbsd_copysign.c
NishiOwO 14be6d3bca fix
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@555 b9cfdab3-6d41-4d17-bbe4-086880011989
2025-11-01 08:43:00 +00:00

31 lines
786 B
C

/* @(#)s_copysign.c 5.1 93/09/24 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* $Id$ */
#include <Mw/BaseTypes.h>
#include "math_internal.h"
/*
* copysign(double x, double y)
* copysign(x,y) returns a value with the magnitude of x and
* with the sign bit of y.
*/
double
nbsd_copysign(double x, double y) {
MwU32 hx, hy;
GET_HIGH_WORD(hx, x);
GET_HIGH_WORD(hy, y);
SET_HIGH_WORD(x, (hx & 0x7fffffff) | (hy & 0x80000000));
return x;
}