Type ht-str-triples->rs.
This commit is contained in:
parent
e884a2ee07
commit
aae2e1f964
2 changed files with 26 additions and 1 deletions
16
rs.rkt
16
rs.rkt
|
@ -7,7 +7,7 @@
|
||||||
Species (struct-out reaction) Reaction ReactionName ReactionSystem
|
Species (struct-out reaction) Reaction ReactionName ReactionSystem
|
||||||
make-reaction enabled? list-enabled union-products apply-rs
|
make-reaction enabled? list-enabled union-products apply-rs
|
||||||
|
|
||||||
str-triple->reaction
|
str-triple->reaction ht-str-triples->rs
|
||||||
)
|
)
|
||||||
|
|
||||||
(module+ test
|
(module+ test
|
||||||
|
@ -106,6 +106,20 @@
|
||||||
(test-case "str-triple->reaction"
|
(test-case "str-triple->reaction"
|
||||||
(check-equal? (str-triple->reaction '("a b" "c d" "e f"))
|
(check-equal? (str-triple->reaction '("a b" "c d" "e f"))
|
||||||
(reaction (set 'b 'a) (set 'c 'd) (set 'f 'e)))))
|
(reaction (set 'b 'a) (set 'c 'd) (set 'f 'e)))))
|
||||||
|
|
||||||
|
(: ht-str-triples->rs (-> (HashTable ReactionName (List String String String))
|
||||||
|
ReactionSystem))
|
||||||
|
(define (ht-str-triples->rs ht)
|
||||||
|
(for/hash : (HashTable ReactionName Reaction)
|
||||||
|
([(a triple) (in-hash ht)])
|
||||||
|
(values a (str-triple->reaction triple))))
|
||||||
|
|
||||||
|
(module+ test
|
||||||
|
(test-case "ht-str-triples->rs"
|
||||||
|
(check-equal? (ht-str-triples->rs (hash 'a (list "x y" "" "k i")
|
||||||
|
'b (list "" "x y" "t j")))
|
||||||
|
(hash 'a (reaction (set 'y 'x) (set) (set 'k 'i))
|
||||||
|
'b (reaction (set) (set 'y 'x) (set 't 'j))))))
|
||||||
)
|
)
|
||||||
|
|
||||||
(require graph "utils.rkt" "generic.rkt")
|
(require graph "utils.rkt" "generic.rkt")
|
||||||
|
|
|
@ -137,6 +137,17 @@ Converts a triple of strings to a reaction.
|
||||||
(str-triple->reaction '("a b" "c d" "e f"))
|
(str-triple->reaction '("a b" "c d" "e f"))
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
@defproc[(ht-str-triples->rs [ht (HashTable ReactionName (List String String String))])
|
||||||
|
ReactionSystem]{
|
||||||
|
|
||||||
|
Converts a hash table mapping reaction names to triples of strings to
|
||||||
|
a reaction system.
|
||||||
|
|
||||||
|
@ex[
|
||||||
|
(ht-str-triples->rs (hash 'a (list "x y" "" "k i")
|
||||||
|
'b (list "" "x y" "t j")))
|
||||||
|
]}
|
||||||
|
|
||||||
|
|
||||||
@section{Dynamics of reaction systems}
|
@section{Dynamics of reaction systems}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue