fp-bit.h

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

fp-bit.h

Ralf Hildebrandt-2
Hi!

in gcc-3.2.3/gcc/config/fp-bit.h (CVS checkout version from 09. june 2005)
lines 114 to 123 are

#ifdef FLOAT
# define NGARDS    7L
# define GARDROUND 0x3f
# define GARDMASK  0x7f
# define GARDMSB   0x40
# define EXPBITS 8
# define EXPBIAS 127
# define FRACBITS 23
# define EXPMAX (0xff)
# define QUIET_NAN 0x100000L

It seems to me, that QUIET_NAN is wrong.
IEEE 754 32 floating point defines the fraction to be located in bits 22
downto 0. A QNaN is signalled with bit 22 beeing 1. See e.g.
<http://stevehollasch.com/cgindex/coding/ieeefloat.html> for details.
Therefore

# define QUIET_NAN 0x400000L

would be correct. Am I right or did I miss something?


Note #1: For double precision (that is not used for MSP430) fp-bit.h defines

# define QUIET_NAN 0x8000000000000LL

which is correct.


Note #2: fp-bit.h claims to be part of GNU CC. Therefore this error (If I am
not wrong will be in gcc, too (if not already fixed))


Ralf


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

RE: fp-bit.h

Dmitry-2
Hm...
I'll check this out later on.
~d


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Ralf
Hildebrandt
Sent: Friday, July 22, 2005 11:54 AM
To: [hidden email]
Subject: [Mspgcc-users] fp-bit.h

Hi!

in gcc-3.2.3/gcc/config/fp-bit.h (CVS checkout version from 09. june 2005)
lines 114 to 123 are

#ifdef FLOAT
# define NGARDS    7L
# define GARDROUND 0x3f
# define GARDMASK  0x7f
# define GARDMSB   0x40
# define EXPBITS 8
# define EXPBIAS 127
# define FRACBITS 23
# define EXPMAX (0xff)
# define QUIET_NAN 0x100000L

It seems to me, that QUIET_NAN is wrong.
IEEE 754 32 floating point defines the fraction to be located in bits 22
downto 0. A QNaN is signalled with bit 22 beeing 1. See e.g.
<http://stevehollasch.com/cgindex/coding/ieeefloat.html> for details.
Therefore

# define QUIET_NAN 0x400000L

would be correct. Am I right or did I miss something?


Note #1: For double precision (that is not used for MSP430) fp-bit.h defines

# define QUIET_NAN 0x8000000000000LL

which is correct.


Note #2: fp-bit.h claims to be part of GNU CC. Therefore this error (If I am
not wrong will be in gcc, too (if not already fixed))


Ralf


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users