bd52d17906
too large to list, but see: http://gcc.gnu.org/gcc-3.4/changes.html http://gcc.gnu.org/gcc-4.0/changes.html http://gcc.gnu.org/gcc-4.1/changes.html for the details.
26 lines
701 B
C
26 lines
701 B
C
/* Public domain. */
|
|
#if __LDBL_MANT_DIG__ == 106 || __LDBL_MANT_DIG__ == 113
|
|
typedef int DItype __attribute__ ((mode (DI)));
|
|
typedef int SItype __attribute__ ((mode (SI)));
|
|
typedef unsigned int UDItype __attribute__ ((mode (DI)));
|
|
typedef unsigned int USItype __attribute__ ((mode (SI)));
|
|
typedef float DFtype __attribute__ ((mode (DF)));
|
|
typedef float TFtype __attribute__ ((mode (TF)));
|
|
|
|
TFtype __floatditf (UDItype);
|
|
|
|
TFtype
|
|
__floatditf (UDItype u)
|
|
{
|
|
DFtype dh, dl;
|
|
|
|
dh = (SItype) (u >> (sizeof (SItype) * 8));
|
|
dh *= 2.0 * (((UDItype) 1) << ((sizeof (SItype) * 8) - 1));
|
|
dl = (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8)) - 1));
|
|
|
|
return (TFtype) dh + (TFtype) dl;
|
|
}
|
|
|
|
#endif
|
|
|