summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorBrent Pedersen <bpederse@gmail.com>2019-09-11 15:40:34 -0600
committerBrent Pedersen <bpederse@gmail.com>2019-09-11 15:40:34 -0600
commit5b923cd149607bc91c94ac0b9191f02792de5395 (patch)
tree894b8f25f77dc4548053c5d659c085d60e06f686 /lib
parent944bab4c3c19ffd45eb5cb7c49f87a853c0cdcac (diff)
downloadNim-5b923cd149607bc91c94ac0b9191f02792de5395.tar.gz
use while
Diffstat (limited to 'lib')
-rw-r--r--lib/system/sets.nim9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/system/sets.nim b/lib/system/sets.nim
index 83d18e546..39f7d474f 100644
--- a/lib/system/sets.nim
+++ b/lib/system/sets.nim
@@ -30,11 +30,12 @@ proc countBits64(n: uint64): int {.compilerproc, inline.} =
   result = ((v * 0x0101010101010101'u64) shr 56'u64).int
 
 proc cardSet(s: NimSet, len: int): int {.compilerproc, inline.} =
-  var j = -1
+  var i = 0
   when defined(x86) or defined(amd64):
-    for i in countup(0, len - 8, 8):
+    while i < len - 8:
       inc(result, countBits64((cast[ptr uint64](s[i].unsafeAddr))[]))
-      j = i + 7
+      inc(i, 8)
 
-  for i in (j + 1) ..< len:
+  while i < len:
     inc(result, countBits32(uint32(s[i])))
+    inc(i, 1)