/ concept-collection / benchcompress
Sign in
concept-collection / benchcompress
wavpack signed
Jeremy Magland <jmagland@flatironinstitute.org> committed commit 71d626f578d1 parent d78a9b9 Browse files
1 changed file+11−7
benchcompress/src/benchcompress/algorithms/wavpack/__init__.pymodified+11−7View file
@@ -18,9 +18,13 @@ LONG_DESCRIPTION = _load_long_description()
1818 def wavpack_encode(x: np.ndarray, level: int) -> bytes:
1919 from wavpack_numcodecs import WavPack
2020
21- # if unsigned type, cast to signed
22- if x.dtype.kind == "u":
23- x = x.astype(np.int64) # Convert unsigned to signed
21+ # if uint8, convert to int8
22+ if x.dtype == np.uint8:
23+ x = x.astype(np.int8)
24+
25+ # if uint16, convert to int16
26+ elif x.dtype == np.uint16:
27+ x = x.astype(np.int16)
2428
2529 assert x.ndim == 1 or x.ndim == 2
2630 wv = WavPack(level=level)
@@ -48,7 +52,7 @@ algorithms = [
4852 "encode": lambda x: wavpack_encode(x, level=1),
4953 "decode": lambda x, dtype, shape: wavpack_decode(x, dtype, shape),
5054 "description": "WavPack compression at level 1, minimum compression level.",
51- "tags": ["wavpack", "signed_only"],
55+ "tags": ["wavpack"],
5256 "source_file": SOURCE_FILE,
5357 "long_description": LONG_DESCRIPTION,
5458 },
@@ -58,7 +62,7 @@ algorithms = [
5862 "encode": lambda x: wavpack_encode(x, level=2),
5963 "decode": lambda x, dtype, shape: wavpack_decode(x, dtype, shape),
6064 "description": "WavPack compression at level 2, medium compression level.",
61- "tags": ["wavpack", "signed_only"],
65+ "tags": ["wavpack"],
6266 "source_file": SOURCE_FILE,
6367 "long_description": LONG_DESCRIPTION,
6468 },
@@ -68,7 +72,7 @@ algorithms = [
6872 "encode": lambda x: wavpack_encode(x, level=3),
6973 "decode": lambda x, dtype, shape: wavpack_decode(x, dtype, shape),
7074 "description": "WavPack compression at level 3, high compression level.",
71- "tags": ["wavpack", "signed_only"],
75+ "tags": ["wavpack"],
7276 "source_file": SOURCE_FILE,
7377 "long_description": LONG_DESCRIPTION,
7478 },
@@ -78,7 +82,7 @@ algorithms = [
7882 "encode": lambda x: wavpack_encode(x, level=4),
7983 "decode": lambda x, dtype, shape: wavpack_decode(x, dtype, shape),
8084 "description": "WavPack compression at level 4, highest compression level.",
81- "tags": ["wavpack", "signed_only"],
85+ "tags": ["wavpack"],
8286 "source_file": SOURCE_FILE,
8387 "long_description": LONG_DESCRIPTION,
8488 },
moveopenescclose