Skip to content

Commit fbb162c

Browse files
committed
Array-like constructors now default to order="K"
Also reverts a change to how `order` arg validation is handled to fix a failing test
1 parent 6d2a3ef commit fbb162c

File tree

1 file changed

+38
-10
lines changed

1 file changed

+38
-10
lines changed

dpctl/tensor/_ctors.py

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,8 +1161,15 @@ def empty_like(
11611161
"""
11621162
if not isinstance(x, dpt.usm_ndarray):
11631163
raise TypeError(f"Expected instance of dpt.usm_ndarray, got {type(x)}.")
1164-
if order not in ("K", "C", "F", "A"):
1165-
order = "K"
1164+
if (
1165+
not isinstance(order, str)
1166+
or len(order) == 0
1167+
or order[0] not in "CcFfAaKk"
1168+
):
1169+
raise ValueError(
1170+
"Unrecognized order keyword value, expecting 'C', 'F', 'A', or 'K'."
1171+
)
1172+
order = order[0].upper()
11661173
if dtype is None:
11671174
dtype = x.dtype
11681175
if usm_type is None:
@@ -1196,7 +1203,7 @@ def empty_like(
11961203

11971204

11981205
def zeros_like(
1199-
x, /, *, dtype=None, order="C", device=None, usm_type=None, sycl_queue=None
1206+
x, /, *, dtype=None, order="K", device=None, usm_type=None, sycl_queue=None
12001207
):
12011208
"""
12021209
Creates :class:`dpctl.tensor.usm_ndarray` from USM allocation
@@ -1239,8 +1246,15 @@ def zeros_like(
12391246
"""
12401247
if not isinstance(x, dpt.usm_ndarray):
12411248
raise TypeError(f"Expected instance of dpt.usm_ndarray, got {type(x)}.")
1242-
if order not in ("K", "C", "F", "A"):
1243-
order = "K"
1249+
if (
1250+
not isinstance(order, str)
1251+
or len(order) == 0
1252+
or order[0] not in "CcFfAaKk"
1253+
):
1254+
raise ValueError(
1255+
"Unrecognized order keyword value, expecting 'C', 'F', 'A', or 'K'."
1256+
)
1257+
order = order[0].upper()
12441258
if dtype is None:
12451259
dtype = x.dtype
12461260
if usm_type is None:
@@ -1320,8 +1334,15 @@ def ones_like(
13201334
"""
13211335
if not isinstance(x, dpt.usm_ndarray):
13221336
raise TypeError(f"Expected instance of dpt.usm_ndarray, got {type(x)}.")
1323-
if order not in ("K", "C", "F", "A"):
1324-
order = "K"
1337+
if (
1338+
not isinstance(order, str)
1339+
or len(order) == 0
1340+
or order[0] not in "CcFfAaKk"
1341+
):
1342+
raise ValueError(
1343+
"Unrecognized order keyword value, expecting 'C', 'F', 'A', or 'K'."
1344+
)
1345+
order = order[0].upper()
13251346
if dtype is None:
13261347
dtype = x.dtype
13271348
if usm_type is None:
@@ -1364,7 +1385,7 @@ def full_like(
13641385
fill_value,
13651386
*,
13661387
dtype=None,
1367-
order="C",
1388+
order="K",
13681389
device=None,
13691390
usm_type=None,
13701391
sycl_queue=None,
@@ -1412,8 +1433,15 @@ def full_like(
14121433
"""
14131434
if not isinstance(x, dpt.usm_ndarray):
14141435
raise TypeError(f"Expected instance of dpt.usm_ndarray, got {type(x)}.")
1415-
if order not in ("K", "C", "F", "A"):
1416-
order = "K"
1436+
if (
1437+
not isinstance(order, str)
1438+
or len(order) == 0
1439+
or order[0] not in "CcFfAaKk"
1440+
):
1441+
raise ValueError(
1442+
"Unrecognized order keyword value, expecting 'C', 'F', 'A', or 'K'."
1443+
)
1444+
order = order[0].upper()
14171445
if dtype is None:
14181446
dtype = x.dtype
14191447
if usm_type is None:

0 commit comments

Comments
 (0)