23 #ifndef __NUMERIC_TABLE_H__
24 #define __NUMERIC_TABLE_H__
26 #include "services/base.h"
27 #include "services/daal_defines.h"
28 #include "services/daal_memory.h"
29 #include "services/error_handling.h"
30 #include "algorithms/algorithm_types.h"
31 #include "data_management/data/data_collection.h"
32 #include "data_management/data/data_dictionary.h"
34 #include "data_management/data/numeric_types.h"
39 namespace data_management
54 template<
typename DataType = DAAL_DATA_TYPE>
55 class DAAL_EXPORT BlockDescriptor
59 BlockDescriptor() : _ptr(), _buffer(), _capacity(0), _ncols(0), _nrows(0), _colsOffset(0), _rowsOffset(0), _rwFlag(0), _pPtr(0), _rawPtr(0)
63 ~BlockDescriptor() { freeBuffer(); }
69 inline DataType *getBlockPtr()
const
73 return (DataType *)_rawPtr;
82 inline services::SharedPtr<DataType> getBlockSharedPtr()
const
86 return services::SharedPtr<DataType>(services::reinterpretPointerCast<DataType, byte>(*_pPtr), (DataType *)_rawPtr);
95 inline size_t getNumberOfColumns()
const {
return _ncols; }
101 inline size_t getNumberOfRows()
const {
return _nrows; }
122 inline void setPtr( DataType *ptr,
size_t nColumns,
size_t nRows )
124 _ptr = services::SharedPtr<DataType>(ptr, services::EmptyDeleter());
135 void setPtr(services::SharedPtr<byte> *pPtr, byte *rawPtr,
size_t nColumns,
size_t nRows )
151 inline bool resizeBuffer(
size_t nColumns,
size_t nRows,
size_t auxMemorySize = 0 )
156 size_t newSize = nColumns * nRows *
sizeof(DataType) + auxMemorySize;
158 if ( newSize > _capacity )
161 _buffer = services::SharedPtr<DataType>((DataType *)daal::services::daal_malloc(newSize), services::ServiceDeleter());
178 _aux_ptr = services::SharedPtr<DataType>();
183 _aux_ptr = services::SharedPtr<DataType>(_buffer, _buffer.get() + nColumns * nRows);
195 inline void setDetails(
size_t columnIdx,
size_t rowIdx,
int rwFlag )
197 _colsOffset = columnIdx;
198 _rowsOffset = rowIdx;
206 inline size_t getColumnsOffset()
const {
return _colsOffset; }
212 inline size_t getRowsOffset()
const {
return _rowsOffset; }
218 inline size_t getRWFlag()
const {
return _rwFlag; }
224 inline void *getAdditionalBufferPtr()
const {
return _aux_ptr.get(); }
225 inline services::SharedPtr<DataType> getAdditionalBufferSharedPtr()
const {
return _aux_ptr; }
235 _buffer = services::SharedPtr<DataType>();
241 services::SharedPtr<DataType> _ptr;
249 services::SharedPtr<DataType> _aux_ptr;
251 services::SharedPtr<DataType> _buffer;
254 services::SharedPtr<byte> *_pPtr;
263 class NumericTableIface
266 virtual ~NumericTableIface()
294 enum BasicStatisticsId
306 enum FeatureBasicStatistics
315 enum NormalizationType
318 standardScoreNormalized = 1,
331 upperPackedSymmetricMatrix = 1 << 8,
332 lowerPackedSymmetricMatrix = 2 << 8,
333 upperPackedTriangularMatrix = 1 << 7,
334 lowerPackedTriangularMatrix = 4 << 8,
337 layout_unknown = 0x80000000
345 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setDictionary( NumericTableDictionary *ddict ) {
return services::Status(); }
352 DAAL_DEPRECATED_VIRTUAL
virtual NumericTableDictionary *getDictionary()
const = 0;
358 virtual NumericTableDictionaryPtr getDictionarySharedPtr()
const = 0;
364 DAAL_DEPRECATED_VIRTUAL
virtual services::Status resetDictionary() {
return services::Status(); }
371 virtual features::FeatureType getFeatureType(
size_t feature_idx)
const = 0;
378 virtual size_t getNumberOfCategories(
size_t feature_idx)
const = 0;
384 virtual StorageLayout getDataLayout()
const = 0;
389 virtual services::Status resize(
size_t nrows) = 0;
397 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setNumberOfColumns(
size_t ncol) = 0;
405 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setNumberOfRows(
size_t nrow) = 0;
411 DAAL_DEPRECATED_VIRTUAL
virtual services::Status allocateDataMemory(daal::MemType type = daal::dram) = 0;
417 DAAL_DEPRECATED_VIRTUAL
virtual void freeDataMemory() = 0;
422 virtual services::Status allocateBasicStatistics() = 0;
430 virtual services::Status check(
const char *description,
bool checkDataAllocation =
true)
const = 0;
434 using interface1::BlockDescriptor;
435 using interface1::NumericTableIface;
437 const int packed_mask = (int)NumericTableIface::csrArray |
438 (
int)NumericTableIface::upperPackedSymmetricMatrix |
439 (int)NumericTableIface::lowerPackedSymmetricMatrix |
440 (
int)NumericTableIface::upperPackedTriangularMatrix |
441 (int)NumericTableIface::lowerPackedTriangularMatrix;
450 class DenseNumericTableIface
453 virtual ~DenseNumericTableIface()
465 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<double> &block) = 0;
477 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<float> &block) = 0;
489 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<int> &block) = 0;
495 virtual services::Status releaseBlockOfRows(BlockDescriptor<double> &block) = 0;
501 virtual services::Status releaseBlockOfRows(BlockDescriptor<float> &block) = 0;
507 virtual services::Status releaseBlockOfRows(BlockDescriptor<int> &block) = 0;
520 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
521 ReadWriteMode rwflag, BlockDescriptor<double> &block) = 0;
534 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
535 ReadWriteMode rwflag, BlockDescriptor<float> &block) = 0;
548 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
549 ReadWriteMode rwflag, BlockDescriptor<int> &block) = 0;
555 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<double> &block) = 0;
561 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<float> &block) = 0;
567 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<int> &block) = 0;
575 class DAAL_EXPORT NumericTable :
public SerializationIface,
public NumericTableIface,
public DenseNumericTableIface
578 DAAL_CAST_OPERATOR(NumericTable);
585 DAAL_DEPRECATED NumericTable( NumericTableDictionary *ddict )
588 _ddict = NumericTableDictionaryPtr(ddict, services::EmptyDeleter());
589 _layout = layout_unknown;
590 _memStatus = notAllocated;
591 _normalizationFlag = NumericTable::nonNormalized;
598 NumericTable( NumericTableDictionaryPtr ddict )
602 _layout = layout_unknown;
603 _memStatus = notAllocated;
604 _normalizationFlag = NumericTable::nonNormalized;
613 NumericTable(
size_t featnum,
size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual = DictionaryIface::notEqual )
616 _ddict = NumericTableDictionaryPtr(
new NumericTableDictionary(featnum, featuresEqual));
617 _layout = layout_unknown;
618 _memStatus = notAllocated;
619 _normalizationFlag = NumericTable::nonNormalized;
623 virtual ~NumericTable() {}
625 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setDictionary( NumericTableDictionary *ddict ) DAAL_C11_OVERRIDE
627 _ddict = NumericTableDictionaryPtr(ddict, services::EmptyDeleter());
628 return services::Status();
631 DAAL_DEPRECATED_VIRTUAL
virtual NumericTableDictionary *getDictionary() const DAAL_C11_OVERRIDE {
return _ddict.get(); }
633 virtual NumericTableDictionaryPtr getDictionarySharedPtr() const DAAL_C11_OVERRIDE {
return _ddict; }
635 DAAL_DEPRECATED_VIRTUAL
virtual services::Status resetDictionary() DAAL_C11_OVERRIDE {
return services::Status(); }
637 virtual services::Status resize(
size_t nrows) DAAL_C11_OVERRIDE
639 size_t obsnum = _obsnum;
640 services::Status s = setNumberOfRowsImpl(nrows);
641 if((_memStatus != userAllocated && obsnum < nrows) || _memStatus == notAllocated)
643 s |= allocateDataMemoryImpl();
652 size_t getNumberOfColumns()
const
654 return _ddict->getNumberOfFeatures();
661 size_t getNumberOfRows()
const {
return _obsnum; }
663 DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfColumns(
size_t ncol) DAAL_C11_OVERRIDE
665 return setNumberOfColumnsImpl(ncol);
668 DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfRows(
size_t nrow) DAAL_C11_OVERRIDE
670 return setNumberOfRowsImpl(nrow);
673 DAAL_DEPRECATED_VIRTUAL services::Status allocateDataMemory(daal::MemType type = daal::dram) DAAL_C11_OVERRIDE
675 return allocateDataMemoryImpl(type);
678 DAAL_DEPRECATED_VIRTUAL
void freeDataMemory() DAAL_C11_OVERRIDE
680 freeDataMemoryImpl();
683 StorageLayout getDataLayout() const DAAL_C11_OVERRIDE
688 features::FeatureType getFeatureType(
size_t feature_idx)
const DAAL_C11_OVERRIDE
690 if ( _ddict.get() != NULL && _ddict->getNumberOfFeatures() > feature_idx )
692 const NumericTableFeature &f = (*_ddict)[feature_idx];
693 return f.featureType;
698 return features::DAAL_CONTINUOUS;
702 size_t getNumberOfCategories(
size_t feature_idx)
const DAAL_C11_OVERRIDE
704 if ( _ddict.get() != NULL && _ddict->getNumberOfFeatures() > feature_idx &&
705 getFeatureType(feature_idx) != features::DAAL_CONTINUOUS )
707 const NumericTableFeature &f = (*_ddict)[feature_idx];
708 return f.categoryNumber;
720 virtual MemoryStatus getDataMemoryStatus()
const {
return _memStatus; }
727 bool isNormalized(NormalizationType flag)
const
729 return (_normalizationFlag == flag);
737 NormalizationType setNormalizationFlag(NormalizationType flag)
739 NormalizationType oldValue = _normalizationFlag;
740 _normalizationFlag = flag;
749 DAAL_DEPRECATED services::SharedPtr<services::KernelErrorCollection> getErrors()
751 return _status.getCollection()->getErrors();
757 virtual services::Status allocateBasicStatistics() DAAL_C11_OVERRIDE;
762 virtual services::Status check(const
char *description,
bool checkDataAllocation = true) const DAAL_C11_OVERRIDE
764 if (getDataMemoryStatus() == notAllocated && checkDataAllocation)
766 return services::Status(services::Error::create(services::ErrorNullNumericTable, services::ArgumentName, description));
769 if (getNumberOfColumns() == 0)
771 return services::Status(services::Error::create(services::ErrorIncorrectNumberOfColumns, services::ArgumentName, description));
774 if (getNumberOfRows() == 0 && getDataMemoryStatus() != notAllocated)
776 return services::Status(services::Error::create(services::ErrorIncorrectNumberOfRows, services::ArgumentName, description));
779 return services::Status();
786 virtual services::Status assign(
float value) {
return assignImpl<float>(value);}
792 virtual services::Status assign(
double value) {
return assignImpl<double>(value);}
798 virtual services::Status assign(
int value) {
return assignImpl<int>(value);}
806 template <
typename DataType>
807 DataType getValue(
size_t column,
size_t row)
const
809 services::Status status;
810 return getValueImpl<DataType>(column, row, status);
820 template <
typename DataType>
821 DataType getValue(
size_t column,
size_t row, services::Status & status)
const
823 return getValueImpl<DataType>(column, row, status);
831 class BasicStatisticsDataCollection :
public algorithms::Argument
834 BasicStatisticsDataCollection() : algorithms::Argument(4) {}
836 services::SharedPtr<NumericTable>
get(BasicStatisticsId id)
838 return services::staticPointerCast<NumericTable, SerializationIface>(Argument::get(
id));
841 void set(BasicStatisticsId
id,
const services::SharedPtr<NumericTable> &value)
843 Argument::set(
id, value);
847 BasicStatisticsDataCollection basicStatistics;
850 NumericTableDictionaryPtr _ddict;
854 MemoryStatus _memStatus;
855 StorageLayout _layout;
857 NormalizationType _normalizationFlag;
859 services::Status _status;
863 NumericTable(NumericTableDictionaryPtr ddict, services::Status &st) :
864 _obsnum(0), _ddict(ddict), _layout(layout_unknown), _memStatus(notAllocated), _normalizationFlag(NumericTable::nonNormalized)
868 NumericTable(
size_t featnum,
size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual, services::Status &st):
869 _obsnum(obsnum), _layout(layout_unknown), _memStatus(notAllocated), _normalizationFlag(NumericTable::nonNormalized)
871 _ddict = NumericTableDictionary::create(featnum, featuresEqual, &st);
875 virtual services::Status setNumberOfColumnsImpl(
size_t ncol)
877 return _ddict->setNumberOfFeatures(ncol);
880 virtual services::Status setNumberOfRowsImpl(
size_t nrow)
883 return services::Status();
886 virtual services::Status allocateDataMemoryImpl(daal::MemType type = daal::dram) {
return services::Status(); }
888 virtual void freeDataMemoryImpl() {}
890 template <
typename DataType>
891 DataType getValueImpl(
size_t column,
size_t row, services::Status & status)
const
893 const DataType defaultValue = 0;
896 BlockDescriptor<DataType> bd;
897 status |=
const_cast<NumericTable *
>(
this)->getBlockOfColumnValues(column, row, 1, readOnly, bd);
900 const DataType v = *(bd.getBlockPtr());
901 status |=
const_cast<NumericTable *
>(
this)->releaseBlockOfColumnValues(bd);
905 virtual float getFloatValueImpl(
size_t column,
size_t row, services::Status & status)
const
907 return getValueImpl<float>(column, row, status);
910 virtual double getDoubleValueImpl(
size_t column,
size_t row, services::Status & status)
const
912 return getValueImpl<double>(column, row, status);
915 virtual int getIntValueImpl(
size_t column,
size_t row, services::Status & status)
const
917 return getValueImpl<int>(column, row, status);
921 template<
typename Archive,
bool onDeserialize>
922 services::Status serialImpl( Archive *arch )
924 arch->setSharedPtrObj( _ddict );
926 arch->set( _obsnum );
930 _memStatus = notAllocated;
933 arch->set( _layout );
935 return services::Status();
939 template <
typename T>
940 services::Status assignImpl(T value)
942 size_t nRows = getNumberOfRows();
943 size_t nCols = getNumberOfColumns();
944 BlockDescriptor<T> block;
945 DAAL_CHECK(getBlockOfRows(0, nRows, writeOnly, block), services::ErrorMemoryAllocationFailed)
946 T* array = block.getBlockSharedPtr().get();
947 for(
size_t i = 0; i < nCols * nRows; i++) {array[i] = value;}
948 releaseBlockOfRows(block);
949 return services::Status();
952 typedef services::SharedPtr<NumericTable> NumericTablePtr;
953 typedef services::SharedPtr<const NumericTable> NumericTableConstPtr;
956 inline float NumericTable::getValue<float>(
size_t column,
size_t row)
const
958 services::Status status;
959 return getFloatValueImpl(column, row, status);
963 inline double NumericTable::getValue<double>(
size_t column,
size_t row)
const
965 services::Status status;
966 return getDoubleValueImpl(column, row, status);
970 inline int NumericTable::getValue<int>(
size_t column,
size_t row)
const
972 services::Status status;
973 return getIntValueImpl(column, row, status);
977 inline float NumericTable::getValue<float>(
size_t column,
size_t row, services::Status & status)
const
979 return getFloatValueImpl(column, row, status);
983 inline double NumericTable::getValue<double>(
size_t column,
size_t row, services::Status & status)
const
985 return getDoubleValueImpl(column, row, status);
989 inline int NumericTable::getValue<int>(
size_t column,
size_t row, services::Status & status)
const
991 return getIntValueImpl(column, row, status);
997 using interface1::DenseNumericTableIface;
998 using interface1::NumericTable;
999 using interface1::NumericTablePtr;
1000 using interface1::NumericTableConstPtr;
1015 DAAL_EXPORT services::Status checkNumericTable(
const NumericTable *nt,
const char *description,
1016 const int unexpectedLayouts = 0,
const int expectedLayouts = 0,
size_t nColumns = 0,
size_t nRows = 0,
1017 bool checkDataAllocation =
true);
1024 template<
typename DataType>
1025 DAAL_EXPORT daal::data_management::NumericTablePtr convertToHomogen(NumericTable &src, daal::MemType type = daal::dram);
daal::data_management::interface1::NumericTableIface::setDictionary
virtual DAAL_DEPRECATED_VIRTUAL services::Status setDictionary(NumericTableDictionary *ddict)
Definition: numeric_table.h:345
daal::data_management::interface1::NumericTable::freeDataMemory
DAAL_DEPRECATED_VIRTUAL void freeDataMemory() DAAL_C11_OVERRIDE
Definition: numeric_table.h:678
daal::data_management::interface1::NumericTableIface::getDataLayout
virtual StorageLayout getDataLayout() const =0
daal::data_management::interface1::BlockDescriptor::getRWFlag
size_t getRWFlag() const
Definition: numeric_table.h:218
daal::data_management::interface1::NumericTableIface::AllocationFlag
AllocationFlag
Enumeration to specify whether the Numeric Table must allocate memory.
Definition: numeric_table.h:283
daal::data_management::interface1::BlockDescriptor::freeBuffer
void freeBuffer()
Definition: numeric_table.h:231
daal::data_management::interface1::BlockDescriptor::getBlockSharedPtr
services::SharedPtr< DataType > getBlockSharedPtr() const
Definition: numeric_table.h:82
daal::data_management::interface1::NumericTable::getValue
DataType getValue(size_t column, size_t row) const
Definition: numeric_table.h:807
daal::data_management::interface1::NumericTableIface::notAllocated
Definition: numeric_table.h:274
daal::data_management::interface1::BlockDescriptor::getBlockPtr
DataType * getBlockPtr() const
Definition: numeric_table.h:69
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::NumericTable::NumericTable
NumericTable(NumericTableDictionaryPtr ddict)
Definition: numeric_table.h:598
daal::data_management::interface1::BlockDescriptor::getAdditionalBufferPtr
void * getAdditionalBufferPtr() const
Definition: numeric_table.h:224
daal::data_management::interface1::NumericTable::assign
virtual services::Status assign(double value)
Definition: numeric_table.h:792
daal::data_management::interface1::BlockDescriptor::getNumberOfColumns
size_t getNumberOfColumns() const
Definition: numeric_table.h:95
daal::data_management::interface1::NumericTableIface::allocateDataMemory
virtual DAAL_DEPRECATED_VIRTUAL services::Status allocateDataMemory(daal::MemType type=daal::dram)=0
daal::data_management::interface1::NumericTableIface::NormalizationType
NormalizationType
Enumeration to specify types of normalization.
Definition: numeric_table.h:315
daal::data_management::interface1::NumericTableIface::standardScoreNormalized
Definition: numeric_table.h:318
daal::data_management::interface1::NumericTableIface::resetDictionary
virtual DAAL_DEPRECATED_VIRTUAL services::Status resetDictionary()
Definition: numeric_table.h:364
daal::data_management::convertToHomogen
DAAL_EXPORT daal::data_management::NumericTablePtr convertToHomogen(NumericTable &src, daal::MemType type=daal::dram)
daal::data_management::interface1::NumericTable::getNumberOfCategories
size_t getNumberOfCategories(size_t feature_idx) const DAAL_C11_OVERRIDE
Definition: numeric_table.h:702
daal::data_management::interface1::NumericTableIface::getDictionary
virtual DAAL_DEPRECATED_VIRTUAL NumericTableDictionary * getDictionary() const =0
daal::data_management::interface1::NumericTable::resetDictionary
virtual DAAL_DEPRECATED_VIRTUAL services::Status resetDictionary() DAAL_C11_OVERRIDE
Definition: numeric_table.h:635
daal::data_management::interface1::DenseNumericTableIface::releaseBlockOfColumnValues
virtual services::Status releaseBlockOfColumnValues(BlockDescriptor< double > &block)=0
daal::data_management::interface1::NumericTable::getDictionarySharedPtr
virtual NumericTableDictionaryPtr getDictionarySharedPtr() const DAAL_C11_OVERRIDE
Definition: numeric_table.h:633
daal::services::ErrorIncorrectNumberOfColumns
Definition: error_indexes.h:114
daal::services::ErrorMemoryAllocationFailed
Definition: error_indexes.h:147
daal::data_management::interface1::NumericTable::getNumberOfColumns
size_t getNumberOfColumns() const
Definition: numeric_table.h:652
daal::dram
Definition: daal_defines.h:147
daal::data_management::interface1::NumericTableIface::check
virtual services::Status check(const char *description, bool checkDataAllocation=true) const =0
daal::data_management::interface1::NumericTable::getFeatureType
features::FeatureType getFeatureType(size_t feature_idx) const DAAL_C11_OVERRIDE
Definition: numeric_table.h:688
daal::data_management::interface1::NumericTable::assign
virtual services::Status assign(float value)
Definition: numeric_table.h:786
daal::data_management::interface1::NumericTable::setNumberOfColumns
DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfColumns(size_t ncol) DAAL_C11_OVERRIDE
Definition: numeric_table.h:663
daal::data_management::interface1::NumericTableIface::userAllocated
Definition: numeric_table.h:275
daal::data_management::interface1::NumericTableIface::FeatureBasicStatistics
FeatureBasicStatistics
Enumeration to specify feature-specific estimates of basic statistics stored.
Definition: numeric_table.h:306
daal::data_management::interface1::NumericTable::BasicStatisticsDataCollection
Basic statistics for each column of original Numeric Table.
Definition: numeric_table.h:831
daal::data_management::interface1::NumericTable::NumericTable
DAAL_DEPRECATED NumericTable(NumericTableDictionary *ddict)
Definition: numeric_table.h:585
daal::data_management::interface1::BlockDescriptor::resizeBuffer
bool resizeBuffer(size_t nColumns, size_t nRows, size_t auxMemorySize=0)
Definition: numeric_table.h:151
daal::data_management::interface1::NumericTableIface::minimum
Definition: numeric_table.h:296
daal::data_management::interface1::BlockDescriptor::setPtr
void setPtr(services::SharedPtr< byte > *pPtr, byte *rawPtr, size_t nColumns, size_t nRows)
Definition: numeric_table.h:135
daal::data_management::interface1::NumericTable::assign
virtual services::Status assign(int value)
Definition: numeric_table.h:798
daal::data_management::interface1::NumericTable::isNormalized
bool isNormalized(NormalizationType flag) const
Definition: numeric_table.h:727
daal::data_management::interface1::NumericTable::setNormalizationFlag
NormalizationType setNormalizationFlag(NormalizationType flag)
Definition: numeric_table.h:737
daal::data_management::interface1::NumericTableIface::counters
Definition: numeric_table.h:308
daal::data_management::interface1::NumericTable::getDictionary
virtual DAAL_DEPRECATED_VIRTUAL NumericTableDictionary * getDictionary() const DAAL_C11_OVERRIDE
Definition: numeric_table.h:631
daal::data_management::interface1::NumericTable::allocateDataMemory
DAAL_DEPRECATED_VIRTUAL services::Status allocateDataMemory(daal::MemType type=daal::dram) DAAL_C11_OVERRIDE
Definition: numeric_table.h:673
daal::data_management::interface1::NumericTableIface::nonNormalized
Definition: numeric_table.h:317
daal::services::daal_malloc
DAAL_EXPORT void * daal_malloc(size_t size, size_t alignment=DAAL_MALLOC_DEFAULT_ALIGNMENT)
daal::data_management::interface1::NumericTableIface::MemoryStatus
MemoryStatus
Enumeration to specify the status of memory related to the Numeric Table.
Definition: numeric_table.h:272
daal::data_management::interface1::NumericTable
Class for a data management component responsible for representation of data in the numeric format...
Definition: numeric_table.h:575
daal::data_management::interface1::NumericTableIface::StorageLayout
StorageLayout
Storage layouts that may need to be supported.
Definition: numeric_table.h:326
daal::data_management::interface1::NumericTableIface::doNotAllocate
Definition: numeric_table.h:285
daal::data_management::interface1::NumericTable::resize
virtual services::Status resize(size_t nrows) DAAL_C11_OVERRIDE
Definition: numeric_table.h:637
daal::data_management::interface1::NumericTableIface::resize
virtual services::Status resize(size_t nrows)=0
daal::data_management::interface1::NumericTableIface::getNumberOfCategories
virtual size_t getNumberOfCategories(size_t feature_idx) const =0
daal::data_management::interface1::NumericTableIface::getDictionarySharedPtr
virtual NumericTableDictionaryPtr getDictionarySharedPtr() const =0
daal::data_management::interface1::NumericTableIface::maximum
Definition: numeric_table.h:297
daal::data_management::checkNumericTable
DAAL_EXPORT services::Status checkNumericTable(const NumericTable *nt, const char *description, const int unexpectedLayouts=0, const int expectedLayouts=0, size_t nColumns=0, size_t nRows=0, bool checkDataAllocation=true)
daal::data_management::interface1::NumericTable::_ddict
NumericTableDictionaryPtr _ddict
Definition: numeric_table.h:850
daal::data_management::interface1::NumericTableIface::setNumberOfColumns
virtual DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfColumns(size_t ncol)=0
daal::data_management::interface1::NumericTableIface::BasicStatisticsId
BasicStatisticsId
Enumeration to specify estimates of basic statistics stored.
Definition: numeric_table.h:294
daal::data_management::interface1::NumericTable::getErrors
DAAL_DEPRECATED services::SharedPtr< services::KernelErrorCollection > getErrors()
Definition: numeric_table.h:749
daal::data_management::interface1::NumericTable::NumericTable
NumericTable(size_t featnum, size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual=DictionaryIface::notEqual)
Definition: numeric_table.h:613
daal::data_management::interface1::NumericTable::getValue
DataType getValue(size_t column, size_t row, services::Status &status) const
Definition: numeric_table.h:821
daal::data_management::interface1::NumericTableIface::doAllocate
Definition: numeric_table.h:287
daal::data_management::interface1::BlockDescriptor::reset
void reset()
Definition: numeric_table.h:106
daal::services::ErrorIncorrectNumberOfRows
Definition: error_indexes.h:115
daal::data_management::interface1::NumericTable::getNumberOfRows
size_t getNumberOfRows() const
Definition: numeric_table.h:661
daal::data_management::interface1::BlockDescriptor
Base class that manages buffer memory for read/write operations required by numeric tables...
Definition: numeric_table.h:55
daal::data_management::interface1::DenseNumericTableIface
Abstract interface class for a data management component responsible for accessing data in the numeri...
Definition: numeric_table.h:450
daal::data_management::interface1::DictionaryIface::FeaturesEqual
FeaturesEqual
Enumeration to specify whether the Data Dictionary contains equal features.
Definition: data_dictionary.h:148
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::data_management::interface1::NumericTableIface::notAllocate
Definition: numeric_table.h:286
daal::data_management::interface1::DenseNumericTableIface::releaseBlockOfRows
virtual services::Status releaseBlockOfRows(BlockDescriptor< double > &block)=0
daal::data_management::interface1::BlockDescriptor::getNumberOfRows
size_t getNumberOfRows() const
Definition: numeric_table.h:101
daal::data_management::interface1::NumericTableIface::internallyAllocated
Definition: numeric_table.h:276
daal::data_management::interface1::NumericTableIface::sum
Definition: numeric_table.h:298
daal::data_management::interface1::NumericTable::getDataLayout
StorageLayout getDataLayout() const DAAL_C11_OVERRIDE
Definition: numeric_table.h:683
daal::data_management::interface1::BlockDescriptor::getRowsOffset
size_t getRowsOffset() const
Definition: numeric_table.h:212
daal::data_management::interface1::NumericTableIface::setNumberOfRows
virtual DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfRows(size_t nrow)=0
daal::data_management::interface1::Dictionary::create
static services::SharedPtr< Dictionary > create(size_t nfeat, FeaturesEqual featuresEqual=notEqual, services::Status *stat=NULL)
Definition: data_dictionary.h:186
daal::data_management::interface1::NumericTableIface::sumSquares
Definition: numeric_table.h:299
daal::services::ErrorNullNumericTable
Definition: error_indexes.h:113
daal::data_management::interface1::BlockDescriptor::setDetails
void setDetails(size_t columnIdx, size_t rowIdx, int rwFlag)
Definition: numeric_table.h:195
daal::data_management::interface1::NumericTableIface::getFeatureType
virtual features::FeatureType getFeatureType(size_t feature_idx) const =0
daal::data_management::interface1::NumericTable::setDictionary
virtual DAAL_DEPRECATED_VIRTUAL services::Status setDictionary(NumericTableDictionary *ddict) DAAL_C11_OVERRIDE
Definition: numeric_table.h:625
daal::data_management::interface1::DenseNumericTableIface::getBlockOfColumnValues
virtual services::Status getBlockOfColumnValues(size_t feature_idx, size_t vector_idx, size_t value_num, ReadWriteMode rwflag, BlockDescriptor< double > &block)=0
daal::data_management::interface1::NumericTableIface
Abstract interface class for a data management component responsible for representation of data in th...
Definition: numeric_table.h:263
daal::data_management::interface1::NumericTableIface::minMaxNormalized
Definition: numeric_table.h:319
daal::data_management::interface1::BlockDescriptor::setPtr
void setPtr(DataType *ptr, size_t nColumns, size_t nRows)
Definition: numeric_table.h:122
daal::data_management::interface1::SerializationIface
Abstract interface class that defines the interface for serialization and deserialization.
Definition: data_serialize.h:50
daal::data_management::interface1::BlockDescriptor::getColumnsOffset
size_t getColumnsOffset() const
Definition: numeric_table.h:206
daal::data_management::interface1::NumericTableIface::freeDataMemory
virtual DAAL_DEPRECATED_VIRTUAL void freeDataMemory()=0
daal::data_management::interface1::NumericTableFeature
Data structure describes the Numeric Table feature.
Definition: data_dictionary.h:51
daal::services::ArgumentName
Definition: error_indexes.h:50
daal::data_management::interface1::NumericTable::getDataMemoryStatus
virtual MemoryStatus getDataMemoryStatus() const
Definition: numeric_table.h:720
daal::data_management::interface1::NumericTableIface::allocateBasicStatistics
virtual services::Status allocateBasicStatistics()=0
daal::MemType
MemType
Definition: daal_defines.h:145
daal::data_management::interface1::DenseNumericTableIface::getBlockOfRows
virtual services::Status getBlockOfRows(size_t vector_idx, size_t vector_num, ReadWriteMode rwflag, BlockDescriptor< double > &block)=0
daal::data_management::interface1::NumericTable::setNumberOfRows
DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfRows(size_t nrow) DAAL_C11_OVERRIDE
Definition: numeric_table.h:668
daal::data_management::interface1::Dictionary
Class that represents a dictionary of a data set and provides methods to work with the data dictionar...
Definition: data_dictionary.h:161