networks: Make update accept any kind of sets of variables.

This commit is contained in:
Sergiu Ivanov 2020-02-23 12:10:27 +01:00
parent cbf949ba5a
commit f9191287e1

View file

@ -10,13 +10,13 @@
;;; This model can generalise Boolean networks, TBANs, multivalued ;;; This model can generalise Boolean networks, TBANs, multivalued
;;; networks, etc. ;;; networks, etc.
(require "utils.rkt" graph) (require "utils.rkt" "generic.rkt" graph)
(provide (provide
;; Structures ;; Structures
(struct-out dynamics) (struct-out dynamics)
;; Functions ;; Functions
(contract-out [update (-> network? state? (listof variable?) state?)] (contract-out [update (-> network? state? (set/c variable? #:kind 'dont-care) state?)]
[make-state (-> (listof (cons/c symbol? any/c)) state?)] [make-state (-> (listof (cons/c symbol? any/c)) state?)]
[make-network-from-functions (-> (listof (cons/c symbol? update-function/c)) network?)] [make-network-from-functions (-> (listof (cons/c symbol? update-function/c)) network?)]
[update-function-form->update-function (-> update-function-form? update-function/c)] [update-function-form->update-function (-> update-function-form? update-function/c)]