Hi, On Mon, Jul 4, 2011 at 12:07 PM, Andrew Haley <aph@xxxxxxxxxx> wrote: > > It's not. Tey're wrong, you're right. > > Hope this helps. :-) > > Andrew. > What about this: #include <math.h> #define MASK ((unsigned short) 0x8000) double copysign (double x, double y) { unsigned short * const py = (unsigned short*)(char*)&y + 3; return fabs(x)*(*py&MASK?-1.0:1.0); } kevin