summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/libm/s_copysign.c
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/libm/s_copysign.c
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/libm/s_copysign.c')
-rw-r--r--contrib/SDL-3.2.8/src/libm/s_copysign.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/libm/s_copysign.c b/contrib/SDL-3.2.8/src/libm/s_copysign.c
new file mode 100644
index 0000000..630f477
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/libm/s_copysign.c
@@ -0,0 +1,30 @@
1#include "SDL_internal.h"
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 "math_libm.h"
20#include "math_private.h"
21
22double copysign(double x, double y)
23{
24 u_int32_t hx,hy;
25 GET_HIGH_WORD(hx,x);
26 GET_HIGH_WORD(hy,y);
27 SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
28 return x;
29}
30libm_hidden_def(copysign)