networks: Make build-all-states order the variables.
This commit is contained in:
parent
cd11bcc330
commit
401f895dd2
2 changed files with 7 additions and 7 deletions
|
@ -247,17 +247,17 @@
|
|||
(random-seed 0)
|
||||
(define f (random-boolean-function/state '(x1 x2)))
|
||||
(check-equal? (tabulate-state/boolean f '(x1 x2))
|
||||
'((x1 x2 f) (#f #f #f) (#t #f #f) (#f #t #t) (#t #t #t)))
|
||||
'((x1 x2 f) (#f #f #f) (#f #t #f) (#t #f #t) (#t #t #t)))
|
||||
(check-equal? (tabulate-state/boolean f '(x1 x2) #:headers #f)
|
||||
'((#f #f #f) (#t #f #f) (#f #t #t) (#t #t #t)))
|
||||
'((#f #f #f) (#f #t #f) (#t #f #t) (#t #t #t)))
|
||||
(define bn (random-boolean-network/vars 3))
|
||||
(check-equal? (tabulate-boolean-network bn)
|
||||
'((x0 x1 x2 f-x0 f-x1 f-x2)
|
||||
(#f #f #f #f #t #f)
|
||||
(#f #t #f #t #f #f)
|
||||
(#f #f #t #f #t #t)
|
||||
(#f #f #t #t #f #f)
|
||||
(#f #t #f #f #t #t)
|
||||
(#f #t #t #t #f #f)
|
||||
(#t #f #f #t #f #t)
|
||||
(#t #t #f #f #f #t)
|
||||
(#t #f #t #f #f #f)
|
||||
(#t #f #t #f #f #t)
|
||||
(#t #t #f #f #f #f)
|
||||
(#t #t #t #t #t #t)))))
|
||||
|
|
|
@ -219,7 +219,7 @@
|
|||
;;; Given a hash-set mapping variables to generic sets of their
|
||||
;;; possible values, constructs the list of all possible states.
|
||||
(define (build-all-states vars-domains)
|
||||
(let* ([var-dom-list (hash->list vars-domains)]
|
||||
(let* ([var-dom-list (hash-map vars-domains (λ (x y) (cons x y)) #t)]
|
||||
[vars (map car var-dom-list)]
|
||||
[domains (map cdr var-dom-list)])
|
||||
(for/list ([s (apply cartesian-product domains)])
|
||||
|
|
Loading…
Reference in a new issue