Enum tract_core::internal::tract_ndarray::SliceInfoElem
source · [−]pub enum SliceInfoElem {
Slice {
start: isize,
end: Option<isize>,
step: isize,
},
Index(isize),
NewAxis,
}Expand description
A slice (range with step), an index, or a new axis token.
See also the s![] macro for a convenient way to create a
SliceInfo<[SliceInfoElem; n], Din, Dout>.
Examples
SliceInfoElem::Index(a) is the index a. It can also be created with
SliceInfoElem::from(a). The Python equivalent is [a]. The macro
equivalent is s![a].
SliceInfoElem::Slice { start: 0, end: None, step: 1 } is the full range
of an axis. It can also be created with SliceInfoElem::from(..). The
Python equivalent is [:]. The macro equivalent is s![..].
SliceInfoElem::Slice { start: a, end: Some(b), step: 2 } is every second
element from a until b. It can also be created with
SliceInfoElem::from(Slice::from(a..b).step_by(2)). The Python equivalent
is [a:b:2]. The macro equivalent is s![a..b;2].
SliceInfoElem::Slice { start: a, end: None, step: -1 } is every element,
from a until the end, in reverse order. It can also be created with
SliceInfoElem::from(Slice::from(a..).step_by(-1)). The Python equivalent
is [a::-1]. The macro equivalent is s![a..;-1].
SliceInfoElem::NewAxis is a new axis of length 1. It can also be created
with SliceInfoElem::from(NewAxis). The Python equivalent is
[np.newaxis]. The macro equivalent is s![NewAxis].
Variants
Slice
Fields
start: isizestart index; negative are counted from the back of the axis
end: Option<isize>end index; negative are counted from the back of the axis; when not present the default is the full length of the axis.
step: isizestep size in elements; the default is 1, for every element.
A range with step size. end is an exclusive index. Negative start
or end indexes are counted from the back of the axis. If end is
None, the slice extends to the end of the axis.
Index(isize)
A single index.
NewAxis
A new axis of length 1.
Implementations
Trait Implementations
sourceimpl Clone for SliceInfoElem
impl Clone for SliceInfoElem
sourcefn clone(&self) -> SliceInfoElem
fn clone(&self) -> SliceInfoElem
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl Debug for SliceInfoElem
impl Debug for SliceInfoElem
sourceimpl Display for SliceInfoElem
impl Display for SliceInfoElem
sourceimpl From<NewAxis> for SliceInfoElem
impl From<NewAxis> for SliceInfoElem
sourcefn from(NewAxis) -> SliceInfoElem
fn from(NewAxis) -> SliceInfoElem
sourceimpl From<Range<i32>> for SliceInfoElem
impl From<Range<i32>> for SliceInfoElem
sourcefn from(r: Range<i32>) -> SliceInfoElem
fn from(r: Range<i32>) -> SliceInfoElem
sourceimpl From<Range<isize>> for SliceInfoElem
impl From<Range<isize>> for SliceInfoElem
sourcefn from(r: Range<isize>) -> SliceInfoElem
fn from(r: Range<isize>) -> SliceInfoElem
sourceimpl From<Range<usize>> for SliceInfoElem
impl From<Range<usize>> for SliceInfoElem
sourcefn from(r: Range<usize>) -> SliceInfoElem
fn from(r: Range<usize>) -> SliceInfoElem
sourceimpl From<RangeFrom<i32>> for SliceInfoElem
impl From<RangeFrom<i32>> for SliceInfoElem
sourcefn from(r: RangeFrom<i32>) -> SliceInfoElem
fn from(r: RangeFrom<i32>) -> SliceInfoElem
sourceimpl From<RangeFrom<isize>> for SliceInfoElem
impl From<RangeFrom<isize>> for SliceInfoElem
sourcefn from(r: RangeFrom<isize>) -> SliceInfoElem
fn from(r: RangeFrom<isize>) -> SliceInfoElem
sourceimpl From<RangeFrom<usize>> for SliceInfoElem
impl From<RangeFrom<usize>> for SliceInfoElem
sourcefn from(r: RangeFrom<usize>) -> SliceInfoElem
fn from(r: RangeFrom<usize>) -> SliceInfoElem
sourceimpl From<RangeFull> for SliceInfoElem
impl From<RangeFull> for SliceInfoElem
sourcefn from(RangeFull) -> SliceInfoElem
fn from(RangeFull) -> SliceInfoElem
sourceimpl From<RangeInclusive<i32>> for SliceInfoElem
impl From<RangeInclusive<i32>> for SliceInfoElem
sourcefn from(r: RangeInclusive<i32>) -> SliceInfoElem
fn from(r: RangeInclusive<i32>) -> SliceInfoElem
sourceimpl From<RangeInclusive<isize>> for SliceInfoElem
impl From<RangeInclusive<isize>> for SliceInfoElem
sourcefn from(r: RangeInclusive<isize>) -> SliceInfoElem
fn from(r: RangeInclusive<isize>) -> SliceInfoElem
sourceimpl From<RangeInclusive<usize>> for SliceInfoElem
impl From<RangeInclusive<usize>> for SliceInfoElem
sourcefn from(r: RangeInclusive<usize>) -> SliceInfoElem
fn from(r: RangeInclusive<usize>) -> SliceInfoElem
sourceimpl From<RangeTo<i32>> for SliceInfoElem
impl From<RangeTo<i32>> for SliceInfoElem
sourcefn from(r: RangeTo<i32>) -> SliceInfoElem
fn from(r: RangeTo<i32>) -> SliceInfoElem
sourceimpl From<RangeTo<isize>> for SliceInfoElem
impl From<RangeTo<isize>> for SliceInfoElem
sourcefn from(r: RangeTo<isize>) -> SliceInfoElem
fn from(r: RangeTo<isize>) -> SliceInfoElem
sourceimpl From<RangeTo<usize>> for SliceInfoElem
impl From<RangeTo<usize>> for SliceInfoElem
sourcefn from(r: RangeTo<usize>) -> SliceInfoElem
fn from(r: RangeTo<usize>) -> SliceInfoElem
sourceimpl From<RangeToInclusive<i32>> for SliceInfoElem
impl From<RangeToInclusive<i32>> for SliceInfoElem
sourcefn from(r: RangeToInclusive<i32>) -> SliceInfoElem
fn from(r: RangeToInclusive<i32>) -> SliceInfoElem
sourceimpl From<RangeToInclusive<isize>> for SliceInfoElem
impl From<RangeToInclusive<isize>> for SliceInfoElem
sourcefn from(r: RangeToInclusive<isize>) -> SliceInfoElem
fn from(r: RangeToInclusive<isize>) -> SliceInfoElem
sourceimpl From<RangeToInclusive<usize>> for SliceInfoElem
impl From<RangeToInclusive<usize>> for SliceInfoElem
sourcefn from(r: RangeToInclusive<usize>) -> SliceInfoElem
fn from(r: RangeToInclusive<usize>) -> SliceInfoElem
sourceimpl From<Slice> for SliceInfoElem
impl From<Slice> for SliceInfoElem
sourcefn from(s: Slice) -> SliceInfoElem
fn from(s: Slice) -> SliceInfoElem
sourceimpl From<i32> for SliceInfoElem
impl From<i32> for SliceInfoElem
sourcefn from(r: i32) -> SliceInfoElem
fn from(r: i32) -> SliceInfoElem
sourceimpl From<isize> for SliceInfoElem
impl From<isize> for SliceInfoElem
sourcefn from(r: isize) -> SliceInfoElem
fn from(r: isize) -> SliceInfoElem
sourceimpl From<usize> for SliceInfoElem
impl From<usize> for SliceInfoElem
sourcefn from(r: usize) -> SliceInfoElem
fn from(r: usize) -> SliceInfoElem
sourceimpl Hash for SliceInfoElem
impl Hash for SliceInfoElem
sourceimpl PartialEq<SliceInfoElem> for SliceInfoElem
impl PartialEq<SliceInfoElem> for SliceInfoElem
sourcefn eq(&self, other: &SliceInfoElem) -> bool
fn eq(&self, other: &SliceInfoElem) -> bool
impl Copy for SliceInfoElem
impl Eq for SliceInfoElem
impl StructuralEq for SliceInfoElem
impl StructuralPartialEq for SliceInfoElem
Auto Trait Implementations
impl RefUnwindSafe for SliceInfoElem
impl Send for SliceInfoElem
impl Sync for SliceInfoElem
impl Unpin for SliceInfoElem
impl UnwindSafe for SliceInfoElem
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read moresourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read moresourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read moresourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more