summary refs log tree commit diff stats
path: root/lib/pure/collections
diff options
context:
space:
mode:
authorHans Raaf <hara@oderwat.de>2015-03-06 16:01:05 +0100
committerHans Raaf <hara@oderwat.de>2015-03-06 18:16:00 +0100
commit9e2f79251ce3f4982eea457c1f0ced7e1694a4f1 (patch)
treecb0933fdbf7cc88f678055f0f20b39a599587866 /lib/pure/collections
parent534fe46b8264cb8db71a254f0c6b62b1e50dfb1e (diff)
downloadNim-9e2f79251ce3f4982eea457c1f0ced7e1694a4f1.tar.gz
Do we want we to use the typesystem like this?
Diffstat (limited to 'lib/pure/collections')
-rw-r--r--lib/pure/collections/sequtils.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim
index 38499aa4f..2ad7dea0a 100644
--- a/lib/pure/collections/sequtils.nim
+++ b/lib/pure/collections/sequtils.nim
@@ -104,7 +104,7 @@ proc zip*[S, T](seq1: seq[S], seq2: seq[T]): seq[tuple[a: S, b: T]] =
   newSeq(result, m)
   for i in 0 .. m-1: result[i] = (seq1[i], seq2[i])
 
-proc distribute*[T](s: seq[T], num: int, spread = true): seq[seq[T]] =
+proc distribute*[T](s: seq[T], num: Positive, spread = true): seq[seq[T]] =
   ## Splits and distributes a sequence `s` into `num` sub sequences.
   ##
   ## Returns a sequence of `num` sequences. For some input values this is the
@@ -131,11 +131,12 @@ proc distribute*[T](s: seq[T], num: int, spread = true): seq[seq[T]] =
   ##   assert numbers.distribute(6)[0] == @[1, 2]
   ##   assert numbers.distribute(6)[5] == @[7]
   assert(not s.isNil, "`s` can't be nil")
-  assert(num > 0, "`num` has to be greater than zero")
   if num < 2:
     result = @[s]
     return
 
+  let num = cast[int](num)
+
   # Create the result and calculate the stride size and the remainder if any.
   result = newSeq[seq[T]](num)
   var