From 98fe41748865e2b22b115627ef3297a671f3100d Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 11 Nov 2021 21:49:53 +0100 Subject: Fixed stack transfert sizing bug --- src/stack.nim | 2 +- tests/stack.nim | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/stack.nim b/src/stack.nim index 4565b5c..b100263 100644 --- a/src/stack.nim +++ b/src/stack.nim @@ -62,7 +62,7 @@ func Transfert*(toss: var Stack, soss: var Stack, n: int) = ## (aka begin) and '}' (aka end) stackstack commands toss.height += n if toss.height > toss.size: - toss.size += 32 + toss.size = toss.height toss.data.setlen(toss.size) for i in 1..min(soss.height, n): toss.data[toss.height-i] = soss.data[soss.height-i] diff --git a/tests/stack.nim b/tests/stack.nim index ebbbe5d..bf02299 100644 --- a/tests/stack.nim +++ b/tests/stack.nim @@ -101,8 +101,8 @@ suite "Stack": check some.data[2] == -4 check some.data[3] == 0 test "Transfert": - var empty = NewStack() - var empty2 = NewStack() + var empty = NewStack(size=12) + var empty2 = NewStack(size=7) empty[].Transfert(empty2[], 4) check empty.height == 4 check empty2.height == 0 @@ -111,7 +111,7 @@ suite "Stack": check empty.data[2] == 0 check empty.data[3] == 0 empty[].Transfert(empty2[], 32) - check empty.size == 64 + check empty.size == 36 empty = NewStack() var some = NewStack() some[].Push(2) -- cgit v1.2.3