Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbb55f0c

Browse files
QuLogicd-v-bdstansbyjakirkham
authored
Use unsigned bytes to back Buffer (#2738)
This makes compressors consistent with v2, and buffers consistents with`bytes` types.Fixes#2735Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com>Co-authored-by: David Stansby <dstansby@gmail.com>Co-authored-by: jakirkham <jakirkham@gmail.com>
1 parent84d3284 commitbb55f0c

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

‎src/zarr/codecs/bytes.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ async def _encode_single(
114114

115115
nd_array=chunk_array.as_ndarray_like()
116116
# Flatten the nd-array (only copy if needed) and reinterpret as bytes
117-
nd_array=nd_array.ravel().view(dtype="b")
117+
nd_array=nd_array.ravel().view(dtype="B")
118118
returnchunk_spec.prototype.buffer.from_array_like(nd_array)
119119

120120
defcompute_encoded_size(self,input_byte_length:int,_chunk_spec:ArraySpec)->int:

‎src/zarr/codecs/crc32c_.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async def _encode_single(
5757
# Calculate the checksum and "cast" it to a numpy array
5858
checksum=np.array([crc32c(cast(typing_extensions.Buffer,data))],dtype=np.uint32)
5959
# Append the checksum (as bytes) to the data
60-
returnchunk_spec.prototype.buffer.from_array_like(np.append(data,checksum.view("b")))
60+
returnchunk_spec.prototype.buffer.from_array_like(np.append(data,checksum.view("B")))
6161

6262
defcompute_encoded_size(self,input_byte_length:int,_chunk_spec:ArraySpec)->int:
6363
returninput_byte_length+4

‎src/zarr/core/buffer/core.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class Buffer(ABC):
143143
def__init__(self,array_like:ArrayLike)->None:
144144
ifarray_like.ndim!=1:
145145
raiseValueError("array_like: only 1-dim allowed")
146-
ifarray_like.dtype!=np.dtype("b"):
146+
ifarray_like.dtype!=np.dtype("B"):
147147
raiseValueError("array_like: only byte dtype allowed")
148148
self._data=array_like
149149

@@ -306,7 +306,7 @@ class NDBuffer:
306306
Notes
307307
-----
308308
The two buffer classes Buffer and NDBuffer are very similar. In fact, Buffer
309-
is a special case of NDBuffer where dim=1, stride=1, and dtype="b". However,
309+
is a special case of NDBuffer where dim=1, stride=1, and dtype="B". However,
310310
in order to use Python's type system to differentiate between the contiguous
311311
Buffer and the n-dim (non-contiguous) NDBuffer, we keep the definition of the
312312
two classes separate.

‎src/zarr/core/buffer/cpu.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def __init__(self, array_like: ArrayLike) -> None:
4949

5050
@classmethod
5151
defcreate_zero_length(cls)->Self:
52-
returncls(np.array([],dtype="b"))
52+
returncls(np.array([],dtype="B"))
5353

5454
@classmethod
5555
deffrom_buffer(cls,buffer:core.Buffer)->Self:
@@ -92,7 +92,7 @@ def from_bytes(cls, bytes_like: BytesLike) -> Self:
9292
-------
9393
New buffer representing `bytes_like`
9494
"""
95-
returncls.from_array_like(np.frombuffer(bytes_like,dtype="b"))
95+
returncls.from_array_like(np.frombuffer(bytes_like,dtype="B"))
9696

9797
defas_numpy_array(self)->npt.NDArray[Any]:
9898
"""Returns the buffer as a NumPy array (host memory).
@@ -111,7 +111,7 @@ def __add__(self, other: core.Buffer) -> Self:
111111
"""Concatenate two buffers"""
112112

113113
other_array=other.as_array_like()
114-
assertother_array.dtype==np.dtype("b")
114+
assertother_array.dtype==np.dtype("B")
115115
returnself.__class__(
116116
np.concatenate((np.asanyarray(self._data),np.asanyarray(other_array)))
117117
)
@@ -131,7 +131,7 @@ class NDBuffer(core.NDBuffer):
131131
Notes
132132
-----
133133
The two buffer classes Buffer and NDBuffer are very similar. In fact, Buffer
134-
is a special case of NDBuffer where dim=1, stride=1, and dtype="b". However,
134+
is a special case of NDBuffer where dim=1, stride=1, and dtype="B". However,
135135
in order to use Python's type system to differentiate between the contiguous
136136
Buffer and the n-dim (non-contiguous) NDBuffer, we keep the definition of the
137137
two classes separate.

‎src/zarr/core/buffer/gpu.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def __init__(self, array_like: ArrayLike) -> None:
5959

6060
ifarray_like.ndim!=1:
6161
raiseValueError("array_like: only 1-dim allowed")
62-
ifarray_like.dtype!=np.dtype("b"):
62+
ifarray_like.dtype!=np.dtype("B"):
6363
raiseValueError("array_like: only byte dtype allowed")
6464

6565
ifnothasattr(array_like,"__cuda_array_interface__"):
@@ -84,7 +84,7 @@ def create_zero_length(cls) -> Self:
8484
-------
8585
New empty 0-length buffer
8686
"""
87-
returncls(cp.array([],dtype="b"))
87+
returncls(cp.array([],dtype="B"))
8888

8989
@classmethod
9090
deffrom_buffer(cls,buffer:core.Buffer)->Self:
@@ -100,14 +100,14 @@ def from_buffer(cls, buffer: core.Buffer) -> Self:
100100

101101
@classmethod
102102
deffrom_bytes(cls,bytes_like:BytesLike)->Self:
103-
returncls.from_array_like(cp.frombuffer(bytes_like,dtype="b"))
103+
returncls.from_array_like(cp.frombuffer(bytes_like,dtype="B"))
104104

105105
defas_numpy_array(self)->npt.NDArray[Any]:
106106
returncast(npt.NDArray[Any],cp.asnumpy(self._data))
107107

108108
def__add__(self,other:core.Buffer)->Self:
109109
other_array=other.as_array_like()
110-
assertother_array.dtype==np.dtype("b")
110+
assertother_array.dtype==np.dtype("B")
111111
gpu_other=Buffer(other_array)
112112
gpu_other_array=gpu_other.as_array_like()
113113
returnself.__class__(
@@ -129,7 +129,7 @@ class NDBuffer(core.NDBuffer):
129129
Notes
130130
-----
131131
The two buffer classes Buffer and NDBuffer are very similar. In fact, Buffer
132-
is a special case of NDBuffer where dim=1, stride=1, and dtype="b". However,
132+
is a special case of NDBuffer where dim=1, stride=1, and dtype="B". However,
133133
in order to use Python's type system to differentiate between the contiguous
134134
Buffer and the n-dim (non-contiguous) NDBuffer, we keep the definition of the
135135
two classes separate.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp