On Mon, 19 Jul 2004, Nicholas Clark wrote:
> int
> Parrot_signbit(double x)
> {
> union {
> double d;
> int i[2];
> } u;
> u.d = x;
> #if PARROT_BIGENDIAN
> return u.i[0] < 0;
> #else
> return u.i[1] < 0;
> #endif
> }
> This is buggy. Even on an IEEE platform (which this seems to be assuming)
> there's no need for the two words of the double to be stored in the same
> endian-ness order as the bits within them.
The best bet might be to introduce a Configure probe for the 'signbit'
function, and use that, if available. Unfortunately, it's not obvious how
best to do that, particuarly if it would mean pulling in a new library
(e.g. -lsunmath on Solaris).
More to the point, I suspect this isn't the week to worry about
overhauling the Configure system :-).
--
Andy Dougherty [EMAIL PROTECTED]