Global Namespace

// namespaces

namespace xf
    namespace xf::compression
        namespace xf::compression::details

// typedefs

typedef ap_uint <IN_BITWIDTH> in_t
typedef ap_uint <OUT_BITWIDTH> out_t
typedef ap_uint <IN_BITWIDTH> in_t
typedef ap_uint <OUT_BITWIDTH> out_t
typedef ap_uint <IN_BITWIDTH> in_t
typedef ap_uint <OUT_BITWIDTH> out_t
typedef ap_axiu <16, 0, 0, 0> in_t
typedef ap_axiu <64, 0, 0, 0> out_t
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_uint <c_streamWidth> data_t
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, 32, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, 32, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_uint <32> compressd_dt
typedef ap_uint <64> lz4_compressd_dt
typedef ap_uint <8> uintV_t
typedef ap_uint <32> data_t
typedef ap_uint <512> data_t
typedef ap_uint <32> compressd_dt
typedef ap_uint <8> uintV_t
typedef ap_uint <OUTPUT_BYTES*8> uintV_t
typedef ap_uint < (OUTPUT_BYTES*8)+8> uintS_t
typedef ap_uint <512> data_t
typedef ap_uint <8> uintV_t
typedef ap_uint <32> compressd_dt
typedef ap_uint <8> uintV_t
typedef ap_uint <MULTIPLE_BYTES*8> uintS_t
typedef ap_uint < (MULTIPLE_BYTES*8)+8> uintV_t
typedef ap_uint <MULTIPLE_BYTES*8> uintS_t
typedef ap_uint < (MULTIPLE_BYTES*8)+8> uintV_t
typedef ap_axiu <16, 0, 0, 0> in_t
typedef ap_axiu <MULTIPLE_BYTES*8, TUSER_WIDTH, 0, 0> out_t
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT
typedef ap_axiu <GMEM_DWIDTH, 0, 0, 0> in_dT
typedef ap_axiu <GMEM_DWIDTH, TUSER_DWIDTH, 0, 0> out_dT
typedef ap_axiu <32, 0, 0, 0> size_dT

// structs

template <
    class DST,
    int VEC_LEN,
    int DS_DWIDTH,
    int STROBE_DWIDTH = maxBitsUsed(VEC_LEN)
    >
struct DSVectorPack

template <
    int CODE_LEN,
    int STROBE_DWIDTH = maxBitsUsed(CODE_LEN)
    >
struct HuffmanCodePack

template <
    int DATAWIDTH,
    int VEC_LEN,
    int STROBE_DWIDTH = maxBitsUsed(VEC_LEN)
    >
struct IntVectorPack

// global variables

const uint8_t fixed_litml_op[STABLE_SIZE]
const uint8_t fixed_litml_bits[STABLE_SIZE]
const uint16_t fixed_litml_val[STABLE_SIZE]
const int c_gmemBurstSize
const int c_gmemBurstSize
const int gz_max_literal_count
const auto c_maxBits
const auto c_literals
const auto c_lengthCodes
const auto c_literalCodes
const auto c_distanceCodes
const auto c_blCodes
const auto c_heapSize
const auto c_maxBlBits
const auto c_reusePrevBlen
const auto c_reuseZeroBlen
const auto c_reuseZeroBlen7
const auto c_fixedDecoder
const auto c_dynamicDecoder
const auto c_fullDecoder
const uint16_t c_frequency_bits
const uint16_t c_codeword_bits
const uint16_t c_litCodeCount
const uint16_t c_dstCodeCount
const uint16_t c_blnCodeCount
const uint16_t c_maxCodeBits
const uint16_t c_maxBLCodeBits
const uint16_t c_length_codes
const uint16_t c_max_match
const uint16_t c_min_match
const uint16_t c_distance_codes
const uint8_t length_code[c_max_match+1]
const uint8_t dist_code[512]
const uint16_t base_dist[c_distance_codes]
const uint8_t base_length[c_length_codes]
const uint16_t lit_code_fixed[]
const ap_uint <4> lit_blen_fixed[]
const uint16_t dist_codes_fixed[]
const ap_uint <4> dist_blen_fixed[]
auto constexpr PARALLEL_BYTES
auto constexpr CONST_SIZE
auto constexpr HOST_BUFFER_SIZE
auto constexpr c_size
auto constexpr ADLER32
auto constexpr CRC32
auto constexpr CHECKSUM_MODE
auto constexpr PARALLEL_BYTE
auto constexpr CONST_SIZE
auto constexpr HOST_BUFFER_SIZE
auto constexpr c_size
auto constexpr W
auto constexpr HOST_BUFFER_SIZE
auto constexpr PARALLEL_BYTE
auto constexpr CONST_SIZE
auto constexpr HOST_BUFFER_SIZE
auto constexpr c_size
auto constexpr W
auto constexpr HOST_BUFFER_SIZE
const uint32_t sizeof_in
const uint32_t strbSize
const uint32_t sizeof_in
const uint32_t strbSize
const uint32_t sizeof_in
const uint32_t strbSize
const uint32_t sizeof_in
const uint32_t strbSize
constexpr uint32_t strbSize
constexpr uint32_t c_size
constexpr uint32_t cc_size
const uint32_t c_size
const uint32_t c_size
const uint32_t c_size
const int c_streamWidth
constexpr uint32_t c_size
const uint32_t c_size
const uint32_t c_size
const uint32_t c_size
int const c_minMatch
int const c_matchLevel
int const c_minOffset
int const c_lz4MaxLiteralCount
const uint32_t c_size
const uint32_t c_csize
const uint32_t c_size
const uint32_t c_csize
const uint32_t c_size
const uint32_t c_csize
const uint32_t c_no_blocks
const uint32_t c_inSizeV
const uint32_t c_noElements
const uint32_t c_inSizeV
int const c_minMatch
const int c_snappyMaxLiteralStream
int const c_factor
const uint32_t sizeof_in
const uint32_t strbSize
const uint32_t c_size
const uint32_t c_size
const uint32_t c_size
const uint32_t c_size

