Skip to content

Commit e0dee3c

Browse files
committed
adds wrapper codecs for the v2 codec pipeline
1 parent 947dd2e commit e0dee3c

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

numcodecs/tests/test_zstd.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,10 @@ def test_checksum():
8686
assert len(Zstd(level=0, checksum=False).encode(data)) + 4 == len(
8787
Zstd(level=0, checksum=True).encode(data)
8888
)
89+
90+
91+
def test_native_functions():
92+
# Note, these assertions might need to be changed for new versions of zstd
93+
assert Zstd.default_level == 3
94+
assert Zstd.min_level == -131072
95+
assert Zstd.max_level == 22

numcodecs/zstd.pyx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ cdef extern from "zstd.h":
4848
unsigned long long ZSTD_getFrameContentSize(const void* src,
4949
size_t srcSize) nogil
5050

51+
int ZSTD_minCLevel() nogil
5152
int ZSTD_maxCLevel() nogil
53+
int ZSTD_defaultCLevel() nogil
5254

5355
size_t ZSTD_compressBound(size_t srcSize) nogil
5456

@@ -255,3 +257,18 @@ class Zstd(Codec):
255257
(type(self).__name__,
256258
self.level)
257259
return r
260+
261+
@classmethod
262+
@property
263+
def default_level(cls):
264+
return ZSTD_defaultCLevel()
265+
266+
@classmethod
267+
@property
268+
def min_level(cls):
269+
return ZSTD_minCLevel()
270+
271+
@classmethod
272+
@property
273+
def max_level(cls):
274+
return ZSTD_maxCLevel()

0 commit comments

Comments
 (0)