Skip to content

Commit 3c35fd5

Browse files
committed
Fixed typo resulting in backwards FNC flag
- FNC flag was returning CNF instead - Added tests for correct behavior
1 parent d945d95 commit 3c35fd5

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

dpctl/tensor/_flags.pyx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ cdef class Flags:
110110
instance is F-contiguous and not C-contiguous.
111111
"""
112112
return (
113-
_check_bit(self.flags_, USM_ARRAY_C_CONTIGUOUS)
114-
and not _check_bit(self.flags_, USM_ARRAY_F_CONTIGUOUS)
113+
_check_bit(self.flags_, USM_ARRAY_F_CONTIGUOUS)
114+
and not _check_bit(self.flags_, USM_ARRAY_C_CONTIGUOUS)
115115
)
116116

117117
@property
@@ -132,7 +132,9 @@ cdef class Flags:
132132
return self.writable
133133
elif name == "FC":
134134
return self.fc
135-
elif name == "CONTIGUOUS":
135+
elif name == "FNC":
136+
return self.fnc
137+
elif name in ["FORC", "CONTIGUOUS"]:
136138
return self.forc
137139

138140
def __setitem__(self, name, val):

dpctl/tests/test_usm_ndarray_ctor.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,20 @@ def test_usm_ndarray_flags():
6060
get_queue_or_skip()
6161
assert dpt.usm_ndarray((5,), dtype="i4").flags.fc
6262
assert dpt.usm_ndarray((5, 2), dtype="i4").flags.c_contiguous
63+
assert not dpt.usm_ndarray((5, 2), dtype="i4").flags.fnc
6364
assert dpt.usm_ndarray((5, 2), dtype="i4", order="F").flags.f_contiguous
6465
assert dpt.usm_ndarray((5, 1, 2), dtype="i4", order="F").flags.f_contiguous
66+
assert dpt.usm_ndarray((5, 1, 2), dtype="i4", order="F").flags.fnc
6567
assert dpt.usm_ndarray(
6668
(5, 1, 2), dtype="i4", strides=(2, 0, 1)
6769
).flags.c_contiguous
70+
assert not dpt.usm_ndarray(
71+
(5, 1, 2), dtype="i4", strides=(2, 0, 1)
72+
).flags.fnc
6873
assert dpt.usm_ndarray(
6974
(5, 1, 2), dtype="i4", strides=(1, 0, 5)
7075
).flags.f_contiguous
76+
assert dpt.usm_ndarray((5, 1, 2), dtype="i4", strides=(1, 0, 5)).flags.fnc
7177
assert dpt.usm_ndarray((5, 1, 1), dtype="i4", strides=(1, 0, 1)).flags.fc
7278
x = dpt.empty(5, dtype="u2")
7379
assert x.flags.writable is True

0 commit comments

Comments
 (0)