Skip to content

Commit bb81be5

Browse files
Fix Coverity copy-paste error
Saves duplicate device<->host transfers
1 parent 2952983 commit bb81be5

File tree

4 files changed

+75
-39
lines changed

4 files changed

+75
-39
lines changed

dpctl/tests/elementwise/test_logical_and.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,22 @@ def test_logical_and_complex_matrix(op_dtype):
7575
sz = 127
7676
ar1_np_real = np.random.randint(0, 2, sz)
7777
ar1_np_imag = np.random.randint(0, 2, sz)
78-
ar1 = dpt.asarray(ar1_np_real + 1j * ar1_np_imag, dtype=op_dtype)
78+
ar1_np = ar1_np_real + 1j * ar1_np_imag
79+
ar1 = dpt.asarray(ar1_np, dtype=op_dtype)
7980

8081
ar2_np_real = np.random.randint(0, 2, sz)
8182
ar2_np_imag = np.random.randint(0, 2, sz)
82-
ar2 = dpt.asarray(ar2_np_real + 1j * ar2_np_imag, dtype=op_dtype)
83+
ar2_np = ar2_np_real + 1j * ar2_np_imag
84+
ar2 = dpt.asarray(ar2_np, dtype=op_dtype)
8385

8486
r = dpt.logical_and(ar1, ar2)
85-
expected = np.logical_and(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
87+
expected = np.logical_and(ar1_np, ar2_np)
8688
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
8789
assert r.shape == expected.shape
8890
assert (dpt.asnumpy(r) == expected).all()
8991

9092
r1 = dpt.logical_and(ar1[::-2], ar2[::2])
91-
expected1 = np.logical_and(dpt.asnumpy(ar1[::-2]), dpt.asnumpy(ar2[::2]))
93+
expected1 = np.logical_and(ar1_np[::-2], ar2_np[::2])
9294
assert _compare_dtypes(r.dtype, expected1.dtype, sycl_queue=q)
9395
assert r1.shape == expected1.shape
9496
assert (dpt.asnumpy(r1) == expected1).all()
@@ -106,14 +108,18 @@ def test_logical_and_complex_matrix(op_dtype):
106108
dtype=op_dtype,
107109
)
108110
ar4 = dpt.full(ar3.shape, fill_value=1.0 + 2j, dtype=op_dtype)
111+
112+
ar3_np = dpt.asnumpy(ar3)
113+
ar4_np = dpt.asnumpy(ar4)
114+
109115
r2 = dpt.logical_and(ar3, ar4)
110116
with np.errstate(invalid="ignore"):
111-
expected2 = np.logical_and(dpt.asnumpy(ar3), dpt.asnumpy(ar4))
117+
expected2 = np.logical_and(ar3_np, ar4_np)
112118
assert (dpt.asnumpy(r2) == expected2).all()
113119

114120
r3 = dpt.logical_and(ar4, ar4)
115121
with np.errstate(invalid="ignore"):
116-
expected3 = np.logical_and(dpt.asnumpy(ar4), dpt.asnumpy(ar4))
122+
expected3 = np.logical_and(ar4_np, ar4_np)
117123
assert (dpt.asnumpy(r3) == expected3).all()
118124

119125

@@ -123,12 +129,15 @@ def test_logical_and_complex_float():
123129
ar1 = dpt.asarray([1j, 1.0 + 9j, 2.0 + 0j, 2.0 + 1j], dtype="c8")
124130
ar2 = dpt.full(ar1.shape, 2, dtype="f4")
125131

