Numworks Epsilon
1.4.1
Graphing Calculator Operating System
s_copysign.c
Go to the documentation of this file.
1
/* @(#)s_copysign.c 5.1 93/09/24 */
2
/*
3
* ====================================================
4
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5
*
6
* Developed at SunPro, a Sun Microsystems, Inc. business.
7
* Permission to use, copy, modify, and distribute this
8
* software is freely granted, provided that this notice
9
* is preserved.
10
* ====================================================
11
*/
12
13
/*
14
* copysign(double x, double y)
15
* copysign(x,y) returns a value with the magnitude of x and
16
* with the sign bit of y.
17
*/
18
19
#include <
sys/cdefs.h
>
20
#include <float.h>
21
#include <math.h>
22
23
#include "
math_private.h
"
24
25
double
26
copysign
(
double
x,
double
y)
27
{
28
u_int32_t
hx,hy;
29
GET_HIGH_WORD
(hx,x);
30
GET_HIGH_WORD
(hy,y);
31
SET_HIGH_WORD
(x,(hx&0x7fffffff)|(hy&0x80000000));
32
return
x;
33
}
34
35
#if LDBL_MANT_DIG == 53
36
#ifdef __weak_alias
37
__weak_alias(copysignl,
copysign
);
38
#endif
/* __weak_alias */
39
#endif
/* LDBL_MANT_DIG == 53 */
GET_HIGH_WORD
#define GET_HIGH_WORD(i, d)
Definition:
math_private.h:269
u_int32_t
uint32_t u_int32_t
Definition:
types.h:10
SET_HIGH_WORD
#define SET_HIGH_WORD(d, v)
Definition:
math_private.h:297
copysign
double copysign(double x, double y)
Definition:
s_copysign.c:26
cdefs.h
math_private.h
epsilon
liba
src
external
openbsd
s_copysign.c
Generated by
1.8.14