Expand description
§zfp-rs-ffi
C ABI bindings layer around the pure-Rust zfp-rs implementation.
This crate mirrors the API surface of zfp-sys (generated from
#include <zfp.h>), providing zero-cost FFI adapters that delegate to the
existing zfp-rs compression logic.
All ABI functions export upstream-compatible zfp_* and stream_* symbol
names, so C consumers can include the generated zfp.h and link this crate’s
static library in place of the upstream C library.
§Scope
The target API is zfp-sys version 0.1.15 as generated in this workspace.
This includes stream_* functions except stream_set_stride (not enabled
in zfp-sys), and excludes CFP APIs and zfp_block_maximum_size.
Structs§
- zfp_
config - C
zfp_config - zfp_
config__ bindgen_ ty_ 1__ bindgen_ ty_ 1 - Expert-mode payload inside
zfp_config__bindgen_ty_1. - zfp_
exec_ params_ omp - C
zfp_exec_params_omp - zfp_
execution - C
zfp_execution - zfp_
field - C
zfp_field: field descriptor for compression/decompression. cbindgen:field-names=[type, nx, ny, nz, nw, sx, sy, sz, sw, data] - zfp_
stream - C
zfp_stream
Enums§
- zfp_
exec_ policy - C
zfp_exec_policyvalues - zfp_
mode - C
zfp_modevalues - zfp_
type - C
zfp_typevalues
Constants§
- ZFP_
CODEC_ VERSION - ZFP codec version (5).
- ZFP_
DATA_ ALL - All data positions (
ZFP_DATA_ALL). - ZFP_
DATA_ CACHE - Cache data position (
ZFP_DATA_CACHE). - ZFP_
DATA_ HEADER - Header data position (
ZFP_DATA_HEADER). - ZFP_
DATA_ INDEX - Index data position (
ZFP_DATA_INDEX). - ZFP_
DATA_ META - Metadata data position (
ZFP_DATA_META). - ZFP_
DATA_ MISC - Miscellaneous data position (
ZFP_DATA_MISC). - ZFP_
DATA_ PADDING - Padding data position (
ZFP_DATA_PADDING). - ZFP_
DATA_ PAYLOAD - Compressed payload data position (
ZFP_DATA_PAYLOAD). - ZFP_
DATA_ UNUSED - Unused data position (
ZFP_DATA_UNUSED). - ZFP_
HEADER_ FULL - All header sections (
ZFP_HEADER_FULL). - ZFP_
HEADER_ MAGIC - 32-bit magic word (
ZFP_HEADER_MAGIC). - ZFP_
HEADER_ MAX_ BITS - Maximum header size in bits (
ZFP_HEADER_MAX_BITS). - ZFP_
HEADER_ META - 52-bit field metadata (
ZFP_HEADER_META). - ZFP_
HEADER_ MODE - 12- or 64-bit compression mode (
ZFP_HEADER_MODE). - ZFP_
HEADER_ NONE - No header sections (
ZFP_HEADER_NONE). - ZFP_
LIBRARY_ MAJOR - ZFP library version components (major=1, minor=0, patch=1, tweak=0).
- ZFP_
LIBRARY_ MINOR - ZFP_
LIBRARY_ PATCH - ZFP_
LIBRARY_ TWEAK - ZFP_
MAGIC_ BITS - Number of bits in the magic word (
ZFP_MAGIC_BITS). - ZFP_
MAX_ BITS - Maximum number of bits per block (
ZFP_MAX_BITS). - ZFP_
MAX_ PREC - Maximum precision in bits (
ZFP_MAX_PREC). - ZFP_
META_ BITS - Number of bits in the metadata word (
ZFP_META_BITS). - ZFP_
META_ NULL - Null metadata value (
u64::MAX). - ZFP_
MIN_ BITS - Minimum number of bits per block (
ZFP_MIN_BITS). - ZFP_
MIN_ EXP - Minimum exponent (
ZFP_MIN_EXP). - ZFP_
MODE_ LONG_ BITS - Number of bits in the long mode word (
ZFP_MODE_LONG_BITS). - ZFP_
MODE_ SHORT_ BITS - Number of bits in the short mode word (
ZFP_MODE_SHORT_BITS). - ZFP_
MODE_ SHORT_ MAX - Maximum value representable in a 12-bit mode word (
ZFP_MODE_SHORT_MAX). - ZFP_
ROUND_ FIRST - Round towards zero for the first conversion (
ZFP_ROUND_FIRST). - ZFP_
ROUND_ LAST - Round towards zero for the last conversion (
ZFP_ROUND_LAST). - ZFP_
ROUND_ NEVER - Never round (
ZFP_ROUND_NEVER). - ZFP_
VERSION_ STRING - Version string.
- zfp_
exec_ policy_ zfp_ exec_ cuda - zfp_
exec_ policy_ zfp_ exec_ omp - zfp_
exec_ policy_ zfp_ exec_ serial - zfp_
false - C
zfp_false - zfp_
mode_ zfp_ mode_ expert - zfp_
mode_ zfp_ mode_ fixed_ accuracy - zfp_
mode_ zfp_ mode_ fixed_ precision - zfp_
mode_ zfp_ mode_ fixed_ rate - zfp_
mode_ zfp_ mode_ null - zfp_
mode_ zfp_ mode_ reversible - zfp_
true - C
zfp_true - zfp_
type_ zfp_ type_ double - zfp_
type_ zfp_ type_ float - zfp_
type_ zfp_ type_ int32 - zfp_
type_ zfp_ type_ int64 - zfp_
type_ zfp_ type_ none
Statics§
- ZFP_
VERSION_ STRING_ BYTES - C
zfp_version_stringsymbol. - stream_
word_ bits - C
stream_word_bitssymbol. - zfp_
codec_ version - C
zfp_codec_versionsymbol. - zfp_
library_ version - C
zfp_library_versionsymbol (encoded as major10000 + minor100 + patch).
Functions§
- stream_
align ⚠ - Discard buffered read bits and align to the next word boundary. Returns the number of bits discarded.
- stream_
alignment ⚠ - Return the required alignment for bitstream operations.
- stream_
capacity ⚠ - Return the total byte capacity of the bitstream.
- stream_
clone ⚠ - Clone a bitstream by copying all committed bytes.
- stream_
close ⚠ - Close and free a bitstream.
- stream_
copy ⚠ - Copy
nbits fromsrcintodst. - stream_
data ⚠ - Return a pointer to the bitstream’s data buffer.
- stream_
flush ⚠ - Flush the write buffer to the next word boundary. Returns the number of padding bits written.
- stream_
open ⚠ - Open a new bitstream with the given byte capacity.
- stream_
pad ⚠ - Append
nzero-bits to the write stream. - stream_
read_ ⚠bit - Read a single bit from the bitstream.
- stream_
read_ ⚠bits - Read
nbits from the bitstream. - stream_
rewind ⚠ - Rewind the bitstream to the beginning.
- stream_
rseek ⚠ - Position the read cursor at
offsetbits. - stream_
rtell ⚠ - Return the current read bit offset.
- stream_
size ⚠ - Return the committed byte size of the bitstream.
- stream_
skip ⚠ - Skip
nbits forward in the read cursor. - stream_
stride_ ⚠block - Return the stride block size in bytes (always 8 for 64-bit words).
- stream_
stride_ ⚠delta - Return the stride delta between blocks (always -8).
- stream_
write_ ⚠bit - Write a single bit to the bitstream.
- stream_
write_ ⚠bits - Write the low
nbits ofvalueto the bitstream. Returns the overflow (bits aboven). - stream_
wseek ⚠ - Position the write cursor at
offsetbits. - stream_
wtell ⚠ - Return the current write bit offset.
- zfp_
compress ⚠ - zfp_
config_ accuracy - Create a
zfp_configfor fixed-accuracy mode. - zfp_
config_ expert - Create a
zfp_configfor expert mode. - zfp_
config_ none - Create a
zfp_configwith null mode. - zfp_
config_ precision - Create a
zfp_configfor fixed-precision mode. - zfp_
config_ rate - Create a
zfp_configfor fixed-rate mode. - zfp_
config_ reversible - Create a
zfp_configfor reversible (lossless) mode. - zfp_
decode_ ⚠block_ double_ 1 - zfp_
decode_ ⚠block_ double_ 2 - zfp_
decode_ ⚠block_ double_ 3 - zfp_
decode_ ⚠block_ double_ 4 - zfp_
decode_ ⚠block_ float_ 1 - zfp_
decode_ ⚠block_ float_ 2 - zfp_
decode_ ⚠block_ float_ 3 - zfp_
decode_ ⚠block_ float_ 4 - zfp_
decode_ ⚠block_ int32_ 1 - zfp_
decode_ ⚠block_ int32_ 2 - zfp_
decode_ ⚠block_ int32_ 3 - zfp_
decode_ ⚠block_ int32_ 4 - zfp_
decode_ ⚠block_ int64_ 1 - zfp_
decode_ ⚠block_ int64_ 2 - zfp_
decode_ ⚠block_ int64_ 3 - zfp_
decode_ ⚠block_ int64_ 4 - zfp_
decode_ ⚠block_ strided_ double_ 1 - zfp_
decode_ ⚠block_ strided_ double_ 2 - zfp_
decode_ ⚠block_ strided_ double_ 3 - zfp_
decode_ ⚠block_ strided_ double_ 4 - zfp_
decode_ ⚠block_ strided_ float_ 1 - zfp_
decode_ ⚠block_ strided_ float_ 2 - zfp_
decode_ ⚠block_ strided_ float_ 3 - zfp_
decode_ ⚠block_ strided_ float_ 4 - zfp_
decode_ ⚠block_ strided_ int32_ 1 - zfp_
decode_ ⚠block_ strided_ int32_ 2 - zfp_
decode_ ⚠block_ strided_ int32_ 3 - zfp_
decode_ ⚠block_ strided_ int32_ 4 - zfp_
decode_ ⚠block_ strided_ int64_ 1 - zfp_
decode_ ⚠block_ strided_ int64_ 2 - zfp_
decode_ ⚠block_ strided_ int64_ 3 - zfp_
decode_ ⚠block_ strided_ int64_ 4 - zfp_
decode_ ⚠partial_ block_ strided_ double_ 1 - zfp_
decode_ ⚠partial_ block_ strided_ double_ 2 - zfp_
decode_ ⚠partial_ block_ strided_ double_ 3 - zfp_
decode_ ⚠partial_ block_ strided_ double_ 4 - zfp_
decode_ ⚠partial_ block_ strided_ float_ 1 - zfp_
decode_ ⚠partial_ block_ strided_ float_ 2 - zfp_
decode_ ⚠partial_ block_ strided_ float_ 3 - zfp_
decode_ ⚠partial_ block_ strided_ float_ 4 - zfp_
decode_ ⚠partial_ block_ strided_ int32_ 1 - zfp_
decode_ ⚠partial_ block_ strided_ int32_ 2 - zfp_
decode_ ⚠partial_ block_ strided_ int32_ 3 - zfp_
decode_ ⚠partial_ block_ strided_ int32_ 4 - zfp_
decode_ ⚠partial_ block_ strided_ int64_ 1 - zfp_
decode_ ⚠partial_ block_ strided_ int64_ 2 - zfp_
decode_ ⚠partial_ block_ strided_ int64_ 3 - zfp_
decode_ ⚠partial_ block_ strided_ int64_ 4 - zfp_
decompress ⚠ - zfp_
demote_ ⚠int32_ to_ int8 - zfp_
demote_ ⚠int32_ to_ int16 - zfp_
demote_ ⚠int32_ to_ uint8 - zfp_
demote_ ⚠int32_ to_ uint16 - zfp_
encode_ ⚠block_ double_ 1 - zfp_
encode_ ⚠block_ double_ 2 - zfp_
encode_ ⚠block_ double_ 3 - zfp_
encode_ ⚠block_ double_ 4 - zfp_
encode_ ⚠block_ float_ 1 - zfp_
encode_ ⚠block_ float_ 2 - zfp_
encode_ ⚠block_ float_ 3 - zfp_
encode_ ⚠block_ float_ 4 - zfp_
encode_ ⚠block_ int32_ 1 - zfp_
encode_ ⚠block_ int32_ 2 - zfp_
encode_ ⚠block_ int32_ 3 - zfp_
encode_ ⚠block_ int32_ 4 - zfp_
encode_ ⚠block_ int64_ 1 - zfp_
encode_ ⚠block_ int64_ 2 - zfp_
encode_ ⚠block_ int64_ 3 - zfp_
encode_ ⚠block_ int64_ 4 - zfp_
encode_ ⚠block_ strided_ double_ 1 - zfp_
encode_ ⚠block_ strided_ double_ 2 - zfp_
encode_ ⚠block_ strided_ double_ 3 - zfp_
encode_ ⚠block_ strided_ double_ 4 - zfp_
encode_ ⚠block_ strided_ float_ 1 - zfp_
encode_ ⚠block_ strided_ float_ 2 - zfp_
encode_ ⚠block_ strided_ float_ 3 - zfp_
encode_ ⚠block_ strided_ float_ 4 - zfp_
encode_ ⚠block_ strided_ int32_ 1 - zfp_
encode_ ⚠block_ strided_ int32_ 2 - zfp_
encode_ ⚠block_ strided_ int32_ 3 - zfp_
encode_ ⚠block_ strided_ int32_ 4 - zfp_
encode_ ⚠block_ strided_ int64_ 1 - zfp_
encode_ ⚠block_ strided_ int64_ 2 - zfp_
encode_ ⚠block_ strided_ int64_ 3 - zfp_
encode_ ⚠block_ strided_ int64_ 4 - zfp_
encode_ ⚠partial_ block_ strided_ double_ 1 - zfp_
encode_ ⚠partial_ block_ strided_ double_ 2 - zfp_
encode_ ⚠partial_ block_ strided_ double_ 3 - zfp_
encode_ ⚠partial_ block_ strided_ double_ 4 - zfp_
encode_ ⚠partial_ block_ strided_ float_ 1 - zfp_
encode_ ⚠partial_ block_ strided_ float_ 2 - zfp_
encode_ ⚠partial_ block_ strided_ float_ 3 - zfp_
encode_ ⚠partial_ block_ strided_ float_ 4 - zfp_
encode_ ⚠partial_ block_ strided_ int32_ 1 - zfp_
encode_ ⚠partial_ block_ strided_ int32_ 2 - zfp_
encode_ ⚠partial_ block_ strided_ int32_ 3 - zfp_
encode_ ⚠partial_ block_ strided_ int32_ 4 - zfp_
encode_ ⚠partial_ block_ strided_ int64_ 1 - zfp_
encode_ ⚠partial_ block_ strided_ int64_ 2 - zfp_
encode_ ⚠partial_ block_ strided_ int64_ 3 - zfp_
encode_ ⚠partial_ block_ strided_ int64_ 4 - zfp_
field_ ⚠1d - zfp_
field_ ⚠2d - zfp_
field_ ⚠3d - zfp_
field_ ⚠4d - zfp_
field_ ⚠alloc - zfp_
field_ ⚠begin - zfp_
field_ ⚠blocks - zfp_
field_ ⚠dimensionality - zfp_
field_ ⚠free - zfp_
field_ ⚠is_ contiguous - zfp_
field_ ⚠metadata - zfp_
field_ ⚠pointer - zfp_
field_ ⚠precision - zfp_
field_ ⚠set_ metadata - zfp_
field_ ⚠set_ pointer - zfp_
field_ ⚠set_ size_ 1d - zfp_
field_ ⚠set_ size_ 2d - zfp_
field_ ⚠set_ size_ 3d - zfp_
field_ ⚠set_ size_ 4d - zfp_
field_ ⚠set_ stride_ 1d - zfp_
field_ ⚠set_ stride_ 2d - zfp_
field_ ⚠set_ stride_ 3d - zfp_
field_ ⚠set_ stride_ 4d - zfp_
field_ ⚠set_ type - zfp_
field_ ⚠size - zfp_
field_ ⚠size_ bytes - zfp_
field_ ⚠stride - zfp_
field_ ⚠type - zfp_
promote_ ⚠int8_ to_ int32 - zfp_
promote_ ⚠int16_ to_ int32 - zfp_
promote_ ⚠uint8_ to_ int32 - zfp_
promote_ ⚠uint16_ to_ int32 - zfp_
read_ ⚠header - zfp_
stream_ ⚠accuracy - zfp_
stream_ ⚠align - zfp_
stream_ ⚠bit_ stream - zfp_
stream_ ⚠close - zfp_
stream_ ⚠compressed_ size - zfp_
stream_ ⚠compression_ mode - zfp_
stream_ ⚠execution - zfp_
stream_ ⚠flush - zfp_
stream_ ⚠maximum_ size - zfp_
stream_ ⚠mode - zfp_
stream_ ⚠omp_ chunk_ size - zfp_
stream_ ⚠omp_ threads - zfp_
stream_ ⚠open - zfp_
stream_ ⚠params - zfp_
stream_ ⚠precision - zfp_
stream_ ⚠rate - zfp_
stream_ ⚠rewind - zfp_
stream_ ⚠set_ accuracy - zfp_
stream_ ⚠set_ bit_ stream - zfp_
stream_ ⚠set_ execution - zfp_
stream_ ⚠set_ mode - zfp_
stream_ ⚠set_ omp_ chunk_ size - zfp_
stream_ ⚠set_ omp_ threads - zfp_
stream_ ⚠set_ params - zfp_
stream_ ⚠set_ precision - zfp_
stream_ ⚠set_ rate - zfp_
stream_ ⚠set_ reversible - zfp_
type_ ⚠size - zfp_
write_ ⚠header
Type Aliases§
- bitstream
- Opaque C
bitstreampointer type (opaque to Rust). - bitstream_
count - C
bitstream_counttype - bitstream_
offset - C
bitstream_offsettype - bitstream_
size - C
bitstream_sizetype - int8
- C
signed char - int16
- C
signed short - int32
- C
signed int - int64
- C
long long - uint
- C
unsigned int - uint8
- C
unsigned char - uint16
- C
unsigned short - uint64
- C
unsigned long long - zfp_
bool - C
intused as boolean
Unions§
- zfp_
config__ bindgen_ ty_ 1 - Payload of the
zfp_configunion: mirrors the Czfp_config__bindgen_ty_1.