132+
ar1_np = dpt.asnumpy(ar1)
133+
ar2_np = dpt.asnumpy(ar2)
134+
126135
r = dpt.logical_and(ar1, ar2)
127-
expected = np.logical_and(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
136+
expected = np.logical_and(ar1_np, ar2_np)
128137
assert (dpt.asnumpy(r) == expected).all()
129138

130139
r1 = dpt.logical_and(ar2, ar1)
131-
expected1 = np.logical_and(dpt.asnumpy(ar2), dpt.asnumpy(ar1))
140+
expected1 = np.logical_and(ar2_np, ar1_np)
132141
assert (dpt.asnumpy(r1) == expected1).all()
133142
with np.errstate(invalid="ignore"):
134143
for tp in [
@@ -140,12 +149,13 @@ def test_logical_and_complex_float():
140149
-dpt.inf * 1j,
141150
]:
142151
ar3 = dpt.full(ar1.shape, tp)
152+
ar3_np = dpt.asnumpy(ar3)
143153
r2 = dpt.logical_and(ar1, ar3)
144-
expected2 = np.logical_and(dpt.asnumpy(ar1), dpt.asnumpy(ar3))
154+
expected2 = np.logical_and(ar1_np, ar3_np)
145155
assert (dpt.asnumpy(r2) == expected2).all()
146156

147157
r3 = dpt.logical_and(ar3, ar1)
148-
expected3 = np.logical_and(dpt.asnumpy(ar3), dpt.asnumpy(ar1))
158+
expected3 = np.logical_and(ar3_np, ar1_np)
149159
assert (dpt.asnumpy(r3) == expected3).all()
150160

151161

dpctl/tests/elementwise/test_logical_not.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@ def test_logical_not_dtype_matrix(op_dtype):
2929
skip_if_dtype_not_supported(op_dtype, q)
3030

3131
sz = 7
32-
ar1 = dpt.asarray(np.random.randint(0, 2, sz), dtype=op_dtype)
32+
ar1_np = np.random.randint(0, 2, sz)
33+
ar1 = dpt.asarray(ar1_np, dtype=op_dtype)
3334

3435
r = dpt.logical_not(ar1)
3536
assert isinstance(r, dpt.usm_ndarray)
3637

37-
expected = np.logical_not(dpt.asnumpy(ar1))
38+
expected = np.logical_not(ar1_np)
3839
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
3940
assert r.shape == ar1.shape
4041
assert (dpt.asnumpy(r) == expected).all()
@@ -74,16 +75,17 @@ def test_logical_not_complex_matrix(op_dtype):
7475
sz = 127
7576
ar1_np_real = np.random.randint(0, 2, sz)
7677
ar1_np_imag = np.random.randint(0, 2, sz)
77-
ar1 = dpt.asarray(ar1_np_real + 1j * ar1_np_imag, dtype=op_dtype)
78+
ar1_np = ar1_np_real + 1j * ar1_np_imag
79+
ar1 = dpt.asarray(ar1_np, dtype=op_dtype)
7880

7981
r = dpt.logical_not(ar1)
80-
expected = np.logical_not(dpt.asnumpy(ar1))
82+
expected = np.logical_not(ar1_np)
8183
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
8284
assert r.shape == expected.shape
8385
assert (dpt.asnumpy(r) == expected).all()
8486

8587
r1 = dpt.logical_not(ar1[::-2])
86-
expected1 = np.logical_not(dpt.asnumpy(ar1[::-2]))
88+
expected1 = np.logical_not(ar1_np[::-2])
8789
assert _compare_dtypes(r.dtype, expected1.dtype, sycl_queue=q)
8890
assert r1.shape == expected1.shape
8991
assert (dpt.asnumpy(r1) == expected1).all()
@@ -100,9 +102,10 @@ def test_logical_not_complex_matrix(op_dtype):
100102
],
101103
dtype=op_dtype,
102104
)
105+
ar2_np = dpt.asnumpy(ar2)
103106
r2 = dpt.logical_not(ar2)
104107
with np.errstate(invalid="ignore"):
105-
expected2 = np.logical_not(dpt.asnumpy(ar2))
108+
expected2 = np.logical_not(ar2_np)
106109
assert (dpt.asnumpy(r2) == expected2).all()
107110

108111

dpctl/tests/elementwise/test_logical_or.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,22 @@ def test_logical_or_complex_matrix(op_dtype):
7575
sz = 127
7676
ar1_np_real = np.random.randint(0, 2, sz)
7777
ar1_np_imag = np.random.randint(0, 2, sz)
78-
ar1 = dpt.asarray(ar1_np_real + 1j * ar1_np_imag, dtype=op_dtype)
78+
ar1_np = ar1_np_real + 1j * ar1_np_imag
79+
ar1 = dpt.asarray(ar1_np, dtype=op_dtype)
7980

8081
ar2_np_real = np.random.randint(0, 2, sz)
8182
ar2_np_imag = np.random.randint(0, 2, sz)
82-
ar2 = dpt.asarray(ar2_np_real + 1j * ar2_np_imag, dtype=op_dtype)
83+
ar2_np = ar2_np_real + 1j * ar2_np_imag
84+
ar2 = dpt.asarray(ar2_np, dtype=op_dtype)
8385

