math: cosmetic cleanup (use explicit union instead of fshape and dshape)

This commit is contained in:
Szabolcs Nagy
2013-09-04 17:36:00 +00:00
parent 63b9cc7773
commit 8dba548628
11 changed files with 140 additions and 166 deletions

View File

@ -1,11 +1,8 @@
#include "libm.h"
double copysign(double x, double y) {
union dshape ux, uy;
ux.value = x;
uy.value = y;
ux.bits &= (uint64_t)-1>>1;
ux.bits |= uy.bits & (uint64_t)1<<63;
return ux.value;
union {double f; uint64_t i;} ux={x}, uy={y};
ux.i &= -1ULL/2;
ux.i |= uy.i & 1ULL<<63;
return ux.f;
}