From eb600c79a4288c38cb414d9a3ba45607b27bf634 Mon Sep 17 00:00:00 2001 From: Peter Broadbery Date: Thu, 12 Nov 2015 20:43:58 +0000 Subject: [PATCH] engine-utilities.scm: Add a couple of hashtable functions. --- src/engine/engine-utilities.scm | 12 ++++++++++++ src/engine/engine.scm | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/engine/engine-utilities.scm b/src/engine/engine-utilities.scm index 238866a499..3ea6bec9a9 100644 --- a/src/engine/engine-utilities.scm +++ b/src/engine/engine-utilities.scm @@ -80,6 +80,18 @@ (+ acct-depth (- (gnc-account-get-tree-depth acct) 1)))) accounts))) +(define (account-assoc acc alist) + (find (lambda (pair) (account-same? acc (car pair))) alist)) + +(define (account-hash acc size) + (remainder (string-hash (gncAccountGetGUID acc)) size)) + +(define (account-hashtable-ref table account) + (hashx-ref account-hash account-assoc table account)) + +(define (account-hashtable-set! table account value) + (hashx-set! account-hash account-assoc table account value)) + ;; Splits (export split-same?) (export split-in-list?) diff --git a/src/engine/engine.scm b/src/engine/engine.scm index 14847f9516..00bd61ce6e 100644 --- a/src/engine/engine.scm +++ b/src/engine/engine.scm @@ -79,6 +79,8 @@ (export account-full-name