mathru 0.16.2

Fundamental algorithms for scientific computing in Rust
Documentation
use crate::algebra::linear::matrix::Diagonal;

impl<T> PartialEq for Diagonal<T>
where
    T: PartialEq,
{
    /// Checks if two diagonal matrices are equal
    ///
    /// # Example
    ///
    /// ```
    /// use mathru::algebra::linear::matrix::{General, Diagonal};
    /// use mathru::matrix;
    ///
    /// let a: Diagonal<f64> = matrix![1.0, 0.0; 0.0, 5.0].into();
    /// let b: Diagonal<f64> = matrix![1.0, 0.0; 0.0, 5.0].into();
    ///
    /// assert_eq!(a ,b);
    /// ```
    fn eq(&self, other: &Self) -> bool {
        if self.dim() != other.dim() {
            return false;
        }

        for i in 0..self.matrix.m {
            if self[[i, i]] != other[[i, i]] {
                return false;
            }
        }
        true
    }
}