nk
1.0.0
C++ Numerical Computing Runtime
Toggle main menu visibility
Loading...
Searching...
No Matches
deflate.hpp
1
// ops/include/nk/ops/deflate.hpp
2
//
3
// In-tree RFC 1951 Deflate/Inflate, RFC 1950 ZLIB wrapper, and
4
// CRC-32 / Adler-32 checksums. Zero external dependencies.
5
//
6
// Shared compression primitives for image (PNG, TIFF) and runtime (MAT v7).
7
8
#pragma once
9
10
#include <cstddef>
11
#include <cstdint>
12
#include <vector>
13
14
namespace
nk::ops {
15
17
std::uint32_t crc32(
const
std::uint8_t *data, std::size_t len);
18
20
std::uint32_t adler32(
const
std::uint8_t *data, std::size_t len);
21
28
std::vector<std::uint8_t> inflateRaw(
const
std::uint8_t *src, std::size_t len,
29
std::size_t expectedSizeHint = 0);
30
36
std::vector<std::uint8_t> deflateRaw(
const
std::uint8_t *src, std::size_t len,
37
int
level = 6);
38
45
std::vector<std::uint8_t> zlibDecompress(
const
std::uint8_t *src, std::size_t len,
46
std::size_t expectedSizeHint = 0);
47
53
std::vector<std::uint8_t> zlibCompress(
const
std::uint8_t *src, std::size_t len,
54
int
level = 6);
55
56
}
// namespace nk::ops
src
ops
include
nk
ops
deflate.hpp
Generated by
1.17.0