22 #ifndef __RLECOMPRESSION_H__
23 #define __RLECOMPRESSION_H__
24 #include "data_management/compression/compression.h"
28 namespace data_management
47 class DAAL_EXPORT RleCompressionParameter :
public data_management::CompressionParameter
54 RleCompressionParameter(
bool _isBlockHeader = 1) :
55 data_management::CompressionParameter(defaultLevel), isBlockHeader(_isBlockHeader) {}
57 ~RleCompressionParameter() {}
73 template<>
class DAAL_EXPORT Compressor<rle> :
public data_management::CompressorImpl
87 void setInputDataBlock( byte *inBlock,
size_t size,
size_t offset );
92 void setInputDataBlock( DataBlock &inBlock )
94 setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
103 void run( byte *outBlock,
size_t size,
size_t offset );
108 void run( DataBlock &outBlock )
110 run( outBlock.getPtr(), outBlock.getSize(), 0 );
113 RleCompressionParameter parameter;
125 void finalizeCompression();
138 template<>
class DAAL_EXPORT Decompressor<rle> :
public data_management::DecompressorImpl
152 void setInputDataBlock( byte *inBlock,
size_t size,
size_t offset );
157 void setInputDataBlock( DataBlock &inBlock )
159 setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
167 void run( byte *outBlock,
size_t size,
size_t offset );
172 void run( DataBlock &outBlock )
174 run( outBlock.getPtr(), outBlock.getSize(), 0 );
177 RleCompressionParameter parameter;
190 size_t _internalBuffOff;
191 size_t _internalBuffLen;
193 void finalizeCompression();
197 using interface1::RleCompressionParameter;
198 using interface1::Compressor;
199 using interface1::Decompressor;
203 #endif //__RLECOMPRESSION_H
daal::data_management::interface1::Compressor
Compressor class compresses an input data block and writes results into an output data block...
Definition: compression.h:281
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::RleCompressionParameter::RleCompressionParameter
RleCompressionParameter(bool _isBlockHeader=1)
Definition: rlecompression.h:54
daal::data_management::interface1::RleCompressionParameter::isBlockHeader
bool isBlockHeader
Definition: rlecompression.h:59
daal::data_management::interface1::Decompressor< rle >::parameter
RleCompressionParameter parameter
Definition: rlecompression.h:177
daal::data_management::defaultLevel
Definition: compression.h:44
daal::data_management::interface1::DataBlock::getPtr
virtual byte * getPtr() const DAAL_C11_OVERRIDE
Definition: data_block.h:123
daal::data_management::interface1::RleCompressionParameter
Parameter for run-length encoding and decoding. A RLE encoded block may contain a header that consist...
Definition: rlecompression.h:47
daal::data_management::interface1::DataBlock::getSize
virtual size_t getSize() const DAAL_C11_OVERRIDE
Definition: data_block.h:133
daal::data_management::rle
Definition: compression.h:66
daal::data_management::interface1::Compressor< rle >::parameter
RleCompressionParameter parameter
Definition: rlecompression.h:113
daal::data_management::interface1::Decompressor
Decompressor class decompresses an input data block and writes results into an output data block...
Definition: compression.h:303
daal::data_management::interface1::CompressionParameter
Parameters for compression and decompression.
Definition: compression.h:85
daal::data_management::interface1::Decompressor< rle >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: rlecompression.h:157
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:148
daal::data_management::interface1::Compressor< rle >::run
void run(DataBlock &outBlock)
Definition: rlecompression.h:108
daal::data_management::interface1::Compressor< rle >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: rlecompression.h:92
daal::data_management::interface1::Decompressor< rle >::run
void run(DataBlock &outBlock)
Definition: rlecompression.h:172
daal::data_management::interface1::DataBlock
Class that stores a pointer to a byte array and its size. Not responsible for memory management...
Definition: data_block.h:83