From 6757e85eaf94e543e4abecb848a8edd49f9b7090 Mon Sep 17 00:00:00 2001 From: laentropia Date: Tue, 28 Apr 2026 07:23:28 -0600 Subject: [PATCH] addition: add row and column --- src/lib.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 1356e6b..95d56f4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -157,6 +157,34 @@ impl Matrix { None } + pub fn add_column(&mut self, data: Vec) -> Option { + if data.len() != self.columns { + return Some(MatrixError::InvalidDataSize); + } + + for i in 0..data.len() { + self.data.insert((i * self.rows) + self.rows - 1, data[i]); + } + + self.columns += 1; + + None + } + + pub fn add_row(&mut self, data: Vec) -> Option { + if data.len() != self.rows { + return Some(MatrixError::InvalidDataSize); + } + + for i in 0..data.len() { + self.data.push(data[i]); + } + + self.rows += 1; + + None + } + fn partial_pivoting(&mut self, col: usize, sign: &mut Fraction) -> Result { if col >= self.columns { return Err(MatrixError::ColumnOutOfRange);