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