pub enum BidiSchedule {
StridedCyclic,
StridedStretched,
SymmetricCyclic,
SymmetricStretched,
Custom(Vec<usize>),
}Variants§
StridedCyclic
Use even virtual positions for straight-direction (→), and odd virtual positions for reverse-direction (←), wrapping around for each schedule.
§Example
- virtual len = 10, real len = 4:
→ ← → ← → ← → ← → ←[(0⇒0, 1⇒1), (2⇒2, 3⇒3)], [(4⇒0, 5⇒1), (6⇒2, 7⇒3)], [(8⇒0, 9⇒1), (...)]
StridedStretched
Use even virtual positions for straight-direction (→), and odd virtual positions for reverse-direction (←), stretching for each schedule.
§Example
- virtual len = 10, real len = 4:
→ ← → ← → ← → ← → ←[(0⇒0, 1⇒1), (2⇒0, 3⇒1), (4⇒0, 5⇒1)], [(6⇒2, 7⇒3), (8⇒2, 9⇒3), (...)]
SymmetricCyclic
Fills virtual positions by wrapping around the real schedule in a looping fashion, replicating between the straight (→) and reverse (←) directions.
§Example
- virtual len = 10, real len = 4:
→ ← → ← → ← → ← → ←[(0⇒0, 1⇒0), (2⇒1, 3⇒1), (4⇒2, 5⇒2), (6⇒3, 7⇒3)], [(8⇒0, 9⇒0), (...)]
SymmetricStretched
Fills virtual positions by stretching the real schedule, replicating between the straight (→) and reverse (←) directions.
§Example
- virtual len = 10, real len = 4:
→ ← → ← → ← → ← → ←[(0⇒0, 1⇒0), (2⇒0, 3⇒0)],[(4⇒1, 5⇒1), (...)], [(6⇒2, 7⇒2)], [(8⇒3, 9⇒3)]
Custom(Vec<usize>)
Fills virtual positions by referring to the index vector.
§Example
- virtual len = 10, real len = 4, custom = [0, 1, 2, 2, 1, 0, 0, 0, 3, 2]:
→ ← → ← → ← → ← → ←[(0⇒0, 1⇒1)], [(2⇒2, 3⇒2)], [(4⇒1, 5⇒0)], [(6⇒0, 7⇒0)], [(8⇒3, 9⇒2)], [(...)]
Implementations§
Trait Implementations§
Source§impl Clone for BidiSchedule
impl Clone for BidiSchedule
Source§fn clone(&self) -> BidiSchedule
fn clone(&self) -> BidiSchedule
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 BidiSchedule
impl Debug for BidiSchedule
Source§impl Default for BidiSchedule
impl Default for BidiSchedule
Source§fn default() -> BidiSchedule
fn default() -> BidiSchedule
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for BidiSchedule
impl<'de> Deserialize<'de> for BidiSchedule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BidiSchedule
impl RefUnwindSafe for BidiSchedule
impl Send for BidiSchedule
impl Sync for BidiSchedule
impl Unpin for BidiSchedule
impl UnsafeUnpin for BidiSchedule
impl UnwindSafe for BidiSchedule
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