Enum tract_core::internal::tract_ndarray::SliceInfoElem [−][src]
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
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.
Show fields
Index(isize)A single index.
A new axis of length 1.
Implementations
impl SliceInfoElem[src]
impl SliceInfoElem[src]Trait Implementations
impl Clone for SliceInfoElem[src]
impl Clone for SliceInfoElem[src]pub fn clone(&self) -> SliceInfoElem[src]
pub fn clone(&self) -> SliceInfoElem[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for SliceInfoElem[src]
impl Debug for SliceInfoElem[src]impl Display for SliceInfoElem[src]
impl Display for SliceInfoElem[src]impl From<NewAxis> for SliceInfoElem[src]
impl From<NewAxis> for SliceInfoElem[src]pub fn from(NewAxis) -> SliceInfoElem[src]
pub fn from(NewAxis) -> SliceInfoElem[src]Performs the conversion.
impl From<Range<i32>> for SliceInfoElem[src]
impl From<Range<i32>> for SliceInfoElem[src]pub fn from(r: Range<i32>) -> SliceInfoElem[src]
pub fn from(r: Range<i32>) -> SliceInfoElem[src]Performs the conversion.
impl From<Range<isize>> for SliceInfoElem[src]
impl From<Range<isize>> for SliceInfoElem[src]pub fn from(r: Range<isize>) -> SliceInfoElem[src]
pub fn from(r: Range<isize>) -> SliceInfoElem[src]Performs the conversion.
impl From<Range<usize>> for SliceInfoElem[src]
impl From<Range<usize>> for SliceInfoElem[src]pub fn from(r: Range<usize>) -> SliceInfoElem[src]
pub fn from(r: Range<usize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeFrom<i32>> for SliceInfoElem[src]
impl From<RangeFrom<i32>> for SliceInfoElem[src]pub fn from(r: RangeFrom<i32>) -> SliceInfoElem[src]
pub fn from(r: RangeFrom<i32>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeFrom<isize>> for SliceInfoElem[src]
impl From<RangeFrom<isize>> for SliceInfoElem[src]pub fn from(r: RangeFrom<isize>) -> SliceInfoElem[src]
pub fn from(r: RangeFrom<isize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeFrom<usize>> for SliceInfoElem[src]
impl From<RangeFrom<usize>> for SliceInfoElem[src]pub fn from(r: RangeFrom<usize>) -> SliceInfoElem[src]
pub fn from(r: RangeFrom<usize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeFull> for SliceInfoElem[src]
impl From<RangeFull> for SliceInfoElem[src]pub fn from(RangeFull) -> SliceInfoElem[src]
pub fn from(RangeFull) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeInclusive<i32>> for SliceInfoElem[src]
impl From<RangeInclusive<i32>> for SliceInfoElem[src]pub fn from(r: RangeInclusive<i32>) -> SliceInfoElem[src]
pub fn from(r: RangeInclusive<i32>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeInclusive<isize>> for SliceInfoElem[src]
impl From<RangeInclusive<isize>> for SliceInfoElem[src]pub fn from(r: RangeInclusive<isize>) -> SliceInfoElem[src]
pub fn from(r: RangeInclusive<isize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeInclusive<usize>> for SliceInfoElem[src]
impl From<RangeInclusive<usize>> for SliceInfoElem[src]pub fn from(r: RangeInclusive<usize>) -> SliceInfoElem[src]
pub fn from(r: RangeInclusive<usize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeTo<i32>> for SliceInfoElem[src]
impl From<RangeTo<i32>> for SliceInfoElem[src]pub fn from(r: RangeTo<i32>) -> SliceInfoElem[src]
pub fn from(r: RangeTo<i32>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeTo<isize>> for SliceInfoElem[src]
impl From<RangeTo<isize>> for SliceInfoElem[src]pub fn from(r: RangeTo<isize>) -> SliceInfoElem[src]
pub fn from(r: RangeTo<isize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeTo<usize>> for SliceInfoElem[src]
impl From<RangeTo<usize>> for SliceInfoElem[src]pub fn from(r: RangeTo<usize>) -> SliceInfoElem[src]
pub fn from(r: RangeTo<usize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeToInclusive<i32>> for SliceInfoElem[src]
impl From<RangeToInclusive<i32>> for SliceInfoElem[src]pub fn from(r: RangeToInclusive<i32>) -> SliceInfoElem[src]
pub fn from(r: RangeToInclusive<i32>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeToInclusive<isize>> for SliceInfoElem[src]
impl From<RangeToInclusive<isize>> for SliceInfoElem[src]pub fn from(r: RangeToInclusive<isize>) -> SliceInfoElem[src]
pub fn from(r: RangeToInclusive<isize>) -> SliceInfoElem[src]Performs the conversion.
impl From<RangeToInclusive<usize>> for SliceInfoElem[src]
impl From<RangeToInclusive<usize>> for SliceInfoElem[src]pub fn from(r: RangeToInclusive<usize>) -> SliceInfoElem[src]
pub fn from(r: RangeToInclusive<usize>) -> SliceInfoElem[src]Performs the conversion.
impl From<Slice> for SliceInfoElem[src]
impl From<Slice> for SliceInfoElem[src]pub fn from(s: Slice) -> SliceInfoElem[src]
pub fn from(s: Slice) -> SliceInfoElem[src]Performs the conversion.
impl From<i32> for SliceInfoElem[src]
impl From<i32> for SliceInfoElem[src]pub fn from(r: i32) -> SliceInfoElem[src]
pub fn from(r: i32) -> SliceInfoElem[src]Performs the conversion.
impl From<isize> for SliceInfoElem[src]
impl From<isize> for SliceInfoElem[src]pub fn from(r: isize) -> SliceInfoElem[src]
pub fn from(r: isize) -> SliceInfoElem[src]Performs the conversion.
impl From<usize> for SliceInfoElem[src]
impl From<usize> for SliceInfoElem[src]pub fn from(r: usize) -> SliceInfoElem[src]
pub fn from(r: usize) -> SliceInfoElem[src]Performs the conversion.
impl Hash for SliceInfoElem[src]
impl Hash for SliceInfoElem[src]impl PartialEq<SliceInfoElem> for SliceInfoElem[src]
impl PartialEq<SliceInfoElem> for SliceInfoElem[src]pub fn eq(&self, other: &SliceInfoElem) -> bool[src]
pub fn eq(&self, other: &SliceInfoElem) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
pub fn ne(&self, other: &SliceInfoElem) -> bool[src]
pub fn ne(&self, other: &SliceInfoElem) -> bool[src]This method tests for !=.
impl Copy for SliceInfoElem[src]
impl Eq for SliceInfoElem[src]
impl StructuralEq for SliceInfoElem[src]
impl StructuralPartialEq for SliceInfoElem[src]
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
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any, [src]
impl<T> Downcast for T where
T: Any, [src]pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;[src]
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;[src]Convert 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 more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)[src]
pub fn as_any(&self) -> &(dyn Any + 'static)[src]Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more