mathru 0.16.2

Fundamental algorithms for scientific computing in Rust
Documentation
use std::ops::{Index, IndexMut};

use super::UpperHessenberg;

impl<T> Index<[usize; 2]> for UpperHessenberg<T> {
    type Output = T;

    fn index(&self, index: [usize; 2]) -> &Self::Output {
        debug_assert!(index[0] < self.matrix.m);
        debug_assert!(index[1] < self.matrix.n);

        &self.matrix[index]
    }
}

impl<T> IndexMut<[usize; 2]> for UpperHessenberg<T> {
    fn index_mut(&mut self, index: [usize; 2]) -> &mut Self::Output {
        debug_assert!(index[0] < self.matrix.m);
        debug_assert!(index[1] < self.matrix.n);

        &mut self.matrix[index]
    }
}