From 37db22bca886d4c8cad291fe5f67351e809bb177 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 26 Oct 2021 00:28:57 -0700 Subject: [PATCH] Added len function to Matrix --- CHANGELOG.md | 4 ++++ src/matrix.rs | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77b9078..a5d1fd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.2.1 (unreleased) + +- Added `len` function to `Matrix` + ## 0.2.0 (2021-10-17) - Added support for Windows diff --git a/src/matrix.rs b/src/matrix.rs index f9474fb..8b99cd5 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -23,6 +23,10 @@ impl Matrix { self.data.push(MfNode { u: row_index, v: column_index, r: value }); } + pub fn len(&self) -> usize { + self.data.len() + } + pub(crate) fn to_problem(&self) -> MfProblem { let data = &self.data; let m = data.iter().map(|x| x.u).max().unwrap_or(-1) + 1; @@ -52,4 +56,12 @@ mod tests { let mut data = Matrix::with_capacity(1); data.push(0, 0, 1.0); } + + #[test] + fn test_len() { + let mut data = Matrix::new(); + assert_eq!(data.len(), 0); + data.push(0, 0, 1.0); + assert_eq!(data.len(), 1); + } }