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,
336 layout_unknown = 0x80000000
344 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setDictionary( NumericTableDictionary *ddict ) {
return services::Status(); }
351 DAAL_DEPRECATED_VIRTUAL
virtual NumericTableDictionary *getDictionary()
const = 0;
357 virtual NumericTableDictionaryPtr getDictionarySharedPtr()
const = 0;
363 DAAL_DEPRECATED_VIRTUAL
virtual services::Status resetDictionary() {
return services::Status(); }
370 virtual data_feature_utils::FeatureType getFeatureType(
size_t feature_idx)
const = 0;
377 virtual size_t getNumberOfCategories(
size_t feature_idx)
const = 0;
383 virtual StorageLayout getDataLayout()
const = 0;
388 virtual services::Status resize(
size_t nrows) = 0;
396 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setNumberOfColumns(
size_t ncol) = 0;
404 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setNumberOfRows(
size_t nrow) = 0;
410 DAAL_DEPRECATED_VIRTUAL
virtual services::Status allocateDataMemory(daal::MemType type = daal::dram) = 0;
416 DAAL_DEPRECATED_VIRTUAL
virtual void freeDataMemory() = 0;
421 virtual services::Status allocateBasicStatistics() = 0;
429 virtual services::Status check(
const char *description,
bool checkDataAllocation =
true)
const = 0;
433 using interface1::BlockDescriptor;
434 using interface1::NumericTableIface;
436 const int packed_mask = (int)NumericTableIface::csrArray |
437 (
int)NumericTableIface::upperPackedSymmetricMatrix |
438 (int)NumericTableIface::lowerPackedSymmetricMatrix |
439 (
int)NumericTableIface::upperPackedTriangularMatrix |
440 (int)NumericTableIface::lowerPackedTriangularMatrix;
449 class DenseNumericTableIface
452 virtual ~DenseNumericTableIface()
464 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<double> &block) = 0;
476 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<float> &block) = 0;
488 virtual services::Status getBlockOfRows(
size_t vector_idx,
size_t vector_num, ReadWriteMode rwflag, BlockDescriptor<int> &block) = 0;
494 virtual services::Status releaseBlockOfRows(BlockDescriptor<double> &block) = 0;
500 virtual services::Status releaseBlockOfRows(BlockDescriptor<float> &block) = 0;
506 virtual services::Status releaseBlockOfRows(BlockDescriptor<int> &block) = 0;
519 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
520 ReadWriteMode rwflag, BlockDescriptor<double> &block) = 0;
533 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
534 ReadWriteMode rwflag, BlockDescriptor<float> &block) = 0;
547 virtual services::Status getBlockOfColumnValues(
size_t feature_idx,
size_t vector_idx,
size_t value_num,
548 ReadWriteMode rwflag, BlockDescriptor<int> &block) = 0;
554 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<double> &block) = 0;
560 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<float> &block) = 0;
566 virtual services::Status releaseBlockOfColumnValues(BlockDescriptor<int> &block) = 0;
574 class DAAL_EXPORT NumericTable :
public SerializationIface,
public NumericTableIface,
public DenseNumericTableIface
577 DAAL_CAST_OPERATOR(NumericTable);
584 DAAL_DEPRECATED NumericTable( NumericTableDictionary *ddict )
587 _ddict = NumericTableDictionaryPtr(ddict, services::EmptyDeleter());
588 _layout = layout_unknown;
589 _memStatus = notAllocated;
590 _normalizationFlag = NumericTable::nonNormalized;
597 NumericTable( NumericTableDictionaryPtr ddict )
601 _layout = layout_unknown;
602 _memStatus = notAllocated;
603 _normalizationFlag = NumericTable::nonNormalized;
612 NumericTable(
size_t featnum,
size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual = DictionaryIface::notEqual )
615 _ddict = NumericTableDictionaryPtr(
new NumericTableDictionary(featnum, featuresEqual));
616 _layout = layout_unknown;
617 _memStatus = notAllocated;
618 _normalizationFlag = NumericTable::nonNormalized;
622 virtual ~NumericTable() {}
624 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setDictionary( NumericTableDictionary *ddict ) DAAL_C11_OVERRIDE
626 _ddict = NumericTableDictionaryPtr(ddict, services::EmptyDeleter());
627 return services::Status();
630 DAAL_DEPRECATED_VIRTUAL
virtual NumericTableDictionary *getDictionary() const DAAL_C11_OVERRIDE {
return _ddict.get(); }
632 virtual NumericTableDictionaryPtr getDictionarySharedPtr() const DAAL_C11_OVERRIDE {
return _ddict; }
634 DAAL_DEPRECATED_VIRTUAL
virtual services::Status resetDictionary() DAAL_C11_OVERRIDE {
return services::Status(); }
636 virtual services::Status resize(
size_t nrows) DAAL_C11_OVERRIDE
638 size_t obsnum = _obsnum;
639 services::Status s = setNumberOfRowsImpl(nrows);
640 if((_memStatus != userAllocated && obsnum < nrows) || _memStatus == notAllocated)
642 s |= allocateDataMemoryImpl();
651 size_t getNumberOfColumns()
const
653 return _ddict->getNumberOfFeatures();
660 size_t getNumberOfRows()
const {
return _obsnum; }
662 DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfColumns(
size_t ncol) DAAL_C11_OVERRIDE
664 return setNumberOfColumnsImpl(ncol);
667 DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfRows(
size_t nrow) DAAL_C11_OVERRIDE
669 return setNumberOfRowsImpl(nrow);
672 DAAL_DEPRECATED_VIRTUAL services::Status allocateDataMemory(daal::MemType type = daal::dram) DAAL_C11_OVERRIDE
674 return allocateDataMemoryImpl(type);
677 DAAL_DEPRECATED_VIRTUAL
void freeDataMemory() DAAL_C11_OVERRIDE
679 freeDataMemoryImpl();
682 StorageLayout getDataLayout() const DAAL_C11_OVERRIDE
687 data_feature_utils::FeatureType getFeatureType(
size_t feature_idx)
const DAAL_C11_OVERRIDE
689 if ( _ddict.get() != NULL && _ddict->getNumberOfFeatures() > feature_idx )
691 const NumericTableFeature &f = (*_ddict)[feature_idx];
692 return f.featureType;
697 return data_feature_utils::DAAL_CONTINUOUS;
701 size_t getNumberOfCategories(
size_t feature_idx)
const DAAL_C11_OVERRIDE
703 if ( _ddict.get() != NULL && _ddict->getNumberOfFeatures() > feature_idx &&
704 getFeatureType(feature_idx) != data_feature_utils::DAAL_CONTINUOUS )
706 const NumericTableFeature &f = (*_ddict)[feature_idx];
707 return f.categoryNumber;
719 virtual MemoryStatus getDataMemoryStatus()
const {
return _memStatus; }
726 bool isNormalized(NormalizationType flag)
const
728 return (_normalizationFlag == flag);
736 NormalizationType setNormalizationFlag(NormalizationType flag)
738 NormalizationType oldValue = _normalizationFlag;
739 _normalizationFlag = flag;
748 DAAL_DEPRECATED services::SharedPtr<services::KernelErrorCollection> getErrors()
750 return _status.getCollection()->getErrors();
756 virtual services::Status allocateBasicStatistics() DAAL_C11_OVERRIDE;
761 virtual services::Status check(const
char *description,
bool checkDataAllocation = true) const DAAL_C11_OVERRIDE
763 if (getDataMemoryStatus() == notAllocated && checkDataAllocation)
765 return services::Status(services::Error::create(services::ErrorNullNumericTable, services::ArgumentName, description));
768 if (getNumberOfColumns() == 0)
770 return services::Status(services::Error::create(services::ErrorIncorrectNumberOfColumns, services::ArgumentName, description));
773 if (getNumberOfRows() == 0 && getDataMemoryStatus() != notAllocated)
775 return services::Status(services::Error::create(services::ErrorIncorrectNumberOfRows, services::ArgumentName, description));
778 return services::Status();
785 virtual services::Status assign(
float value) {
return assignImpl<float>(value);}
791 virtual services::Status assign(
double value) {
return assignImpl<double>(value);}
797 virtual services::Status assign(
int value) {
return assignImpl<int>(value);}
805 template <
typename DataType>
806 DataType getValue(
size_t column,
size_t row)
const
808 services::Status status;
809 return getValueImpl<DataType>(column, row, status);
819 template <
typename DataType>
820 DataType getValue(
size_t column,
size_t row, services::Status & status)
const
822 return getValueImpl<DataType>(column, row, status);
830 class BasicStatisticsDataCollection :
public algorithms::Argument
833 BasicStatisticsDataCollection() : algorithms::Argument(4) {}
835 services::SharedPtr<NumericTable>
get(BasicStatisticsId id)
837 return services::staticPointerCast<NumericTable, SerializationIface>(Argument::get(
id));
840 void set(BasicStatisticsId
id,
const services::SharedPtr<NumericTable> &value)
842 Argument::set(
id, value);
846 BasicStatisticsDataCollection basicStatistics;
849 NumericTableDictionaryPtr _ddict;
853 MemoryStatus _memStatus;
854 StorageLayout _layout;
856 NormalizationType _normalizationFlag;
858 services::Status _status;
862 NumericTable(NumericTableDictionaryPtr ddict, services::Status &st) :
863 _obsnum(0), _ddict(ddict), _layout(layout_unknown), _memStatus(notAllocated), _normalizationFlag(NumericTable::nonNormalized)
867 NumericTable(
size_t featnum,
size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual, services::Status &st):
868 _obsnum(obsnum), _layout(layout_unknown), _memStatus(notAllocated), _normalizationFlag(NumericTable::nonNormalized)
870 _ddict = NumericTableDictionary::create(featnum, featuresEqual, &st);
874 virtual services::Status setNumberOfColumnsImpl(
size_t ncol)
876 return _ddict->setNumberOfFeatures(ncol);
879 virtual services::Status setNumberOfRowsImpl(
size_t nrow)
882 return services::Status();
885 virtual services::Status allocateDataMemoryImpl(daal::MemType type = daal::dram) {
return services::Status(); }
887 virtual void freeDataMemoryImpl() {}
889 template <
typename DataType>
890 DataType getValueImpl(
size_t column,
size_t row, services::Status & status)
const
892 const DataType defaultValue = 0;
895 BlockDescriptor<DataType> bd;
896 status |=
const_cast<NumericTable *
>(
this)->getBlockOfColumnValues(column, row, 1, readOnly, bd);
899 const DataType v = *(bd.getBlockPtr());
900 status |=
const_cast<NumericTable *
>(
this)->releaseBlockOfColumnValues(bd);
904 virtual float getFloatValueImpl(
size_t column,
size_t row, services::Status & status)
const
906 return getValueImpl<float>(column, row, status);
909 virtual double getDoubleValueImpl(
size_t column,
size_t row, services::Status & status)
const
911 return getValueImpl<double>(column, row, status);
914 virtual int getIntValueImpl(
size_t column,
size_t row, services::Status & status)
const
916 return getValueImpl<int>(column, row, status);
920 template<
typename Archive,
bool onDeserialize>
921 services::Status serialImpl( Archive *arch )
923 arch->setSharedPtrObj( _ddict );
925 arch->set( _obsnum );
929 _memStatus = notAllocated;
932 arch->set( _layout );
934 return services::Status();
938 template <
typename T>
939 services::Status assignImpl(T value)
941 size_t nRows = getNumberOfRows();
942 size_t nCols = getNumberOfColumns();
943 BlockDescriptor<T> block;
944 DAAL_CHECK(getBlockOfRows(0, nRows, writeOnly, block), services::ErrorMemoryAllocationFailed)
945 T* array = block.getBlockSharedPtr().get();
946 for(
size_t i = 0; i < nCols * nRows; i++) {array[i] = value;}
947 releaseBlockOfRows(block);
948 return services::Status();
951 typedef services::SharedPtr<NumericTable> NumericTablePtr;
952 typedef services::SharedPtr<const NumericTable> NumericTableConstPtr;
955 inline float NumericTable::getValue<float>(
size_t column,
size_t row)
const
957 services::Status status;
958 return getFloatValueImpl(column, row, status);
962 inline double NumericTable::getValue<double>(
size_t column,
size_t row)
const
964 services::Status status;
965 return getDoubleValueImpl(column, row, status);
969 inline int NumericTable::getValue<int>(
size_t column,
size_t row)
const
971 services::Status status;
972 return getIntValueImpl(column, row, status);
976 inline float NumericTable::getValue<float>(
size_t column,
size_t row, services::Status & status)
const
978 return getFloatValueImpl(column, row, status);
982 inline double NumericTable::getValue<double>(
size_t column,
size_t row, services::Status & status)
const
984 return getDoubleValueImpl(column, row, status);
988 inline int NumericTable::getValue<int>(
size_t column,
size_t row, services::Status & status)
const
990 return getIntValueImpl(column, row, status);
996 using interface1::DenseNumericTableIface;
997 using interface1::NumericTable;
998 using interface1::NumericTablePtr;
999 using interface1::NumericTableConstPtr;
1014 DAAL_EXPORT services::Status checkNumericTable(
const NumericTable *nt,
const char *description,
1015 const int unexpectedLayouts = 0,
const int expectedLayouts = 0,
size_t nColumns = 0,
size_t nRows = 0,
1016 bool checkDataAllocation =
true);
1023 template<
typename DataType>
1024 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:344
daal::data_management::interface1::NumericTable::freeDataMemory
DAAL_DEPRECATED_VIRTUAL void freeDataMemory() DAAL_C11_OVERRIDE
Definition: numeric_table.h:677
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:806
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:597
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:791
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:363
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:701
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:634
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:632
daal::services::ErrorIncorrectNumberOfColumns
Definition: error_indexes.h:114
daal::services::ErrorMemoryAllocationFailed
Definition: error_indexes.h:146
daal::data_management::interface1::NumericTable::getNumberOfColumns
size_t getNumberOfColumns() const
Definition: numeric_table.h:651
daal::dram
Definition: daal_defines.h:133
daal::data_management::interface1::NumericTableIface::check
virtual services::Status check(const char *description, bool checkDataAllocation=true) const =0
daal::data_management::interface1::NumericTable::assign
virtual services::Status assign(float value)
Definition: numeric_table.h:785
daal::data_management::interface1::NumericTable::setNumberOfColumns
DAAL_DEPRECATED_VIRTUAL services::Status setNumberOfColumns(size_t ncol) DAAL_C11_OVERRIDE
Definition: numeric_table.h:662
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:830
daal::data_management::interface1::NumericTable::NumericTable
DAAL_DEPRECATED NumericTable(NumericTableDictionary *ddict)
Definition: numeric_table.h:584
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:797
daal::data_management::interface1::NumericTable::isNormalized
bool isNormalized(NormalizationType flag) const
Definition: numeric_table.h:726
daal::data_management::interface1::NumericTable::setNormalizationFlag
NormalizationType setNormalizationFlag(NormalizationType flag)
Definition: numeric_table.h:736
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:630
daal::data_management::interface1::NumericTable::allocateDataMemory
DAAL_DEPRECATED_VIRTUAL services::Status allocateDataMemory(daal::MemType type=daal::dram) DAAL_C11_OVERRIDE
Definition: numeric_table.h:672
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:574
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:636
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:849
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:748
daal::data_management::interface1::NumericTable::NumericTable
NumericTable(size_t featnum, size_t obsnum, DictionaryIface::FeaturesEqual featuresEqual=DictionaryIface::notEqual)
Definition: numeric_table.h:612
daal::data_management::interface1::NumericTable::getValue
DataType getValue(size_t column, size_t row, services::Status &status) const
Definition: numeric_table.h:820
daal::data_management::interface1::NumericTableIface::doAllocate
Definition: numeric_table.h:287
daal::data_management::interface1::NumericTable::getFeatureType
data_feature_utils::FeatureType getFeatureType(size_t feature_idx) const DAAL_C11_OVERRIDE
Definition: numeric_table.h:687
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:660
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:449
daal::data_management::interface1::DictionaryIface::FeaturesEqual
FeaturesEqual
Enumeration to specify whether the Data Dictionary contains equal features.
Definition: data_dictionary.h:145
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:682
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:183
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::NumericTable::setDictionary
virtual DAAL_DEPRECATED_VIRTUAL services::Status setDictionary(NumericTableDictionary *ddict) DAAL_C11_OVERRIDE
Definition: numeric_table.h:624
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::getFeatureType
virtual data_feature_utils::FeatureType getFeatureType(size_t feature_idx) const =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:48
daal::services::ArgumentName
Definition: error_indexes.h:50
daal::data_management::interface1::NumericTable::getDataMemoryStatus
virtual MemoryStatus getDataMemoryStatus() const
Definition: numeric_table.h:719
daal::data_management::interface1::NumericTableIface::allocateBasicStatistics
virtual services::Status allocateBasicStatistics()=0
daal::MemType
MemType
Definition: daal_defines.h:131
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:667
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:158