8486
r = dpt.logical_or(ar1, ar2)
85-
expected = np.logical_or(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
87+
expected = np.logical_or(ar1_np, ar2_np)
8688
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
8789
assert r.shape == expected.shape
8890
assert (dpt.asnumpy(r) == expected).all()
8991

9092
r1 = dpt.logical_or(ar1[::-2], ar2[::2])
91-
expected1 = np.logical_or(dpt.asnumpy(ar1[::-2]), dpt.asnumpy(ar2[::2]))
93+
expected1 = np.logical_or(ar1_np[::-2], ar2_np[::2])
9294
assert _compare_dtypes(r.dtype, expected1.dtype, sycl_queue=q)
9395
assert r1.shape == expected1.shape
9496
assert (dpt.asnumpy(r1) == expected1).all()
@@ -106,14 +108,18 @@ def test_logical_or_complex_matrix(op_dtype):
106108
dtype=op_dtype,
107109
)
108110
ar4 = dpt.full(ar3.shape, fill_value=1.0 + 2j, dtype=op_dtype)
111+
112+
ar3_np = dpt.asnumpy(ar3)
113+
ar4_np = dpt.asnumpy(ar4)
114+
109115
r2 = dpt.logical_or(ar3, ar4)
110116
with np.errstate(invalid="ignore"):
111-
expected2 = np.logical_or(dpt.asnumpy(ar3), dpt.asnumpy(ar4))
117+
expected2 = np.logical_or(ar3_np, ar4_np)
112118
assert (dpt.asnumpy(r2) == expected2).all()
113119

114120
r3 = dpt.logical_or(ar4, ar4)
115121
with np.errstate(invalid="ignore"):
116-
expected3 = np.logical_or(dpt.asnumpy(ar4), dpt.asnumpy(ar4))
122+
expected3 = np.logical_or(ar4_np, ar4_np)
117123
assert (dpt.asnumpy(r3) == expected3).all()
118124

119125

@@ -123,12 +129,15 @@ def test_logical_or_complex_float():
123129
ar1 = dpt.asarray([1j, 1.0 + 9j, 2.0 + 0j, 2.0 + 1j], dtype="c8")
124130
ar2 = dpt.full(ar1.shape, 2, dtype="f4")
125131

