pub struct ShufflePlan { /* private fields */ }Expand description
A validated permutation and duplication of whole logical value groups.
Input and output units are numbered from the bottom of the stack. The unit-level constructor makes decoded stack-machine instructions convenient to express while ensuring execution can never split a multi-unit value.
Implementations§
Source§impl ShufflePlan
impl ShufflePlan
Sourcepub fn new(
input_widths: impl IntoIterator<Item = usize>,
output_units: impl IntoIterator<Item = usize>,
) -> Result<Self, ShuffleError>
pub fn new( input_widths: impl IntoIterator<Item = usize>, output_units: impl IntoIterator<Item = usize>, ) -> Result<Self, ShuffleError>
Validates a unit-level output layout against whole input value groups.
A group may be omitted, moved, or repeated. Every occurrence must name all of its units exactly once and in their original order.
Trait Implementations§
Source§impl Clone for ShufflePlan
impl Clone for ShufflePlan
Source§fn clone(&self) -> ShufflePlan
fn clone(&self) -> ShufflePlan
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 Debug for ShufflePlan
impl Debug for ShufflePlan
impl Eq for ShufflePlan
Source§impl PartialEq for ShufflePlan
impl PartialEq for ShufflePlan
impl StructuralPartialEq for ShufflePlan
Auto Trait Implementations§
impl Freeze for ShufflePlan
impl RefUnwindSafe for ShufflePlan
impl Send for ShufflePlan
impl Sync for ShufflePlan
impl Unpin for ShufflePlan
impl UnsafeUnpin for ShufflePlan
impl UnwindSafe for ShufflePlan
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