// macros

#define AOP
#define AOP
#define BLOCK_LENGTH
#define BLOCK_LENGTH
#define BLOCK_LENGTH
#define BLOCK_LENGTH
#define BLOCK_LENGTH
#define BLOCK_SIZE
#define BLOCK_SIZE
#define BLOCK_SIZE
#define BLOCK_SIZE
#define BLOCK_SIZE
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BLOCK_SIZE_IN_KB
#define BSIZE_IN_KB
#define BSIZE_IN_KB
#define BURST_SIZE
#define BURST_SIZE
#define BYTE_CNT
#define BYTE_CNT
#define CMP_CORES
#define CONST_SIZE
#define CONST_SIZE
#define CONST_SIZE
#define CONST_SIZE
#define DISABLE_DEPENDENCE
#define DISABLE_DEPENDENCE

#define GET_DIFF_IF_BIG( \
    x, \
    y \
    )

#define GET_DIFF_IF_BIG( \
    x, \
    y \
    )

#define GMEM_BURST_SIZE
#define GMEM_BURST_SIZE
#define GMEM_BURST_SIZE
#define GMEM_BURST_SIZE
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GMEM_DWIDTH
#define GZIP_FORMAT
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HISTORY_SIZE
#define HOST_BUFFER_SIZE
#define HUFFMAN_TYPE
#define HUFFMAN_TYPE
#define HUFFMAN_TYPE
#define HUFFMAN_TYPE
#define HUFFMAN_TYPE
#define HUFFMAN_TYPE
#define INPUT_BYTES
#define INPUT_SIZE
#define INPUT_SIZE
#define INPUT_SIZE_IN_MB
#define INPUT_SIZE_IN_MB
#define INSIZE_RANGE_14BIT
#define INSIZE_RANGE_21BIT
#define INSIZE_RANGE_7BIT
#define IN_BITWIDTH
#define IN_BITWIDTH
#define IN_BITWIDTH
#define IN_BITWIDTH
#define IN_BITWIDTH
#define IN_DATAWIDTH
#define IN_DATAWIDTH
#define LL_MODEL
#define LL_MODEL
#define LL_MODEL
#define LL_MODEL
#define LL_MODEL
#define LL_MODEL
#define LOW_OFFSET
#define LOW_OFFSET
#define LOW_OFFSET
#define LOW_OFFSET
#define LOW_OFFSET
#define LOW_OFFSET
#define LZ_MAX_OFFSET_LIMIT
#define LZ_MAX_OFFSET_LIMIT
#define MARKER
#define MATCH_LEN
#define MATCH_LEN
#define MAX_LIT_COUNT
#define MAX_LIT_COUNT
#define MAX_LIT_STREAM_SIZE
#define MAX_MATCH_LEN
#define MAX_MATCH_LEN
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MAX_OFFSET
#define MIN_BLOCK_SIZE
#define MIN_BLOCK_SIZE
#define MIN_MATCH_LEN
#define MIN_MATCH_LEN
#define MULTIPLE_BYTES
#define MULTIPLE_BYTES
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define NUM_BLOCKS
#define OFFSET_WINDOW
#define OFFSET_WINDOW
#define OUTPUT_BYTES
#define OUTPUT_BYTES
#define OUT_BITWIDTH
#define OUT_BITWIDTH
#define OUT_BITWIDTH
#define OUT_BITWIDTH
#define OUT_BITWIDTH
#define OUT_BITWIDTH
#define OUT_DATAWIDTH
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BLOCK
#define PARALLEL_BYTES_READ
#define PARALLEL_BYTES_READ
#define PARALLEL_HUFFMAN_UNITS
#define PARALLEL_LITERALS
#define PARALLEL_LITERALS
#define STABLE_SIZE
#define STABLE_SIZE
#define STRATEGY
#define STRATEGY
#define STRATEGY
#define STRATEGY
#define STRATEGY
#define STRATEGY
#define STRATEGY
#define STRATEGY

#define STREAM_UTILS_MM2S_IF_NOT_FULL( \
    bIdx, \
    outStream, \
    is_full, \
    read_idx, \
    write_idx, \
    local_buffer \
    )

#define STREAM_UTILS_S2MM_IF_NOT_EMPTY( \
    i, \
    instream, \
    burst_size, \
    input_size, \
    read_size, \
    write_size, \
    write_idx \
    )

#define STREAM_UTILS_S2MM_READ_SIZE( \
    i, \
    instream, \
    end_of_stream \
    )

#define STRTGY
#define STRTGY
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_DWIDTH
#define TUSER_WIDTH
#define W
#define WINDOW_SIZE
#define WINDOW_SIZE
#define WINDOW_SIZE
#define ZLIB_FORMAT
#define ZSTD
#define ZSTD
#define ZSTD
#define ZSTD_BLOCK_SIZE
#define ZSTD_BLOCK_SIZE
#define ZSTD_BLOCK_SIZE_KB

#define d_code( \
    dist, \
    dist_code \
    )

#define d_code( \
    dist, \
    dist_code \
    )

#define dataSize
#define inWidth
#define inWidth
#define outWidth
#define outWidth
#define testDataLen