Skip to content

Commit 361beae

Browse files
committed
return a view for dpnp.ndarray.real/imag
1 parent f33ef19 commit 361beae

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

dpnp/dpnp_array.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,9 @@ def imag(self):
831831
array([0. , 0.70710677])
832832
833833
"""
834-
return dpnp.imag(self)
834+
return dpnp_array._create_from_usm_ndarray(
835+
dpnp.get_usm_ndarray(self).imag
836+
)
835837

836838
@imag.setter
837839
def imag(self, value):
@@ -1042,7 +1044,9 @@ def real(self):
10421044
array([1. , 0.70710677])
10431045
10441046
"""
1045-
return dpnp.real(self)
1047+
return dpnp_array._create_from_usm_ndarray(
1048+
dpnp.get_usm_ndarray(self).real
1049+
)
10461050

10471051
@real.setter
10481052
def real(self, value):

tests/test_dparray.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,23 @@ def test_flags_strides(dtype, order, strides):
8686
assert numpy_array.flags.f_contiguous == dpnp_array.flags.f_contiguous
8787

8888

89+
def test_flags_writable():
90+
a = dpnp.arange(10, dtype="f4")
91+
a.flags["W"] = False
92+
93+
a.shape = (5, 2)
94+
assert not a.flags.writable
95+
assert not a.T.flags.writable
96+
assert not a.real.flags.writable
97+
assert not a[0:3].flags.writable
98+
99+
a = dpnp.arange(10, dtype="c8")
100+
a.flags["W"] = False
101+
102+
assert not a.real.flags.writable
103+
assert not a.imag.flags.writable
104+
105+
89106
def test_print_dpnp_int():
90107
result = repr(dpnp.array([1, 0, 2, -3, -1, 2, 21, -9], dtype="i4"))
91108
expected = "array([ 1, 0, 2, -3, -1, 2, 21, -9], dtype=int32)"

0 commit comments

Comments
 (0)