Trait StridedSimdIteratorZip

Source
pub trait StridedSimdIteratorZip: Sized {
    // Provided method
    fn zip<'a, C>(self, other: C) -> StridedZipSimd<'a, Self, C>
       where C: 'a + IterGetSetSimd,
             <C as IterGetSetSimd>::Item: Send,
             Self: IterGetSetSimd,
             <Self as IterGetSetSimd>::Item: Send { ... }
}
Expand description

A trait to zip two simd iterators together.

Provided Methods§

Source

fn zip<'a, C>(self, other: C) -> StridedZipSimd<'a, Self, C>
where C: 'a + IterGetSetSimd, <C as IterGetSetSimd>::Item: Send, Self: IterGetSetSimd, <Self as IterGetSetSimd>::Item: Send,

Combines this iterator with another SIMD-optimized iterator, enabling simultaneous iteration.

This method performs shape broadcasting between self and other to ensure that both iterators iterate over tensors with compatible shapes. It adjusts the strides and shapes of both iterators to match the broadcasted shape and then returns a StridedZipSimd that allows for synchronized iteration over both iterators.

§Arguments
  • other - The other iterator to zip with. It must implement the IterGetSetSimd, UnindexedProducer, and ParallelIterator traits, and its associated Item type must be Send.
§Returns

A StridedZipSimd instance that zips together self and other, enabling synchronized iteration over their elements.

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.

Implementors§