(&self, pos: usize)
| 747 | } |
| 748 | |
| 749 | pub fn rm_column(&self, pos: usize) -> Option<Matrix<T>> { |
| 750 | |
| 751 | if pos >= self.cols() { |
| 752 | return None; |
| 753 | } |
| 754 | |
| 755 | let mut m = Matrix::<T>::new(); |
| 756 | if self.cols() == 1 { |
| 757 | return Some(m); |
| 758 | } |
| 759 | |
| 760 | for r in self.row_iter() { |
| 761 | let mut q = r.to_vec(); |
| 762 | q.remove(pos); |
| 763 | m.add_row(&q); |
| 764 | } |
| 765 | Some(m) |
| 766 | } |
| 767 | |
| 768 | pub fn if_then<F>(&self, prd: F, tr: T, fa: T) -> Matrix<T> |
| 769 | where F: Fn(&T) -> bool { |