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)) (b* ((significand (mbe :logic (hex-frac-const-fix significand) :exec significand)) (expo (mbe :logic (bin-expo-fix expo) :exec expo))) (cons :frac (cons significand expo))))