copysignf.c raw

   1  #include <math.h>
   2  #include <stdint.h>
   3  
   4  float copysignf(float x, float y)
   5  {
   6  	union {float f; uint32_t i;} ux={x}, uy={y};
   7  	ux.i &= 0x7fffffff;
   8  	ux.i |= uy.i & 0x80000000;
   9  	return ux.f;
  10  }
  11