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