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