Skip to content
Snippets Groups Projects
Commit 2bd6f5aa authored by Wolfgang Kastaun's avatar Wolfgang Kastaun
Browse files

add unit test for dsp based interpolator, apply same test to previous one

parent 1406c1d0
No related branches found
No related tags found
No related merge requests found
...@@ -37,14 +37,14 @@ def test_dynamic_shift_linear_dask(): ...@@ -37,14 +37,14 @@ def test_dynamic_shift_linear_dask():
def test_dynamic_shift_lagrange_dask(): def test_dynamic_shift_lagrange_dask():
order = 4 order = 5
length = order + 1 length = order + 1
t, dt = np.linspace(-5.345, 10.345, 1003, retstep=True) t, dt = np.linspace(-5.345, 10.345, 1003, retstep=True)
def g(x): def g(x):
n = x / 10.0 n = x / 10.0
return 4.32546 + 3.34324 * x + 4.342 * x**2 + 0.46 * x**3 + 1.43598 * x**4 return 4.32546 + 3.34324 * x + 4.342 * x**2 + 0.46 * x**3 + 1.43598 * x**4 + 3.3456 * x**5
y = g(t) y = g(t)
...@@ -61,7 +61,7 @@ def test_dynamic_shift_lagrange_dask(): ...@@ -61,7 +61,7 @@ def test_dynamic_shift_lagrange_dask():
s_ex = g(np.maximum(t[0], t - d * dt)) s_ex = g(np.maximum(t[0], t - d * dt))
assert s_ex[op_da.margin_left :] == pytest.approx( assert s_ex[op_da.margin_left :] == pytest.approx(
s_da[op_da.margin_left :], abs=1e-15, rel=1e-14 s_da[op_da.margin_left :], abs=1e-15, rel=1e-13
) )
op_np = make_dynamic_shift_lagrange_numpy( op_np = make_dynamic_shift_lagrange_numpy(
......
import numpy as np
import pytest
from lisainstrument.dynamic_delay_dsp_dask import make_dynamic_shift_dsp_dask, make_dynamic_shift_dsp_numpy
from lisainstrument.dynamic_delay_dask import numpyfy_dask_bivariate
from lisainstrument.dynamic_delay_numpy import DynShiftBC
def test_dynamic_shift_dsp_dask():
order = 5
length = order + 1
t, dt = np.linspace(-5.345, 10.345, 1003, retstep=True)
def g(x):
n = x / 10.0
return 4.32546 + 3.34324 * x + 4.342 * x**2 + 0.46 * x**3 + 1.43598 * x**4 + 3.3456 * x**5
y = g(t)
d = (0.93456456 + 0.0235345 * np.cos(4.3354 * t)) / dt
op_da = make_dynamic_shift_dsp_dask(
order, d.min(), d.max(), DynShiftBC.FLAT, DynShiftBC.EXCEPTION
)
op_na = numpyfy_dask_bivariate(op_da, chunks=19)
s_da = op_na(y, d)
s_ex = g(np.maximum(t[0], t - d * dt))
assert s_ex[op_da.margin_left :] == pytest.approx(
s_da[op_da.margin_left :], abs=1e-15, rel=1e-13
)
op_np = make_dynamic_shift_dsp_numpy(
order, d.min(), d.max(), DynShiftBC.FLAT, DynShiftBC.EXCEPTION
)
s_np = op_np(y, d)
assert np.all(s_np == s_da)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment