Home | History | Annotate | Download | only in src

Lines Matching refs:Exponent

225 // point at bit (-exponent).
227 // -128 <= exponent <= 0.
228 // 0 <= fractionals * 2^exponent < 1
235 static void FillFractionals(uint64_t fractionals, int exponent,
238 ASSERT(-128 <= exponent && exponent <= 0);
240 // (-exponent). Inside the function the non-converted remainder of fractionals
242 if (-exponent <= 64) {
245 int point = -exponent;
270 ASSERT(64 < -exponent && -exponent <= 128);
272 fractionals128.Shift(-exponent - 64);
319 int exponent = Double(v).Exponent();
320 // v = significand * 2^exponent (with significand a 53bit integer).
321 // If the exponent is larger than 20 (i.e. we may have a 73bit number) then we
325 if (exponent > 20) return false;
331 if (exponent + kDoubleSignificandSize > 64) {
332 // The exponent must be > 11.
334 // We know that v = significand * 2^exponent.
335 // And the exponent > 11.
346 // Let v = f * 2^e with f == significand and e == exponent.
355 if (exponent > divisor_power) {
357 dividend <<= exponent - divisor_power;
361 divisor <<= divisor_power - exponent;
363 remainder = (dividend % divisor) << exponent;
368 } else if (exponent >= 0) {
369 // 0 <= exponent <= 11
370 significand <<= exponent;
373 } else if (exponent > -kDoubleSignificandSize) {
375 uint64_t integrals = significand >> -exponent;
376 uint64_t fractionals = significand - (integrals << -exponent);
383 FillFractionals(fractionals, exponent, fractional_count,
385 } else if (exponent < -128) {
394 FillFractionals(significand, exponent, fractional_count,