Lines Matching defs:too_high

56 // Input: * buffer containing the digits of too_high / 10^kappa
58 // * distance_too_high_w == (too_high - w).f() * unit
59 // * unsafe_interval == (too_high - too_low).f() * unit
60 // * rest = (too_high - buffer * 10^kappa).f() * unit
75 // Let w_low = too_high - big_distance, and
76 // w_high = too_high - small_distance.
83 // ]too_low; too_high[ with too_low < w < too_high
85 // too_high - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
113 // to too_high.
132 // By generating the digits of too_high we got the largest (closest to
133 // too_high) buffer that is still in the unsafe interval. In the case where
134 // w_high < buffer < too_high we try to decrement the buffer.
142 // Instead of using the buffer directly we use its distance to too_high.
143 // Conceptually rest ~= too_high - buffer
166 // The safe interval is [too_low + 2 ulp; too_high - 2 ulp]
167 // Since too_low = too_high - unsafe_interval this is equivalent to
168 // [too_high - unsafe_interval + 4 ulp; too_high - 2 ulp]
169 // Conceptually we have: rest ~= too_high - buffer
407 DiyFp too_high = DiyFp(high.f() + unit, high.e());
408 // too_low and too_high are guaranteed to lie outside the interval we want the
410 DiyFp unsafe_interval = DiyFp::Minus(too_high, too_low);
415 // such that: too_low < buffer * 10^kappa < too_high
416 // We use too_high for the digit_generation and stop as soon as possible.
420 uint32_t integrals = static_cast<uint32_t>(too_high.f() >> -one.e());
422 uint64_t fractionals = too_high.f() & (one.f() - 1);
429 // Loop invariant: buffer = too_high / 10^kappa (integer division)
443 // Invariant: too_high = buffer * 10^kappa + DiyFp(rest, one.e())
448 return RoundWeed(buffer, *length, DiyFp::Minus(too_high, w).f(),
475 return RoundWeed(buffer, *length, DiyFp::Minus(too_high, w).f() * unit,