diff options
| author | 2025-02-16 22:30:33 -0500 | |
|---|---|---|
| committer | 2025-02-16 22:30:33 -0500 | |
| commit | c118dbabd2360680c8735cf4212d8f0d25613cb0 (patch) | |
| tree | 6a6a27e56a3e22b94ded3024b9a82e194e33ad20 /mcgoron | |
| parent | add 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.scm | 13 |
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))) |
