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