pub trait Shapeable {
// Required methods
fn kind(&self) -> ShardKind;
fn shard(&self) -> u32;
fn log2_shard_size(&self) -> usize;
fn debug_stats(&self) -> HashMap<String, usize>;
fn core_heights(&self) -> Vec<(RiscvAirId, usize)>;
fn memory_heights(&self) -> Vec<(RiscvAirId, usize)>;
fn precompile_heights(
&self,
) -> impl Iterator<Item = (RiscvAirId, (usize, usize, usize))>;
}Required Methods§
fn kind(&self) -> ShardKind
fn shard(&self) -> u32
fn log2_shard_size(&self) -> usize
fn debug_stats(&self) -> HashMap<String, usize>
fn core_heights(&self) -> Vec<(RiscvAirId, usize)>
fn memory_heights(&self) -> Vec<(RiscvAirId, usize)>
Sourcefn precompile_heights(
&self,
) -> impl Iterator<Item = (RiscvAirId, (usize, usize, usize))>
fn precompile_heights( &self, ) -> impl Iterator<Item = (RiscvAirId, (usize, usize, usize))>
TODO. Returns all precompile events, assuming there is only one kind in Self.
The tuple is of the form (height, (num_memory_local_events, num_global_events))
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.