32#include "params/FPC.hh"
41 : CompData(), zeroRunSizeBits(zero_run_size_bits)
49 if (pattern->getPatternNumber() ==
ZERO_RUN) {
52 if (!entries.size() ||
53 (entries.back()->getPatternNumber() !=
ZERO_RUN)) {
59 const int run_length =
60 static_cast<ZeroRun*
>(entries.back().get())->getRunLength();
64 static_cast<ZeroRun*
>(pattern.get())->setRealSize(
71 static_cast<ZeroRun*
>(pattern.get())->setRunLength(
77 CompData::addEntry(std::move(pattern));
94std::unique_ptr<DictionaryCompressor<uint32_t>::CompData>
97 return std::unique_ptr<DictionaryCompressor<uint32_t>::CompData>(
A template version of the dictionary compressor that allows to choose the dictionary size.
void addEntry(std::unique_ptr< Pattern > pattern) override
FPCCompData(int zeroRunSizeBits)
const int zeroRunSizeBits
Number of bits of the zero run size bitfield.
DictionaryCompressor< uint32_t >::DictionaryEntry DictionaryEntry
std::unique_ptr< DictionaryCompressor::CompData > instantiateDictionaryCompData() const override
Instantiate a compression data of the sub-class compressor.
void addToDictionary(const DictionaryEntry data) override
Implementation of a dictionary based cache compressor.
Definition of the Frequent Pattern Compression cache compressor, as described in "Frequent Pattern Co...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.