04e186966f766e1a80487919ca3f9e0a6fdd761c
[libm] / src / math / copysign.c
1 #include "libm.h"
2
3 double copysign(double x, double y) {
4         union dshape ux, uy;
5
6         ux.value = x;
7         uy.value = y;
8         ux.bits &= ~((uint64_t)1<<63);
9         ux.bits |= uy.bits & (uint64_t)1<<63;
10         return ux.value;
11 }