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