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§
Sourcefn 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,
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 theIterGetSetSimd
,UnindexedProducer
, andParallelIterator
traits, and its associatedItem
type must beSend
.
§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.