Skip to content

Commit 5625e94

Browse files
committed
only use c-contiguous
1 parent ac61fae commit 5625e94

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/zarr/codecs/_v2.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from typing import TYPE_CHECKING
66

77
import numcodecs
8+
import numpy as np
89
from numcodecs.compat import ensure_ndarray_like
910

1011
from zarr.abc.codec import ArrayBytesCodec
@@ -19,10 +20,10 @@
1920

2021
def ensure_contiguous(arr: NDArrayLike) -> NDArrayLike:
2122
flags = getattr(arr, "flags", None)
22-
if flags is not None and (flags.c_contiguous or flags.f_contiguous):
23+
if flags is not None and flags.c_contiguous:
2324
return arr
2425
else:
25-
return arr.copy()
26+
return np.ascontiguousarray(arr)
2627

2728

2829
@dataclass(frozen=True)

tests/test_v2.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,11 @@ def test_v2_non_contiguous() -> None:
148148
arr[slice(6, 9, None), slice(3, 6, None)] = a[
149149
slice(6, 9, None), slice(3, 6, None)
150150
] # The slice on the RHS is important
151+
152+
a = np.ones((3, 3), order="F")
153+
assert a.flags.f_contiguous
154+
arr[slice(6, 9, None), slice(3, 6, None)] = a
155+
156+
a = np.ones((3, 3), order="C")
157+
assert a.flags.c_contiguous
158+
arr[slice(6, 9, None), slice(3, 6, None)] = a

0 commit comments

Comments
 (0)