From 604f7461d786e31e7ae9df5a101770c329e00fe5 Mon Sep 17 00:00:00 2001 From: treeform Date: Wed, 29 Jul 2020 20:49:51 -0700 Subject: [PATCH] Fix tables.CountTable largest and smallest (#15115) It needs to have len defined first because of the assert .len > 0. I just moved it up a bit to make them work. --- lib/pure/collections/tables.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim index 3aa3af4e97..017a2f337b 100644 --- a/lib/pure/collections/tables.nim +++ b/lib/pure/collections/tables.nim @@ -2293,6 +2293,10 @@ proc inc*[A](t: var CountTable[A], key: A, val = 1) = if val != 0: insertImpl() +proc len*[A](t: CountTable[A]): int = + ## Returns the number of keys in ``t``. + result = t.counter + proc smallest*[A](t: CountTable[A]): tuple[key: A, val: int] = ## Returns the ``(key, value)`` pair with the smallest ``val``. Efficiency: O(n) ## @@ -2345,10 +2349,6 @@ proc getOrDefault*[A](t: CountTable[A], key: A; default: int = 0): int = ## is in the table ctget(t, key, default) -proc len*[A](t: CountTable[A]): int = - ## Returns the number of keys in ``t``. - result = t.counter - proc del*[A](t: var CountTable[A], key: A) {.since: (1, 1).} = ## Deletes ``key`` from table ``t``. Does nothing if the key does not exist. ##