change restriction on h2 grid interpolation

This commit is contained in:
Magnus Ulimoen 2020-04-13 23:02:47 +02:00
parent 98c5998657
commit 3c54398e41
2 changed files with 5 additions and 5 deletions

View File

@ -55,7 +55,7 @@ pub(crate) fn test_interpolation_operator<IO: InterpolationOperator>(op: IO, h2:
let (x_c, x_f) = if h2 {
(
crate::utils::h2linspace(0.0, 1.0, nc),
crate::utils::h2linspace(0.0, 1.0, 2 * nc - 1),
crate::utils::h2linspace(0.0, 1.0, 2 * (nc - 1)),
)
} else {
(
@ -66,9 +66,9 @@ pub(crate) fn test_interpolation_operator<IO: InterpolationOperator>(op: IO, h2:
let mut ix_f = ndarray::Array1::zeros(x_f.raw_dim());
op.coarse2fine(x_c.view(), ix_f.view_mut());
approx::assert_abs_diff_eq!(ix_f, x_f, epsilon = 1e-2);
approx::assert_abs_diff_eq!(ix_f, x_f, epsilon = 1e-5);
let mut ix_c = ndarray::Array1::zeros(x_c.raw_dim());
op.fine2coarse(x_f.view(), ix_c.view_mut());
approx::assert_abs_diff_eq!(ix_c, x_c, epsilon = 1e-2);
approx::assert_abs_diff_eq!(ix_c, x_c, epsilon = 1e-5);
}

View File

@ -51,7 +51,7 @@ impl Interpolation9h2 {
impl InterpolationOperator for Interpolation9h2 {
fn fine2coarse(&self, fine: ArrayView1<Float>, coarse: ArrayViewMut1<Float>) {
assert_eq!(fine.len(), 2 * coarse.len() - 1);
assert_eq!(fine.len(), 2 * (coarse.len() - 1));
use ndarray::prelude::*;
use std::iter::FromIterator;
let block = Array::from_iter(Self::F2C_BLOCK.iter().flatten().copied())
@ -63,7 +63,7 @@ impl InterpolationOperator for Interpolation9h2 {
super::interpolate(fine, coarse, block.view(), diag.view(), (4, 2))
}
fn coarse2fine(&self, coarse: ArrayView1<Float>, fine: ArrayViewMut1<Float>) {
assert_eq!(fine.len(), 2 * coarse.len() - 1);
assert_eq!(fine.len(), 2 * (coarse.len() - 1));
use ndarray::prelude::*;
use std::iter::FromIterator;
let block = Array::from_iter(Self::C2F_BLOCK.iter().flatten().copied())