From 3a3a7d012f35b4c40ec212748e58caa7bdc3b0d6 Mon Sep 17 00:00:00 2001 From: Boris Vassilev Date: Tue, 12 May 2015 15:52:38 +0300 Subject: Fill array with same values (was issue #2462) --- lib/pure/algorithm.nim | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/pure/algorithm.nim b/lib/pure/algorithm.nim index f7ccb9234..20920bd44 100644 --- a/lib/pure/algorithm.nim +++ b/lib/pure/algorithm.nim @@ -24,6 +24,17 @@ proc `*`*(x: int, order: SortOrder): int {.inline.} = var y = order.ord - 1 result = (x xor y) - y +proc fill*[T](a: var openArray[T], first, last: Natural, value: T) = + ## fills the array ``a[first..last]`` with `value`. + var x = first + while x <= last: + a[x] = value + inc(x) + +proc fill*[T](a: var openArray[T], value: T) = + ## fills the array `a` with `value`. + fill(a, 0, a.high, value) + proc reverse*[T](a: var openArray[T], first, last: Natural) = ## reverses the array ``a[first..last]``. var x = first -- cgit 1.4.1-2-gfad0