This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on strict aliasing in C.


Hi,

On Mon, Jul 4, 2011 at 12:07 PM, Andrew Haley <aph@redhat.com> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]