Merge branch 'development' into ridge

This commit is contained in:
VolodymyrOrlov
2020-11-11 16:12:34 -08:00
committed by GitHub
59 changed files with 793 additions and 499 deletions
+14 -18
View File
@@ -118,7 +118,7 @@ impl<T: RealNumber + ScalarOperand> BaseVector<T> for ArrayBase<OwnedRepr<T>, Ix
let mut norm = T::zero();
for xi in self.iter() {
norm = norm + xi.abs().powf(p);
norm += xi.abs().powf(p);
}
norm.powf(T::one() / p)
@@ -126,19 +126,19 @@ impl<T: RealNumber + ScalarOperand> BaseVector<T> for ArrayBase<OwnedRepr<T>, Ix
}
fn div_element_mut(&mut self, pos: usize, x: T) {
self[pos] = self[pos] / x;
self[pos] /= x;
}
fn mul_element_mut(&mut self, pos: usize, x: T) {
self[pos] = self[pos] * x;
self[pos] *= x;
}
fn add_element_mut(&mut self, pos: usize, x: T) {
self[pos] = self[pos] + x;
self[pos] += x;
}
fn sub_element_mut(&mut self, pos: usize, x: T) {
self[pos] = self[pos] - x;
self[pos] -= x;
}
fn approximate_eq(&self, other: &Self, error: T) -> bool {
@@ -205,10 +205,8 @@ impl<T: RealNumber + ScalarOperand + AddAssign + SubAssign + MulAssign + DivAssi
}
fn copy_row_as_vec(&self, row: usize, result: &mut Vec<T>) {
let mut r = 0;
for e in self.row(row).iter() {
for (r, e) in self.row(row).iter().enumerate() {
result[r] = *e;
r += 1;
}
}
@@ -217,10 +215,8 @@ impl<T: RealNumber + ScalarOperand + AddAssign + SubAssign + MulAssign + DivAssi
}
fn copy_col_as_vec(&self, col: usize, result: &mut Vec<T>) {
let mut r = 0;
for e in self.column(col).iter() {
result[r] = *e;
r += 1;
for (c, e) in self.column(col).iter().enumerate() {
result[c] = *e;
}
}
@@ -348,7 +344,7 @@ impl<T: RealNumber + ScalarOperand + AddAssign + SubAssign + MulAssign + DivAssi
let mut norm = T::zero();
for xi in self.iter() {
norm = norm + xi.abs().powf(p);
norm += xi.abs().powf(p);
}
norm.powf(T::one() / p)
@@ -360,19 +356,19 @@ impl<T: RealNumber + ScalarOperand + AddAssign + SubAssign + MulAssign + DivAssi
}
fn div_element_mut(&mut self, row: usize, col: usize, x: T) {
self[[row, col]] = self[[row, col]] / x;
self[[row, col]] /= x;
}
fn mul_element_mut(&mut self, row: usize, col: usize, x: T) {
self[[row, col]] = self[[row, col]] * x;
self[[row, col]] *= x;
}
fn add_element_mut(&mut self, row: usize, col: usize, x: T) {
self[[row, col]] = self[[row, col]] + x;
self[[row, col]] += x;
}
fn sub_element_mut(&mut self, row: usize, col: usize, x: T) {
self[[row, col]] = self[[row, col]] - x;
self[[row, col]] -= x;
}
fn negative_mut(&mut self) {
@@ -426,7 +422,7 @@ impl<T: RealNumber + ScalarOperand + AddAssign + SubAssign + MulAssign + DivAssi
for c in 0..self.ncols() {
let p = (self[(r, c)] - max).exp();
self.set(r, c, p);
z = z + p;
z += p;
}
}
for r in 0..self.nrows() {