SNG_FRACBITS
r = 1 << SNG_FRACBITS; /* implicit bit */
exp -= SNG_FRACBITS;
r = 1 << SNG_FRACBITS; /* implicit bit */
exp -= SNG_FRACBITS;
#define SNG_SHIFT (SNG_FRACBITS - FP_LG)
frac = i & mask(SNG_FRACBITS);
#define SNG_EXP(e) ((e) << SNG_FRACBITS) /* makes e an exponent */
(void) __fpu_shr(fp, FP_NMANT - 1 - SNG_FRACBITS);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - 1 - SNG_FRACBITS);
e = i0 >> SNG_FRACBITS;
if (e < SNG_FRACBITS) {
e = ((i0 >> SNG_FRACBITS) & 0xff) - SNG_EXP_BIAS;
i0 |= (1 << SNG_FRACBITS);
shift = e - SNG_FRACBITS;
mant32 <<= (SNG_FRACBITS - FPRH_MANTH_BITS + 1);
mant32 |= frame->tf_fprl >> (DBL_FRACBITS - SNG_FRACBITS);
if ((mant32 & (1 << SNG_FRACBITS)) == 0) {
mant32 |= 1 << SNG_FRACBITS;
mant32 <<= (31 - SNG_FRACBITS - 1);
result |= ls >> (DBL_FRACBITS - SNG_FRACBITS);
#define ONE_F32 (float32)(SNG_EXP_BIAS << SNG_FRACBITS)
#define SNG_SHIFT (SNG_FRACBITS - FP_LG)
frac = i & mask(SNG_FRACBITS);
#define SNG_EXP(e) ((e) << SNG_FRACBITS) /* makes e an exponent */
(void) fpu_shr(fp, FP_NMANT - 1 - SNG_FRACBITS);
(void) fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
(void) fpu_shr(fp, FP_NMANT - FP_NG - 1 - SNG_FRACBITS);