Files
TurboPFor-Integer-Compression/ext/bench_/bench/compress_qmx_adcs.h
2017-01-02 23:30:16 +01:00

43 lines
1.0 KiB
C++

/*
COMPRESS_QMX_ADCS_ADCS.H
--------------
*/
#ifndef COMPRESS_QMX_ADCS_H_
#define COMPRESS_QMX_ADCS_H_
#include <stdint.h>
#include "compress.h"
/*
class ANT_COMPRESS_QMX_ADCS
------------------
*/
class ANT_compress_qmx_adcs : public ANT_compress
{
private:
uint8_t *length_buffer;
uint64_t length_buffer_length;
public:
ANT_compress_qmx_adcs();
virtual ~ANT_compress_qmx_adcs();
void encodeArray(const uint32_t *in, uint64_t len, uint32_t *out, uint64_t *nvalue);
void decodeArray(const uint32_t *in, uint64_t len, uint32_t *out, uint64_t nvalue);
virtual uint64_t compress(uint8_t *destination, uint64_t destination_length, uint32_t *source, uint64_t source_integers)
{
uint64_t answer;
encodeArray(source, source_integers, (uint32_t *)destination, &answer);
return answer;
}
virtual void decompress(uint32_t *destination, uint64_t destinaton_integers, uint8_t *source, uint64_t source_length)
{
decodeArray((uint32_t *)source, source_length, destination, destinaton_integers);
}
} ;
#endif