|
7 | 7 | from io import BytesIO |
8 | 8 | from typing import Callable, Optional |
9 | 9 |
|
| 10 | +import leb128 |
10 | 11 | import numcodecs |
11 | 12 | import numcodecs.compat |
12 | 13 | import numcodecs.registry |
13 | 14 | import numpy as np |
14 | | -import varint |
15 | 15 | from numcodecs.abc import Codec |
16 | 16 | from typing_extensions import Buffer, Self # MSPV 3.12 |
17 | 17 |
|
@@ -97,15 +97,15 @@ def encode(self, buf: Buffer) -> bytes: |
97 | 97 | encoded_ndarray.dtype.newbyteorder("<") |
98 | 98 | ).tobytes() |
99 | 99 |
|
100 | | - message = [varint.encode(len(frames))] |
| 100 | + message = [leb128.u.encode(len(frames))] |
101 | 101 |
|
102 | 102 | for dtype, shape in frames: |
103 | | - message.append(varint.encode(len(dtype.str))) |
| 103 | + message.append(leb128.u.encode(len(dtype.str))) |
104 | 104 | message.append(dtype.str.encode("ascii")) |
105 | 105 |
|
106 | | - message.append(varint.encode(len(shape))) |
| 106 | + message.append(leb128.u.encode(len(shape))) |
107 | 107 | for s in shape: |
108 | | - message.append(varint.encode(s)) |
| 108 | + message.append(leb128.u.encode(s)) |
109 | 109 |
|
110 | 110 | message.append(encoded_bytes) |
111 | 111 |
|
@@ -136,16 +136,17 @@ def decode(self, buf: Buffer, out: Optional[Buffer] = None) -> Buffer: |
136 | 136 |
|
137 | 137 | b_io = BytesIO(b) |
138 | 138 |
|
139 | | - n_frames = varint.decode_stream(b_io) |
| 139 | + n_frames = leb128.u.decode_reader(b_io) |
140 | 140 | assert n_frames == len(self) + 1, ( |
141 | 141 | f"encoded data must contain {len(self) + 1} frames, found {n_frames}" |
142 | 142 | ) |
143 | 143 |
|
144 | 144 | frames = [] |
145 | 145 | for _ in range(n_frames): |
146 | | - dtype = np.dtype(b_io.read(varint.decode_stream(b_io)).decode("ascii")) |
| 146 | + dtype = np.dtype(b_io.read(leb128.u.decode_reader(b_io)).decode("ascii")) |
147 | 147 | shape = tuple( |
148 | | - varint.decode_stream(b_io) for _ in range(varint.decode_stream(b_io)) |
| 148 | + leb128.u.decode_reader(b_io) |
| 149 | + for _ in range(leb128.u.decode_reader(b_io)) |
149 | 150 | ) |
150 | 151 | frames.append((dtype, shape)) |
151 | 152 |
|
|
0 commit comments