aboutsummaryrefslogtreecommitdiffstats
path: root/mcgoron
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-02-16 22:30:33 -0500
committerGravatar Peter McGoron 2025-02-16 22:30:33 -0500
commitc118dbabd2360680c8735cf4212d8f0d25613cb0 (patch)
tree6a6a27e56a3e22b94ded3024b9a82e194e33ad20 /mcgoron
parentadd set-contains? test, remove NaNs because they cannot be used in the defaul... (diff)
test set-contains?
Diffstat (limited to 'mcgoron')
-rw-r--r--mcgoron/weight-balanced-trees/srfi/113/sets.scm13
1 files changed, 7 insertions, 6 deletions
diff --git a/mcgoron/weight-balanced-trees/srfi/113/sets.scm b/mcgoron/weight-balanced-trees/srfi/113/sets.scm
index bc6c7bd..aa6ff47 100644
--- a/mcgoron/weight-balanced-trees/srfi/113/sets.scm
+++ b/mcgoron/weight-balanced-trees/srfi/113/sets.scm
@@ -43,13 +43,14 @@
;;; Predicates (besides set?)
;;; ;;;;;;;;;;;;;;;;;
+(define sentinel-value (cons #f #f))
+
(define (set-contains? set element)
- (let ((found? #t))
- (search (set-element-comparator set)
- element
- (get-node set)
- (lambda () (set! found? #f)))
- found?))
+ (not (eq? (search (set-element-comparator set)
+ element
+ (get-node set)
+ (lambda () sentinel-value))
+ sentinel-value)))
(define (set-empty? set)
(null? (get-node set)))