pub struct Final { /* private fields */ }
Expand description
Data related to a finalized type, which can be extracted from a super::Type
if (and only if) it is finalized.
Implementations§
Source§impl Final
impl Final
Sourcepub fn two_two_n(n: usize) -> Arc<Self>
pub fn two_two_n(n: usize) -> Arc<Self>
Create the type 2^(2^n)
for the given n
.
The type is precomputed and fast to access.
Sourcepub fn u1() -> Arc<Self>
pub fn u1() -> Arc<Self>
Create the type of 1-bit words.
The type is precomputed and fast to access.
Sourcepub fn u2() -> Arc<Self>
pub fn u2() -> Arc<Self>
Create the type of 2-bit words.
The type is precomputed and fast to access.
Sourcepub fn u4() -> Arc<Self>
pub fn u4() -> Arc<Self>
Create the type of 4-bit words.
The type is precomputed and fast to access.
Sourcepub fn u8() -> Arc<Self>
pub fn u8() -> Arc<Self>
Create the type of 8-bit words.
The type is precomputed and fast to access.
Sourcepub fn u16() -> Arc<Self>
pub fn u16() -> Arc<Self>
Create the type of 16-bit words.
The type is precomputed and fast to access.
Sourcepub fn u32() -> Arc<Self>
pub fn u32() -> Arc<Self>
Create the type of 32-bit words.
The type is precomputed and fast to access.
Sourcepub fn u64() -> Arc<Self>
pub fn u64() -> Arc<Self>
Create the type of 64-bit words.
The type is precomputed and fast to access.
Sourcepub fn u128() -> Arc<Self>
pub fn u128() -> Arc<Self>
Create the type of 128-bit words.
The type is precomputed and fast to access.
Sourcepub fn u256() -> Arc<Self>
pub fn u256() -> Arc<Self>
Create the type of 256-bit words.
The type is precomputed and fast to access.
Sourcepub fn u512() -> Arc<Self>
pub fn u512() -> Arc<Self>
Create the type of 512-bit words.
The type is precomputed and fast to access.
Sourcepub fn sum(left: Arc<Self>, right: Arc<Self>) -> Arc<Self>
pub fn sum(left: Arc<Self>, right: Arc<Self>) -> Arc<Self>
Create the sum of the given left
and right
types.
Sourcepub fn product(left: Arc<Self>, right: Arc<Self>) -> Arc<Self>
pub fn product(left: Arc<Self>, right: Arc<Self>) -> Arc<Self>
Create the product of the given left
and right
types.
Sourcepub fn has_padding(&self) -> bool
pub fn has_padding(&self) -> bool
Whether the type’s bit representation has any padding.
If this is true, then its “compact” witness-encoded bit-width may be lower than its “padded” bit-machine bit-width.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Check if the type is a nested product of units. In this case, values contain no information.
Sourcepub fn bound(&self) -> &CompleteBound
pub fn bound(&self) -> &CompleteBound
Accessor for the type bound
Sourcepub fn as_product(&self) -> Option<(&Arc<Self>, &Arc<Self>)>
pub fn as_product(&self) -> Option<(&Arc<Self>, &Arc<Self>)>
Access the inner types of a product type.