1 #ifndef DYSCO_WEIGHT_COLUMN_H
2 #define DYSCO_WEIGHT_COLUMN_H
35 double distributionTruncation)
override;
39 const float *metaBuffer,
size_t nRow,
43 size_t blockRow,
size_t a1,
size_t a2)
override;
49 virtual void encode(ThreadDataBase *threadData,
55 size_t )
const override {
56 return _encoder->MetaDataFloatCount();
60 size_t )
const override {
61 return _encoder->SymbolCount(nRowsInBlock);
virtual std::unique_ptr< ThreadDataBase > initializeEncodeThread() override
virtual void shutdown() overridefinal
To be called before destructing the class.
A column for storing compressed values in a threaded way, tailored for the data and weight columns th...
virtual void encode(ThreadDataBase *threadData, TimeBlockBuffer< data_t > *buffer, float *metaBuffer, symbol_t *symbolBuffer, size_t nAntennae) override
virtual ~DyscoWeightColumn()
Destructor.
virtual size_t metaDataFloatCount(size_t, size_t, size_t, size_t) const override
virtual void decode(TimeBlockBuffer< data_t > *buffer, const symbol_t *data, size_t blockRow, size_t a1, size_t a2) override
size_t nRowsInBlock() const
virtual size_t symbolCount(size_t nRowsInBlock, size_t, size_t) const override
std::unique_ptr< WeightBlockEncoder > _encoder
DyscoWeightColumn(DyscoStMan *parent, int dtype)
Create a new column.
virtual void initializeDecode(TimeBlockBuffer< data_t > *buffer, const float *metaBuffer, size_t nRow, size_t nAntennae) override
TimeBlockBuffer< data_t >::symbol_t symbol_t
void operator=(const DyscoWeightColumn &source)=delete
virtual void Prepare(DyscoDistribution distribution, Normalization normalization, double studentsTNu, double distributionTruncation) override
A column for storing compressed complex values with an approximate Gaussian distribution.
The main class for the Dysco storage manager.