Skip to content

Commit 79c2ac6

Browse files
committed
test: added dtype tests to Transpose
1 parent bd21d96 commit 79c2ac6

1 file changed

Lines changed: 19 additions & 10 deletions

File tree

pytests/test_transpose.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,22 @@
1616
from pylops.basicoperators import Transpose
1717
from pylops.utils import dottest
1818

19-
par1 = {"ny": 21, "nx": 11, "nt": 20, "imag": 0, "dtype": "float64"} # real
20-
par2 = {"ny": 21, "nx": 11, "nt": 20, "imag": 1j, "dtype": "complex128"} # complex
19+
par1 = {"ny": 21, "nx": 11, "nt": 20, "imag": 0, "dtype": "float64"} # real (fp64)
20+
par1s = {"ny": 21, "nx": 11, "nt": 20, "imag": 0, "dtype": "float32"} # real (fp32)
21+
par1j = {"ny": 21, "nx": 11, "nt": 20, "imag": 1j, "dtype": "complex128"} # complex
2122

2223
np.random.seed(10)
2324

2425

25-
@pytest.mark.parametrize("par", [(par1), (par2)])
26+
@pytest.mark.parametrize("par", [(par1), (par1s), (par1j)])
2627
def test_Transpose_2dsignal(par):
2728
"""Dot-test and adjoint for Transpose operator for 2d signals"""
29+
dtype = np.empty(0, dtype=par["dtype"]).real.dtype
30+
2831
dims = (par["ny"], par["nx"])
29-
x = np.arange(par["ny"] * par["nx"]).reshape(dims) + par["imag"] * np.arange(
30-
par["ny"] * par["nx"]
31-
).reshape(dims)
32+
x = np.arange(par["ny"] * par["nx"], dtype=dtype).reshape(dims) + par[
33+
"imag"
34+
] * np.arange(par["ny"] * par["nx"], dtype=dtype).reshape(dims)
3235

3336
Top = Transpose(dims=dims, axes=(1, 0), dtype=par["dtype"])
3437
assert dottest(
@@ -44,19 +47,23 @@ def test_Transpose_2dsignal(par):
4447
y = y.reshape(Top.dimsd)
4548
xadj = xadj.reshape(Top.dims)
4649

50+
assert y.dtype == par["dtype"]
51+
assert xadj.dtype == par["dtype"]
4752
assert_array_equal(x, xadj)
4853
assert_array_equal(y, x.T)
4954

5055

51-
@pytest.mark.parametrize("par", [(par1), (par2)])
56+
@pytest.mark.parametrize("par", [(par1), (par1s), (par1j)])
5257
def test_Transpose_3dsignal(par):
5358
"""Dot-test and adjoint for Transpose operator for 3d signals"""
59+
dtype = np.empty(0, dtype=par["dtype"]).real.dtype
60+
5461
dims = (par["ny"], par["nx"], par["nt"])
55-
x = np.arange(par["ny"] * par["nx"] * par["nt"]).reshape(dims) + par[
62+
x = np.arange(par["ny"] * par["nx"] * par["nt"], dtype=dtype).reshape(dims) + par[
5663
"imag"
57-
] * np.arange(par["ny"] * par["nx"] * par["nt"]).reshape(dims)
64+
] * np.arange(par["ny"] * par["nx"] * par["nt"], dtype=dtype).reshape(dims)
5865

59-
Top = Transpose(dims=dims, axes=(2, 1, 0))
66+
Top = Transpose(dims=dims, axes=(2, 1, 0), dtype=par["dtype"])
6067
assert dottest(
6168
Top,
6269
npp.prod(dims),
@@ -71,4 +78,6 @@ def test_Transpose_3dsignal(par):
7178
y = y.reshape(Top.dimsd)
7279
xadj = xadj.reshape(Top.dims)
7380

81+
assert y.dtype == par["dtype"]
82+
assert xadj.dtype == par["dtype"]
7483
assert_array_equal(x, xadj)

0 commit comments

Comments
 (0)