pub struct FixedPointShape<const INT_BITS: u32, const FRAC_BITS: u32>;Expand description
Parametric ConstrainedTypeShape carrying an 8-byte Q-format value.
INT_BITS + FRAC_BITS = 64 is the canonical full-container case;
other splits within ≤ 64 are admissible. The shape’s identity
flows through (SITE_COUNT, CONSTRAINTS) per ADR-017’s closure
rule — distinct (I, F) instantiations content-address identically
when their site counts coincide.
Trait Implementations§
Source§impl<const INT_BITS: u32, const FRAC_BITS: u32> Clone for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Clone for FixedPointShape<INT_BITS, FRAC_BITS>
Source§fn clone(&self) -> FixedPointShape<INT_BITS, FRAC_BITS>
fn clone(&self) -> FixedPointShape<INT_BITS, FRAC_BITS>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const INT_BITS: u32, const FRAC_BITS: u32> ConstrainedTypeShape for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> ConstrainedTypeShape for FixedPointShape<INT_BITS, FRAC_BITS>
Source§const IRI: &'static str = "https://uor.foundation/type/ConstrainedType"
const IRI: &'static str = "https://uor.foundation/type/ConstrainedType"
IRI of the ontology
type:ConstrainedType instance this shape represents.Source§const SITE_COUNT: usize = WIDTH
const SITE_COUNT: usize = WIDTH
Number of sites (fields) this constrained type carries.
Source§const CONSTRAINTS: &'static [ConstraintRef]
const CONSTRAINTS: &'static [ConstraintRef]
Per-site constraint list. Empty means unconstrained.
Source§const CYCLE_SIZE: u64
const CYCLE_SIZE: u64
ADR-032: cardinality of the shape’s value-set (the cycle
structure of the shape under the substrate’s discrete-clock
model). Used by the
prism_model! macro to lower first_admit
(closure-body grammar G16) to the correct descent measure.
Conventions: Read moreSource§const SITE_BUDGET: usize = Self::SITE_COUNT
const SITE_BUDGET: usize = Self::SITE_COUNT
Ontology-level
siteBudget: count of data sites only,
excluding bookkeeping introduced by composition (coproduct tag
sites, etc.). Equals SITE_COUNT for leaf shapes and for
shapes whose composition introduces no bookkeeping (products,
cartesian products). Strictly less than SITE_COUNT for coproduct
shapes and any shape whose SITE_COUNT includes inherited
bookkeeping. Introduced by the Product/Coproduct Completion
Amendment §4a; defaults to SITE_COUNT so pre-amendment
shape impls remain valid without edits.Source§impl<const INT_BITS: u32, const FRAC_BITS: u32> Debug for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Debug for FixedPointShape<INT_BITS, FRAC_BITS>
Source§impl<const INT_BITS: u32, const FRAC_BITS: u32> IntoBindingValue for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> IntoBindingValue for FixedPointShape<INT_BITS, FRAC_BITS>
Source§const MAX_BYTES: usize = WIDTH
const MAX_BYTES: usize = WIDTH
Maximum byte length any value of this shape can produce when
serialized via [
into_binding_bytes]. Used by run_route to
size the on-stack buffer and reject inputs that would overflow.Source§fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation>
fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation>
Serialize this input value into the binding-table form.
out is a
fixed-capacity buffer the call-site provides; the implementation
writes the canonical content-addressable byte sequence and returns
the written length. Read moreimpl<const INT_BITS: u32, const FRAC_BITS: u32> Copy for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> GroundedShape for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Sealed for FixedPointShape<INT_BITS, FRAC_BITS>
Auto Trait Implementations§
impl<const INT_BITS: u32, const FRAC_BITS: u32> Freeze for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> RefUnwindSafe for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Send for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Sync for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> Unpin for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> UnsafeUnpin for FixedPointShape<INT_BITS, FRAC_BITS>
impl<const INT_BITS: u32, const FRAC_BITS: u32> UnwindSafe for FixedPointShape<INT_BITS, FRAC_BITS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more