Home | History | Annotate | Download | only in dtoa

Lines Matching refs:rest

59     //        * rest = (too_high - buffer * 10^kappa).f() * unit
69 uint64_t rest,
91 // . . . . rest
142 // Conceptually rest ~= too_high - buffer
145 ASSERT(rest <= unsafe_interval);
146 while (rest < small_distance && // Negated condition 1
147 unsafe_interval - rest >= ten_kappa && // Negated condition 2
148 (rest + ten_kappa < small_distance || // buffer{-1} > w_high
149 small_distance - rest >= rest + ten_kappa - small_distance)) {
151 rest += ten_kappa;
157 if (rest < big_distance &&
158 unsafe_interval - rest >= ten_kappa &&
159 (rest + ten_kappa < big_distance ||
160 big_distance - rest > rest + ten_kappa - big_distance)) {
168 // Conceptually we have: rest ~= too_high - buffer
169 return (2 * unit <= rest) && (rest <= unsafe_interval - 4 * unit);
179 // If 2*rest > ten_kappa then the buffer needs to be round up.
180 // rest can have an error of +/- 1 unit. This function accounts for the
184 // Precondition: rest < ten_kappa.
187 uint64_t rest,
191 ASSERT(rest < ten_kappa);
193 // will work correctly with any uint64 values of rest < ten_kappa and unit.
196 // a unit of 50 means that the real number lies within rest +/- 50. If
203 // If 2 * (rest + unit) <= 10^kappa we can safely round down.
204 if ((ten_kappa - rest > rest) && (ten_kappa - 2 * rest >= 2 * unit)) {
207 // If 2 * (rest - unit) >= 10^kappa, then we can safely round up.
208 if ((rest > unit) && (ten_kappa - (rest - unit) <= (rest - unit))) {
442 uint64_t rest =
444 // Invariant: too_high = buffer * 10^kappa + DiyFp(rest, one.e())
446 if (rest < unsafe_interval.f()) {
450 unsafe_interval.f(), rest,
557 uint64_t rest =
559 return RoundWeedCounted(buffer, *length, rest,