opensrdk_linear_algebra/tensor/matrix.rs
1use crate::{Matrix, Number, Tensor};
2
3impl<T> Tensor<T> for Matrix<T>
4where
5 T: Number,
6{
7 fn rank(&self) -> usize {
8 2
9 }
10
11 fn size(&self, level: usize) -> usize {
12 match level {
13 0 => self.rows(),
14 1 => self.cols(),
15 _ => 0,
16 }
17 }
18
19 fn elem(&self, indices: &[usize]) -> T {
20 self[(indices[0], indices[1])]
21 }
22
23 fn elem_mut(&mut self, indices: &[usize]) -> &mut T {
24 &mut self[(indices[0], indices[1])]
25 }
26}