Add sbfs/state->lists+headers.
This commit is contained in:
parent
76c6bb5745
commit
cd8cada92e
2 changed files with 29 additions and 1 deletions
|
@ -245,6 +245,17 @@ whether it is actually 0:
|
||||||
(sbfs/state->lists (list (tbf/state (hash 'a 1 'b 2) 3)))
|
(sbfs/state->lists (list (tbf/state (hash 'a 1 'b 2) 3)))
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
@defproc[(sbfs/state->lists+headers [sbfs (Listof TBF/State)])
|
||||||
|
(Pairof (Listof Variable) (Listof (Listof Real)))]{
|
||||||
|
|
||||||
|
Like @racket[sbfs/state->lists], but also shows the names of the
|
||||||
|
variables as column headers.
|
||||||
|
|
||||||
|
@ex[
|
||||||
|
(sbfs/state->lists+headers (list (tbf/state (hash 'a 1 'b 2) 0)
|
||||||
|
(tbf/state (hash 'a -2 'b 1) 0)))
|
||||||
|
]}
|
||||||
|
|
||||||
@section{Tabulating TBFs and SBFs}
|
@section{Tabulating TBFs and SBFs}
|
||||||
|
|
||||||
@defproc[(tabulate-tbfs/state [tbfs (Listof TBF/State)]) (Listof (Listof Real))]{
|
@defproc[(tabulate-tbfs/state [tbfs (Listof TBF/State)]) (Listof (Listof Real))]{
|
||||||
|
|
19
tbn.rkt
19
tbn.rkt
|
@ -29,7 +29,7 @@
|
||||||
lists+vars->sbfs/state lists+headers->sbfs/state lists->sbfs/state
|
lists+vars->sbfs/state lists+headers->sbfs/state lists->sbfs/state
|
||||||
read-org-tbfs/state read-org-tbfs/state+headers
|
read-org-tbfs/state read-org-tbfs/state+headers
|
||||||
tbfs/state->lists tbfs/state->lists+headers
|
tbfs/state->lists tbfs/state->lists+headers
|
||||||
sbfs/state->lists
|
sbfs/state->lists sbfs/state->lists+headers
|
||||||
|
|
||||||
tabulate-tbfs/state tabulate-tbfs/state+headers
|
tabulate-tbfs/state tabulate-tbfs/state+headers
|
||||||
tabulate-tbf/state tabulate-tbf/state+headers
|
tabulate-tbf/state tabulate-tbf/state+headers
|
||||||
|
@ -234,6 +234,23 @@
|
||||||
(tbf/state (hash 'a -2 'b 1) 0)))
|
(tbf/state (hash 'a -2 'b 1) 0)))
|
||||||
'((1 2) (-2 1)))))
|
'((1 2) (-2 1)))))
|
||||||
|
|
||||||
|
(: sbfs/state->lists+headers (-> (Listof TBF/State)
|
||||||
|
(Pairof (Listof Variable)
|
||||||
|
(Listof (Listof Real)))))
|
||||||
|
(define (sbfs/state->lists+headers tbfs)
|
||||||
|
(cons (hash-map (tbf/state-w (car tbfs))
|
||||||
|
(λ ([x : Symbol] _) x) #t)
|
||||||
|
(sbfs/state->lists tbfs)))
|
||||||
|
|
||||||
|
(module+ test
|
||||||
|
(test-case "sbfs/state->list+headers"
|
||||||
|
(check-equal?
|
||||||
|
(sbfs/state->lists+headers (list (tbf/state (hash 'a 1 'b 2) 0)
|
||||||
|
(tbf/state (hash 'a -2 'b 1) 0)))
|
||||||
|
'((a b)
|
||||||
|
(1 2)
|
||||||
|
(-2 1)))))
|
||||||
|
|
||||||
(: tabulate-tbfs/state (-> (Listof TBF/State) (Listof (Listof Real))))
|
(: tabulate-tbfs/state (-> (Listof TBF/State) (Listof (Listof Real))))
|
||||||
(define (tabulate-tbfs/state tbfs)
|
(define (tabulate-tbfs/state tbfs)
|
||||||
(define vars (hash-map (tbf/state-w (car tbfs)) (λ ([x : Variable] _) x) #t))
|
(define vars (hash-map (tbf/state-w (car tbfs)) (λ ([x : Variable] _) x) #t))
|
||||||
|
|
Loading…
Reference in a new issue