Basic constructor macro for vl-simpconfig structures.
(make-vl-simpconfig [:compress-p <compress-p>] [:problem-mods <problem-mods>] [:clean-params-p <clean-params-p>] [:unroll-limit <unroll-limit>])
This is the usual way to construct vl-simpconfig structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-simpconfig structure from scratch. See also change-vl-simpconfig, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-simpconfig (&rest args) (std::make-aggregate 'vl-simpconfig args '((:compress-p) (:problem-mods) (:clean-params-p . t) (:unroll-limit . 1000)) 'make-vl-simpconfig nil))
Function:
(defun vl-simpconfig (compress-p problem-mods clean-params-p unroll-limit) (declare (xargs :guard (and (booleanp compress-p) (string-listp problem-mods) (booleanp clean-params-p) (natp unroll-limit)))) (declare (xargs :guard t)) (let ((__function__ 'vl-simpconfig)) (declare (ignorable __function__)) (b* ((compress-p (mbe :logic (acl2::bool-fix compress-p) :exec compress-p)) (problem-mods (mbe :logic (string-list-fix problem-mods) :exec problem-mods)) (clean-params-p (mbe :logic (acl2::bool-fix clean-params-p) :exec clean-params-p)) (unroll-limit (mbe :logic (nfix unroll-limit) :exec unroll-limit))) (cons :vl-simpconfig (list (cons 'compress-p compress-p) (cons 'problem-mods problem-mods) (cons 'clean-params-p clean-params-p) (cons 'unroll-limit unroll-limit))))))