Skip to content

Commit c57fc5c

Browse files
committed
optimize multipleOfPowerOf5
1 parent 1db9361 commit c57fc5c

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

source/mir/bignum/internal/ryu/generic_128.d

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,19 +184,13 @@ bool multipleOfPowerOf5(size_t size)(UInt!size value, const uint p)
184184
enum fiveReciprocal = .fiveReciprocal.toSize!size;
185185
enum baseDiv5 = .baseDiv5.toSize!size;
186186
version(LDC) pragma(inline, true);
187-
if (value)
187+
assert(value);
188+
for (uint count = 0;; ++count)
188189
{
189-
for (uint count;; ++count)
190-
{
191-
if (count >= p)
192-
return true;
193-
value *= fiveReciprocal;
194-
if (value > baseDiv5)
195-
return false;
196-
}
190+
value *= fiveReciprocal;
191+
if (value > baseDiv5)
192+
return count >= p;
197193
}
198-
else
199-
return p == 0;
200194
}
201195

202196
version(mir_bignum_test) unittest

0 commit comments

Comments
 (0)