Basic constructor macro for tyspecseq-sint structures.
(make-tyspecseq-sint [:signed <signed>] [:int <int>])
This is the usual way to construct tyspecseq-sint structures. It simply conses together a structure with the specified fields.
This macro generates a new tyspecseq-sint structure from scratch. See also change-tyspecseq-sint, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-tyspecseq-sint (&rest args) (std::make-aggregate 'tyspecseq-sint args '((:signed) (:int)) 'make-tyspecseq-sint nil))
Function:
(defun tyspecseq-sint (signed int) (declare (xargs :guard (and (booleanp signed) (booleanp int)))) (declare (xargs :guard (or signed int))) (let ((__function__ 'tyspecseq-sint)) (declare (ignorable __function__)) (b* ((signed (mbe :logic (acl2::bool-fix signed) :exec signed)) (int (mbe :logic (acl2::bool-fix int) :exec int))) (let ((signed (mbe :logic (if (not int) t signed) :exec signed)) (int (mbe :logic (if (not signed) t int) :exec int))) (cons :sint (list signed int))))))