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