Long-format-32tcnt
The (unsigned and signed) long format defined by
32 bits with increasing values,
two's complement,
and no trap representations.
- Signature
(long-format-32tcnt) → format
- Returns
- format — Type (integer-formatp format).
This is the simplest and smallest format for long integers,
with two's complement being the most common signed format.
There cannot be any padding bits,
otherwise the value bits would not suffice to cover
the required ranges of values.
With no padding bits, there is only one possible trap representation,
namely the one with sign bit 1 and all value bits 0,
but the simplest and most common choice is that it is a valid value instead
(the smallest signed value representable in the type).
Definitions and Theorems
Function: long-format-32tcnt
(defun long-format-32tcnt nil
(declare (xargs :guard t))
(let ((__function__ 'long-format-32tcnt))
(declare (ignorable __function__))
(integer-format-inc-sign-tcnpnt 32)))
Theorem: integer-formatp-of-long-format-32tcnt
(defthm integer-formatp-of-long-format-32tcnt
(b* ((format (long-format-32tcnt)))
(integer-formatp format))
:rule-classes :rewrite)
Theorem: integer-format-long-wfp-of-long-format-32tcnt
(defthm integer-format-long-wfp-of-long-format-32tcnt
(integer-format-long-wfp (long-format-32tcnt)
(uchar-format-8)
(int-format-16tcnt)))