pub struct PhysicalAxisMap { /* private fields */ }Expand description
One buffer dim as (Σ coordinate(axis) * scale + offset) / divisor, floored.
Implementations§
Source§impl PhysicalAxisMap
impl PhysicalAxisMap
Sourcepub fn broadcast() -> Self
pub fn broadcast() -> Self
A map addressing no logical axis: every position resolves to the same element.
pub fn of(axis: Axis) -> Self
Sourcepub fn disjoint(terms: &[(Axis, usize)]) -> Self
pub fn disjoint(terms: &[(Axis, usize)]) -> Self
This physical axis partitioned by several logical ones, coarsest first:
disjoint(&[(KB, 32), (KI, 1)]) is k = kb * 32 + ki.
Sourcepub fn affine(terms: &[(Axis, usize)]) -> Self
pub fn affine(terms: &[(Axis, usize)]) -> Self
An affine combination, e.g. affine(&[(Oh, stride), (Rh, dilation)]).
Sourcepub fn shifted(self, offset: impl Into<Offset>) -> Self
pub fn shifted(self, offset: impl Into<Offset>) -> Self
The same combination plus a signed constant or dynamic offset, added before any
over.
Trait Implementations§
Source§impl Clone for PhysicalAxisMap
impl Clone for PhysicalAxisMap
Source§impl Debug for PhysicalAxisMap
impl Debug for PhysicalAxisMap
impl Eq for PhysicalAxisMap
Source§impl From<Axis> for PhysicalAxisMap
A dim that is one coordinate: .dim(K).
impl From<Axis> for PhysicalAxisMap
A dim that is one coordinate: .dim(K).
Source§impl Hash for PhysicalAxisMap
impl Hash for PhysicalAxisMap
Source§impl PartialEq for PhysicalAxisMap
impl PartialEq for PhysicalAxisMap
impl StructuralPartialEq for PhysicalAxisMap
Auto Trait Implementations§
impl Freeze for PhysicalAxisMap
impl RefUnwindSafe for PhysicalAxisMap
impl Send for PhysicalAxisMap
impl Sync for PhysicalAxisMap
impl Unpin for PhysicalAxisMap
impl UnsafeUnpin for PhysicalAxisMap
impl UnwindSafe for PhysicalAxisMap
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more