rs,union-products: Return an empty set when no reaction names are given.
This commit is contained in:
parent
6427af17c8
commit
868988c966
1 changed files with 7 additions and 4 deletions
7
rs.rkt
7
rs.rkt
|
@ -51,15 +51,18 @@
|
||||||
name))
|
name))
|
||||||
|
|
||||||
;;; Returns the union of the product sets of the given reactions in a
|
;;; Returns the union of the product sets of the given reactions in a
|
||||||
;;; reaction system.
|
;;; reaction system. If no reactions are supplied, returns the empty
|
||||||
|
;;; set.
|
||||||
;;;
|
;;;
|
||||||
;;; This function can be seen as producing the result of the
|
;;; This function can be seen as producing the result of the
|
||||||
;;; application of the given reactions to a set. Clearly, it does not
|
;;; application of the given reactions to a set. Clearly, it does not
|
||||||
;;; check whether the reactions are actually enabled.
|
;;; check whether the reactions are actually enabled.
|
||||||
(define (union-products rs as)
|
(define (union-products rs as)
|
||||||
|
(if (empty? as)
|
||||||
|
(set)
|
||||||
(apply set-union
|
(apply set-union
|
||||||
(for/list ([a as])
|
(for/list ([a as])
|
||||||
(reaction-products (hash-ref rs a)))))
|
(reaction-products (hash-ref rs a))))))
|
||||||
|
|
||||||
;;; Applies a reaction system to a set.
|
;;; Applies a reaction system to a set.
|
||||||
(define (apply-rs rs s)
|
(define (apply-rs rs s)
|
||||||
|
|
Loading…
Reference in a new issue