Home | History | Annotate | Download | only in arm

Lines Matching defs:mantissa

70   unsigned long long mantissa;
74 /* Get the exponent and mantissa encodings. */
75 mantissa = a & (point - 1);
85 if (mantissa == 0)
88 return sign | 0x7e00 | (mantissa >> (fmt->significand - 10));
92 if (aexp == 0 && mantissa == 0)
95 /* Construct the exponent and mantissa. */
99 mantissa |= point;
112 if (mantissa & mask)
115 if ((mantissa & mask) == increment)
116 increment = mantissa & (increment << 1);
117 mantissa += increment;
118 if (mantissa >= (point << 1))
120 mantissa >>= 1;
141 mantissa >>= -14 - aexp;
148 calculated mantissa, with the following caveats:
150 1. The mantissa calculated after rounding could have a leading 1.
153 2. When we were calculating rounding, we left the mantissa with the
156 the number of bits in the source mantissa - 10.
157 3. To ensure the leading 1 in the mantissa is applied to the exponent
158 we need to add the mantissa rather than apply an arithmetic "or"
161 return sign | (((aexp + 14) << 10) + (mantissa >> (fmt->significand - 10)));
181 unsigned int mantissa = a & 0x3ff;
184 return sign | 0x7f800000 | (mantissa << 13);
190 if (mantissa == 0)
193 shift = __builtin_clz(mantissa) - 21;
194 mantissa <<= shift;
198 return sign | (((aexp + 0x70) << 23) + (mantissa << 13));