Enum extendr_api::prelude::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
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§
source§impl Clone for SliceInfoElem
impl Clone for SliceInfoElem
source§fn clone(&self) -> SliceInfoElem
fn clone(&self) -> SliceInfoElem
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SliceInfoElem
impl Debug for SliceInfoElem
source§impl Display for SliceInfoElem
impl Display for SliceInfoElem
source§impl From<NewAxis> for SliceInfoElem
impl From<NewAxis> for SliceInfoElem
source§fn from(_: NewAxis) -> SliceInfoElem
fn from(_: NewAxis) -> SliceInfoElem
source§impl From<RangeFull> for SliceInfoElem
impl From<RangeFull> for SliceInfoElem
source§fn from(_: RangeFull) -> SliceInfoElem
fn from(_: RangeFull) -> SliceInfoElem
source§impl From<RangeInclusive<i32>> for SliceInfoElem
impl From<RangeInclusive<i32>> for SliceInfoElem
source§fn from(r: RangeInclusive<i32>) -> SliceInfoElem
fn from(r: RangeInclusive<i32>) -> SliceInfoElem
source§impl From<RangeInclusive<isize>> for SliceInfoElem
impl From<RangeInclusive<isize>> for SliceInfoElem
source§fn from(r: RangeInclusive<isize>) -> SliceInfoElem
fn from(r: RangeInclusive<isize>) -> SliceInfoElem
source§impl From<RangeInclusive<usize>> for SliceInfoElem
impl From<RangeInclusive<usize>> for SliceInfoElem
source§fn from(r: RangeInclusive<usize>) -> SliceInfoElem
fn from(r: RangeInclusive<usize>) -> SliceInfoElem
source§impl From<RangeToInclusive<i32>> for SliceInfoElem
impl From<RangeToInclusive<i32>> for SliceInfoElem
source§fn from(r: RangeToInclusive<i32>) -> SliceInfoElem
fn from(r: RangeToInclusive<i32>) -> SliceInfoElem
source§impl From<RangeToInclusive<isize>> for SliceInfoElem
impl From<RangeToInclusive<isize>> for SliceInfoElem
source§fn from(r: RangeToInclusive<isize>) -> SliceInfoElem
fn from(r: RangeToInclusive<isize>) -> SliceInfoElem
source§impl From<RangeToInclusive<usize>> for SliceInfoElem
impl From<RangeToInclusive<usize>> for SliceInfoElem
source§fn from(r: RangeToInclusive<usize>) -> SliceInfoElem
fn from(r: RangeToInclusive<usize>) -> SliceInfoElem
source§impl From<Slice> for SliceInfoElem
impl From<Slice> for SliceInfoElem
source§fn from(s: Slice) -> SliceInfoElem
fn from(s: Slice) -> SliceInfoElem
source§impl From<i32> for SliceInfoElem
impl From<i32> for SliceInfoElem
source§fn from(r: i32) -> SliceInfoElem
fn from(r: i32) -> SliceInfoElem
source§impl From<isize> for SliceInfoElem
impl From<isize> for SliceInfoElem
source§fn from(r: isize) -> SliceInfoElem
fn from(r: isize) -> SliceInfoElem
source§impl From<usize> for SliceInfoElem
impl From<usize> for SliceInfoElem
source§fn from(r: usize) -> SliceInfoElem
fn from(r: usize) -> SliceInfoElem
source§impl Hash for SliceInfoElem
impl Hash for SliceInfoElem
source§impl PartialEq for SliceInfoElem
impl PartialEq for SliceInfoElem
source§fn eq(&self, other: &SliceInfoElem) -> bool
fn eq(&self, other: &SliceInfoElem) -> bool
self
and other
values to be equal, and is used
by ==
.