quick start:g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_algo.a #include <AlgorithmData.h> AlgorithmData(); const VectorFloat& getVectorFloat() const; const MatrixFloat& getMatrixFloat() const; VectorFloat& makeVectorFloat(); MatrixFloat& makeMatrixFloat();
description:AlgorithmData algd_1; AlgorithmData algd_2; algd_1.setDataType(AlgorithmData::VECTOR_FLOAT); algd_1.setCoefType(AlgorithmData::GENERIC); algd_1.assign(algd_2);
static const String CLASS_NAME = L"AlgorithmData";
enum DATA_TYPE { NONE = 0, VECTOR_FLOAT, VECTOR_COMPLEX_FLOAT, MATRIX_FLOAT, MATRIX_COMPLEX_FLOAT, VECTOR_DOUBLE, VECTOR_COMPLEX_DOUBLE, MATRIX_DOUBLE, MATRIX_COMPLEX_DOUBLE, COMBINATION, DEF_DTYPE = NONE };
enum COEF_TYPE { GENERIC = 0, PROPAGATE, SIGNAL, SPECTRUM, CORRELATION, COVARIANCE, ENERGY, FILTER, LOG_AREA_RATIO, PREDICTION, REFLECTION, CORRELATION_INTEGRAL, MUTUAL_INFORMATION, CORRELATION_ENTROPY, CORRELATION_DIMENSION, DEF_CTYPE = GENERIC };
static const NameMap DTYPE_MAP = L"NONE, VECTOR_FLOAT, VECTOR_COMPLEX_FLOAT, MATRIX_FLOAT, MATRIX_COMPLEX_FLOAT, VECTOR_DOUBLE, VECTOR_COMPLEX_DOUBLE, MATRIX_DOUBLE, MATRIX_COMPLEX_DOUBLE, COMBINATION";
static const NameMap CTYPE_MAP = L"GENERIC, PROPAGATE, SIGNAL, SPECTRUM, CORRELATION, COVARIANCE, FILTER, LOG_AREA_RATIO, PREDICTION, REFLECTION, CORRELATION_INTEGRAL, MUTUAL_INFORMATION, CORRELATION_ENTROPY, CORRELATION_DIMENSION";
static const String DEF_PARAM = L"";
static const long ERR = 50300;
static const long ERR_TYPE = 50301;
DATA_TYPE data_type_d;
COEF_TYPE coef_type_d;
void* data_d;
static DebugLevel debug_level_d;
static MemoryManager mgr_d;
static const String& name();
static boolean diagnose(Integral::DEBUG debug_level);
boolean debug(const unichar* message) const;
~AlgorithmData();
AlgorithmData();
AlgorithmData(const AlgorithmData& arg);
boolean assign(const AlgorithmData& arg);
AlgorithmData& operator= (const AlgorithmData& arg);
long sofSize() const;
boolean read(Sof& sof, long tag, const String& name = CLASS_NAME);
boolean write(Sof& sof, long tag, const String& name = CLASS_NAME) const;
boolean readData(Sof& sof, const String& pname = DEF_PARAM, long size = SofParser::FULL_OBJECT, boolean param = true, boolean nested = false);
boolean writeData(Sof& sof, const String& pname = DEF_PARAM) const;
boolean eq(const AlgorithmData& arg) const;
static void* operator new(size_t size);
static void* operator new[](size_t size);
static void operator delete(void* ptr);
static void operator delete[](void* ptr);
static boolean setGrowSize(long grow_size);
boolean clear(Integral::CMODE ctype = Integral::DEF_CMODE);
boolean setDataType(DATA_TYPE dtype);
boolean setCoefType(COEF_TYPE ctype);
DATA_TYPE getDataType() const;
COEF_TYPE getCoefType() const;
const VectorFloat& getVectorFloat() const;
VectorFloat& getVectorFloat();
const VectorComplexFloat& getVectorComplexFloat() const;
VectorComplexFloat& getVectorComplexFloat();
const MatrixFloat& getMatrixFloat() const;
MatrixFloat& getMatrixFloat();
const MatrixComplexFloat& getMatrixComplexFloat() const;
MatrixComplexFloat& getMatrixComplexFloat();
const VectorDouble& getVectorDouble() const;
VectorDouble& getVectorDouble();
const VectorComplexDouble& getVectorComplexDouble() const;
VectorComplexDouble& getVectorComplexDouble();
const MatrixDouble& getMatrixDouble() const;
MatrixDouble& getMatrixDouble();
const MatrixComplexDouble& getMatrixComplexDouble() const;
MatrixComplexDouble& getMatrixComplexDouble();
const Vector<AlgorithmData>& getCombination() const;
Vector<AlgorithmData>& getCombination();
boolean make(const AlgorithmData& arg);
VectorFloat& makeVectorFloat();
VectorComplexFloat& makeVectorComplexFloat();
MatrixFloat& makeMatrixFloat();
MatrixComplexFloat& makeMatrixComplexFloat();
VectorDouble& makeVectorDouble();
VectorComplexDouble& makeVectorComplexDouble();
MatrixDouble& makeMatrixDouble();
MatrixComplexDouble& makeMatrixComplexDouble();
Vector<AlgorithmData>& makeCombination();
boolean swap(AlgorithmData& arg);
This class does not need to support the interface contract.
// isip include files // #include <AlgorithmData.h> // main program starts here // int main() { // define an AlgorithmData object // AlgorithmData foo; // test setDataType // foo.setDataType(AlgorithmData::VECTOR_FLOAT); // test makeVectorFloat and getVectorFloat // foo.makeVectorFloat().assign(L"1,2,3"); foo.getVectorFloat().debug(L"VectorFloat"); foo.debug(L"foo"); // exit gracefully // Integral::exit(); }