Struct easy_ml::tensors::views::TensorIndex
source · pub struct TensorIndex<T, S, const D: usize, const I: usize> { /* private fields */ }
Expand description
A combination of pre provided indexes and a tensor. The provided indexes reduce the dimensionality of the TensorRef exposed to less than the dimensionality of the TensorRef this is created from.
use easy_ml::tensors::Tensor;
use easy_ml::tensors::views::{TensorView, TensorIndex};
let vector = Tensor::from([("a", 2)], vec![ 16, 8 ]);
let scalar = vector.select([("a", 0)]);
let also_scalar = TensorView::from(TensorIndex::from(&vector, [("a", 0)]));
assert_eq!(scalar.index_by([]).get([]), also_scalar.index_by([]).get([]));
assert_eq!(scalar.index_by([]).get([]), 16);
Note: due to limitations in Rust’s const generics support, TensorIndex only implements TensorRef
for D from 1
to 6
.
Implementations§
source§impl<T, S, const D: usize, const I: usize> TensorIndex<T, S, D, I>where
S: TensorRef<T, D>,
impl<T, S, const D: usize, const I: usize> TensorIndex<T, S, D, I>where
S: TensorRef<T, D>,
sourcepub fn from(
source: S,
provided_indexes: [(Dimension, usize); I],
) -> TensorIndex<T, S, D, I>
pub fn from( source: S, provided_indexes: [(Dimension, usize); I], ) -> TensorIndex<T, S, D, I>
Creates a TensorIndex from a source and a list of provided dimension name/index pairs.
The corresponding dimensions in the source will be masked to always return the provided index. Henece, a matrix can be viewed as a vector if you provide one of the row/column index to use. More generally, the tensor the TensorIndex exposes will have a dimensionality of D - I, where D is the dimensionality of the source, and I is the dimensionality of the provided indexes.
§Panics
- If any provided index is for a dimension that does not exist in the source’s shape.
- If any provided index is not within range for the length of the dimension.
- If multiple indexes are provided for the same dimension.
pub fn source(self) -> S
pub fn source_ref(&self) -> &S
Trait Implementations§
source§impl<T: Clone, S: Clone, const D: usize, const I: usize> Clone for TensorIndex<T, S, D, I>
impl<T: Clone, S: Clone, const D: usize, const I: usize> Clone for TensorIndex<T, S, D, I>
source§fn clone(&self) -> TensorIndex<T, S, D, I>
fn clone(&self) -> TensorIndex<T, S, D, I>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 1, 1>where
S: TensorMut<T, 1>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 1, 1>where
S: TensorMut<T, 1>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 2, 1>where
S: TensorMut<T, 2>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 2, 1>where
S: TensorMut<T, 2>,
source§fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 2, 2>where
S: TensorMut<T, 2>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 2, 2>where
S: TensorMut<T, 2>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 1>where
S: TensorMut<T, 3>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 1>where
S: TensorMut<T, 3>,
source§fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 2>where
S: TensorMut<T, 3>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 2>where
S: TensorMut<T, 3>,
source§fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 3>where
S: TensorMut<T, 3>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 3, 3>where
S: TensorMut<T, 3>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 1>where
S: TensorMut<T, 4>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 1>where
S: TensorMut<T, 4>,
source§fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 2>where
S: TensorMut<T, 4>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 2>where
S: TensorMut<T, 4>,
source§fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 3>where
S: TensorMut<T, 4>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 3>where
S: TensorMut<T, 4>,
source§fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 4>where
S: TensorMut<T, 4>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 4, 4>where
S: TensorMut<T, 4>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 1>where
S: TensorMut<T, 5>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 1>where
S: TensorMut<T, 5>,
source§fn get_reference_mut(&mut self, indexes: [usize; 4]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 4]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 4]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 4]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 2>where
S: TensorMut<T, 5>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 2>where
S: TensorMut<T, 5>,
source§fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 3>where
S: TensorMut<T, 5>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 3>where
S: TensorMut<T, 5>,
source§fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 4>where
S: TensorMut<T, 5>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 4>where
S: TensorMut<T, 5>,
source§fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 5>where
S: TensorMut<T, 5>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 5, 5>where
S: TensorMut<T, 5>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 1>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 1>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 5]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 5]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 5]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 5]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 2>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 2>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 4]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 4]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 4]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 4]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 3>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 3>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 3]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 3]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 4>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 4>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 2]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 2]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 5>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 5>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 1]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 1]) -> &mut T
source§impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 6>where
S: TensorMut<T, 6>,
impl<T, S> TensorMut<T, { $d - $i }> for TensorIndex<T, S, 6, 6>where
S: TensorMut<T, 6>,
source§fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
fn get_reference_mut(&mut self, indexes: [usize; 0]) -> Option<&mut T>
source§unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
unsafe fn get_reference_unchecked_mut(&mut self, indexes: [usize; 0]) -> &mut T
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 1, 1>where
S: TensorRef<T, 1>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 1, 1>where
S: TensorRef<T, 1>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 2, 1>where
S: TensorRef<T, 2>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 2, 1>where
S: TensorRef<T, 2>,
source§fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 1]
fn view_shape(&self) -> [(Dimension, usize); 1]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 2, 2>where
S: TensorRef<T, 2>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 2, 2>where
S: TensorRef<T, 2>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 1>where
S: TensorRef<T, 3>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 1>where
S: TensorRef<T, 3>,
source§fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 2]
fn view_shape(&self) -> [(Dimension, usize); 2]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 2>where
S: TensorRef<T, 3>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 2>where
S: TensorRef<T, 3>,
source§fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 1]
fn view_shape(&self) -> [(Dimension, usize); 1]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 3>where
S: TensorRef<T, 3>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 3, 3>where
S: TensorRef<T, 3>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 1>where
S: TensorRef<T, 4>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 1>where
S: TensorRef<T, 4>,
source§fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 3]
fn view_shape(&self) -> [(Dimension, usize); 3]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 2>where
S: TensorRef<T, 4>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 2>where
S: TensorRef<T, 4>,
source§fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 2]
fn view_shape(&self) -> [(Dimension, usize); 2]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 3>where
S: TensorRef<T, 4>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 3>where
S: TensorRef<T, 4>,
source§fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 1]
fn view_shape(&self) -> [(Dimension, usize); 1]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 4>where
S: TensorRef<T, 4>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 4, 4>where
S: TensorRef<T, 4>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 1>where
S: TensorRef<T, 5>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 1>where
S: TensorRef<T, 5>,
source§fn get_reference(&self, indexes: [usize; 4]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 4]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 4]
fn view_shape(&self) -> [(Dimension, usize); 4]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 4]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 4]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 2>where
S: TensorRef<T, 5>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 2>where
S: TensorRef<T, 5>,
source§fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 3]
fn view_shape(&self) -> [(Dimension, usize); 3]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 3>where
S: TensorRef<T, 5>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 3>where
S: TensorRef<T, 5>,
source§fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 2]
fn view_shape(&self) -> [(Dimension, usize); 2]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 4>where
S: TensorRef<T, 5>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 4>where
S: TensorRef<T, 5>,
source§fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 1]
fn view_shape(&self) -> [(Dimension, usize); 1]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 5>where
S: TensorRef<T, 5>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 5, 5>where
S: TensorRef<T, 5>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 1>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 1>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 5]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 5]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 5]
fn view_shape(&self) -> [(Dimension, usize); 5]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 5]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 5]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 2>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 2>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 4]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 4]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 4]
fn view_shape(&self) -> [(Dimension, usize); 4]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 4]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 4]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 3>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 3>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 3]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 3]
fn view_shape(&self) -> [(Dimension, usize); 3]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 3]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 4>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 4>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 2]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 2]
fn view_shape(&self) -> [(Dimension, usize); 2]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 2]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 5>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 5>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 1]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 1]
fn view_shape(&self) -> [(Dimension, usize); 1]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 1]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
source§impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 6>where
S: TensorRef<T, 6>,
impl<T, S> TensorRef<T, { $d - $i }> for TensorIndex<T, S, 6, 6>where
S: TensorRef<T, 6>,
source§fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
fn get_reference(&self, indexes: [usize; 0]) -> Option<&T>
source§fn view_shape(&self) -> [(Dimension, usize); 0]
fn view_shape(&self) -> [(Dimension, usize); 0]
source§unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
unsafe fn get_reference_unchecked(&self, indexes: [usize; 0]) -> &T
source§fn data_layout(&self) -> DataLayout<{ _ }>
fn data_layout(&self) -> DataLayout<{ _ }>
Auto Trait Implementations§
impl<T, S, const D: usize, const I: usize> Freeze for TensorIndex<T, S, D, I>where
S: Freeze,
impl<T, S, const D: usize, const I: usize> RefUnwindSafe for TensorIndex<T, S, D, I>where
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, S, const D: usize, const I: usize> Send for TensorIndex<T, S, D, I>
impl<T, S, const D: usize, const I: usize> Sync for TensorIndex<T, S, D, I>
impl<T, S, const D: usize, const I: usize> Unpin for TensorIndex<T, S, D, I>
impl<T, S, const D: usize, const I: usize> UnwindSafe for TensorIndex<T, S, D, I>where
S: UnwindSafe,
T: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)