132+
ar1_np = dpt.asnumpy(ar1)
133+
ar2_np = dpt.asnumpy(ar2)
134+
126135
r = dpt.logical_or(ar1, ar2)
127-
expected = np.logical_or(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
136+
expected = np.logical_or(ar1_np, ar2_np)
128137
assert (dpt.asnumpy(r) == expected).all()
129138

130139
r1 = dpt.logical_or(ar2, ar1)
131-
expected1 = np.logical_or(dpt.asnumpy(ar2), dpt.asnumpy(ar1))
140+
expected1 = np.logical_or(ar2_np, ar1_np)
132141
assert (dpt.asnumpy(r1) == expected1).all()
133142
with np.errstate(invalid="ignore"):
134143
for tp in [
@@ -140,12 +149,14 @@ def test_logical_or_complex_float():
140149
-dpt.inf * 1j,
141150
]:
142151
ar3 = dpt.full(ar1.shape, tp)
152+
ar3_np = dpt.asnumpy(ar3)
153+
143154
r2 = dpt.logical_or(ar1, ar3)
144-
expected2 = np.logical_or(dpt.asnumpy(ar1), dpt.asnumpy(ar3))
155+
expected2 = np.logical_or(ar1_np, ar3_np)
145156
assert (dpt.asnumpy(r2) == expected2).all()
146157

147158
r3 = dpt.logical_or(ar3, ar1)
148-
expected3 = np.logical_or(dpt.asnumpy(ar3), dpt.asnumpy(ar1))
159+
expected3 = np.logical_or(ar3_np, ar1_np)
149160
assert (dpt.asnumpy(r3) == expected3).all()
150161

151162

dpctl/tests/elementwise/test_logical_xor.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,15 @@ def test_logical_xor_dtype_matrix(op1_dtype, op2_dtype):
3434
skip_if_dtype_not_supported(op2_dtype, q)
3535

3636
sz = 127
37-
ar1 = dpt.asarray(np.random.randint(0, 2, sz), dtype=op1_dtype)
38-
ar2 = dpt.asarray(np.random.randint(0, 2, sz), dtype=op2_dtype)
37+
ar1_np = np.random.randint(0, 2, sz)
38+
ar1 = dpt.asarray(ar1_np, dtype=op1_dtype)
39+
ar2_np = np.random.randint(0, 2, sz)
40+
ar2 = dpt.asarray(ar2_np, dtype=op2_dtype)
3941

4042
r = dpt.logical_xor(ar1, ar2)
4143
assert isinstance(r, dpt.usm_ndarray)
4244

43-
expected = np.logical_xor(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
45+
expected = np.logical_xor(ar1_np, ar2_np)
4446
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
4547
assert r.shape == ar1.shape
4648
assert (dpt.asnumpy(r) == expected).all()
@@ -75,20 +77,22 @@ def test_logical_xor_complex_matrix(op_dtype):
7577
sz = 127
7678
ar1_np_real = np.random.randint(0, 2, sz)
7779
ar1_np_imag = np.random.randint(0, 2, sz)
78-
ar1 = dpt.asarray(ar1_np_real + 1j * ar1_np_imag, dtype=op_dtype)
80+
ar1_np = ar1_np_real + 1j * ar1_np_imag
81+
ar1 = dpt.asarray(ar1_np, dtype=op_dtype)
7982

8083
ar2_np_real = np.random.randint(0, 2, sz)
8184
ar2_np_imag = np.random.randint(0, 2, sz)
82-
ar2 = dpt.asarray(ar2_np_real + 1j * ar2_np_imag, dtype=op_dtype)
85+
ar2_np = ar2_np_real + 1j * ar2_np_imag
86+
ar2 = dpt.asarray(ar2_np, dtype=op_dtype)
8387

8488
r = dpt.logical_xor(ar1, ar2)
85-
expected = np.logical_xor(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
89+
expected = np.logical_xor(ar1_np, ar2_np)
8690
assert _compare_dtypes(r.dtype, expected.dtype, sycl_queue=q)
8791
assert r.shape == expected.shape
8892
assert (dpt.asnumpy(r) == expected).all()
8993

9094
r1 = dpt.logical_xor(ar1[::-2], ar2[::2])
91-
expected1 = np.logical_xor(dpt.asnumpy(ar1[::-2]), dpt.asnumpy(ar2[::2]))
95+
expected1 = np.logical_xor(ar1_np[::-2], ar2_np[::2])
9296
assert _compare_dtypes(r.dtype, expected1.dtype, sycl_queue=q)
9397
assert r1.shape == expected1.shape
9498
assert (dpt.asnumpy(r1) == expected1).all()
@@ -106,14 +110,18 @@ def test_logical_xor_complex_matrix(op_dtype):
106110
dtype=op_dtype,
107111
)
108112
ar4 = dpt.full(ar3.shape, fill_value=1.0 + 2j, dtype=op_dtype)
113+
114+
ar3_np = dpt.asnumpy(ar3)
115+
ar4_np = dpt.asnumpy(ar4)
116+
109117
r2 = dpt.logical_xor(ar3, ar4)
110118
with np.errstate(invalid="ignore"):
111-
expected2 = np.logical_xor(dpt.asnumpy(ar3), dpt.asnumpy(ar4))
119+
expected2 = np.logical_xor(ar3_np, ar4_np)
112120
assert (dpt.asnumpy(r2) == expected2).all()
113121

114122
r3 = dpt.logical_xor(ar4, ar4)
115123
with np.errstate(invalid="ignore"):
116-
expected3 = np.logical_xor(dpt.asnumpy(ar4), dpt.asnumpy(ar4))
124+
expected3 = np.logical_xor(ar4_np, ar4_np)
117125
assert (dpt.asnumpy(r3) == expected3).all()
118126

119127

@@ -123,12 +131,15 @@ def test_logical_xor_complex_float():
123131
ar1 = dpt.asarray([1j, 1.0 + 9j, 2.0 + 0j, 2.0 + 1j], dtype="c8")
124132
ar2 = dpt.full(ar1.shape, 2, dtype="f4")
125133

134+
ar1_np = dpt.asnumpy(ar1)
135+
ar2_np = dpt.asnumpy(ar1)
136+
126137
r = dpt.logical_xor(ar1, ar2)
127-
expected = np.logical_xor(dpt.asnumpy(ar1), dpt.asnumpy(ar2))
138+
expected = np.logical_xor(ar1_np, ar2_np)
128139
assert (dpt.asnumpy(r) == expected).all()
129140

130141
r1 = dpt.logical_xor(ar2, ar1)
131-
expected1 = np.logical_xor(dpt.asnumpy(ar2), dpt.asnumpy(ar1))
142+
expected1 = np.logical_xor(ar2_np, ar1_np)
132143
assert (dpt.asnumpy(r1) == expected1).all()
133144
with np.errstate(invalid="ignore"):
134145
for tp in [
@@ -140,12 +151,13 @@ def test_logical_xor_complex_float():
140151
-dpt.inf * 1j,
141152
]:
142153
ar3 = dpt.full(ar1.shape, tp)
154+
ar3_np = dpt.asnumpy(ar3)
143155
r2 = dpt.logical_xor(ar1, ar3)
144-
expected2 = np.logical_xor(dpt.asnumpy(ar1), dpt.asnumpy(ar3))
156+
expected2 = np.logical_xor(ar1_np, ar3_np)
145157
assert (dpt.asnumpy(r2) == expected2).all()
146158

147159
r3 = dpt.logical_xor(ar3, ar1)
148-
expected3 = np.logical_xor(dpt.asnumpy(ar3), dpt.asnumpy(ar1))
160+
expected3 = np.logical_xor(ar3_np, ar1_np)
149161
assert (dpt.asnumpy(r3) == expected3).all()
150162

151163

0 commit comments

Comments
 (0)