Skip to content

Commit 138b27f

Browse files
committed
fix breaking changes in faer
1 parent 789d9ba commit 138b27f

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/checks/spatial/sct.rs

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use std::ops::SubAssign;
2+
13
use crate::{
24
util::{
35
self,
@@ -6,7 +8,7 @@ use crate::{
68
},
79
DataCache, Error, Flag,
810
};
9-
use faer::{prelude::SolverCore, Mat};
11+
use faer::{linalg::solvers::DenseSolveCore, Mat};
1012

1113
/// Specific arguments to sct, broken into a struct to make the function
1214
/// signature more readable.
@@ -422,7 +424,7 @@ pub fn sct(
422424
let mut dh_vector = Vec::with_capacity(box_size - 1);
423425
for j in 0..box_size {
424426
if i != j {
425-
dh_vector.push(disth.read(i, j));
427+
dh_vector.push(disth.get(i, j).to_owned());
426428
}
427429
}
428430
compute_quantile(0.10, &dh_vector)
@@ -434,8 +436,8 @@ pub fn sct(
434436
.max(dh.into_iter().sum::<f32>() / box_size as f32);
435437

436438
let mut s: Mat<f32> = Mat::from_fn(box_size, box_size, |i, j| {
437-
let value = (-0.5 * (disth.read(i, j) / dh_mean).powi(2)
438-
- 0.5 * (distz.read(i, j) / args.vertical_scale).powi(2))
439+
let value = (-0.5 * (disth.get(i, j) / dh_mean).powi(2)
440+
- 0.5 * (distz.get(i, j) / args.vertical_scale).powi(2))
439441
.exp();
440442
// weight the diagonal?? (0.5 default)
441443
if i == j {
@@ -459,18 +461,19 @@ pub fn sct(
459461

460462
// unweight the diagonal
461463
for i in 0..box_size {
462-
s.write(i, i, s.read(i, i) - eps2_box.index(i))
464+
let elem = s.get_mut(i, i);
465+
elem.sub_assign(eps2_box.index(i));
463466
}
464467

465468
let s_inv_d: Vec<f32> = (0..box_size)
466-
.map(|i| (0..box_size).map(|j| s_inv.read(i, j) * d[j]).sum())
469+
.map(|i| (0..box_size).map(|j| s_inv.get(i, j) * d[j]).sum())
467470
.collect();
468471

469472
let ares_temp: Vec<f32> = (0..box_size)
470-
.map(|i| (0..box_size).map(|j| s.read(i, j) * s_inv_d[j]).sum())
473+
.map(|i| (0..box_size).map(|j| s.get(i, j) * s_inv_d[j]).sum())
471474
.collect();
472475

473-
let z_inv: Vec<f32> = (0..box_size).map(|i| 1. / s_inv.read(i, i)).collect();
476+
let z_inv: Vec<f32> = (0..box_size).map(|i| 1. / s_inv.get(i, i)).collect();
474477

475478
let ares: Vec<f32> = (0..box_size).map(|i| ares_temp[i] - d[i]).collect();
476479

0 commit comments

Comments
 (0)