- debug methods:
boolean debug(const String& name, const unichar* message) const;
- constructors:
MVector(long len);
- assign methods:
boolean assign(TIntegral arg);
boolean assign(long length, TIntegral arg);
- array conversion methods:
template<class TAIntegral> boolean assign(long num_elem, const TAIntegral* arg)
boolean assign(long num_elem, const String* arg)
- conversion methods from string using parsing:
boolean assign(const String& arg, unichar delim = DEF_DELIM);
boolean assign(const unichar* arg, unichar delim = DEF_DELIM);
- conversion methods to string:
boolean get(String& arg, const String& delim = DEF_DELIM_STR) const;
boolean get(String& arg, const unichar* delim) const;
- swap methods: swap the current vector with the input vector
boolean swap(MVector& arg);
- partial i/o methods:
boolean readStart(Sof& sof, const String& pname = DEF_PARAM, long size = SofParser::FULL_OBJECT, boolean param = true, boolean nested = true);
long readPartialData(Sof& sof, long start_pos, long num_elem, const String& pname = DEF_PARAM, long size = SofParser::FULL_OBJECT, boolean param = true, boolean nested = false);
boolean readTerminate(Sof& sof);
boolean writeStart(Sof& sof, const String& pname = DEF_PARAM) const;
long writePartialData(Sof& sof, long start_pos, long num_elem) const;
boolean writeTerminate(Sof& sof, const String& pname = DEF_PARAM) const;
- memory size method:
long memSize() const;
- equality and comparison methods:
boolean eq(TIntegral arg) const;
boolean ne(const MVector& vector) const;
boolean ne(TIntegral value) const;
boolean lt(TIntegral value) const;
boolean le(TIntegral value) const;
boolean gt(TIntegral value) const;
boolean ge(TIntegral value) const;
boolean operator == (TIntegral arg) const;
boolean operator != (TIntegral arg) const;
boolean operator < (TIntegral arg) const;
boolean operator <= (TIntegral arg) const;
boolean operator > (TIntegral arg) const;
boolean operator >= (TIntegral arg) const;
boolean almostEqual(const MVector& vector, double percent = Integral::DEF_PERCENTAGE, double bound = Integral::DEF_BOUND) const;
boolean almostEqual(TIntegral value, double percent = Integral::DEF_PERCENTAGE, double bound = Integral::DEF_BOUND) const;
- operator overload methods:
TScalar& operator()(long index_a);
const TScalar& operator()(long index_a) const;
long length() const;
long getCapacity() const;
- resize methods:
boolean setLength(long length, boolean preserve_values = true);
boolean setCapacity(long capacity, boolean preserve_values = true);
- bitwise methods:
boolean band(const MVector& v2);
boolean band(const MVector& v1, const MVector& v2);
boolean band(TIntegral value;)
boolean band(const MVector& v1, TIntegral value);
boolean bor(const MVector& v2;)
boolean bor(const MVector& v1, const MVector& v2);
boolean bor(TIntegral value);
boolean bor(const MVector& v1, TIntegral value);
boolean bxor(const MVector& v2);
boolean bxor(const MVector& v1, const MVector& v2);
boolean bxor(TIntegral value);
boolean bxor(const MVector& v1, TIntegral value);
boolean brs(TIntegral increment);
boolean brs(const MVector& v1, TIntegral increment);
boolean bls(TIntegral increment)
boolean bls(const MVector& v1, TIntegral increment);
boolean bcmpl(const MVector& v1);
boolean bcmpl();
- algebraic methods:
boolean add(const MVector& vector);
boolean add(const MVector& v1, const MVector& v2);
boolean add(TIntegral value);
boolean add(const MVector& vector, TIntegral value);
boolean sub(const MVector& vector);
boolean sub(const MVector& v1, const MVector& v2);
boolean sub(TIntegral value);
boolean sub(const MVector& vector, TIntegral value);
boolean mult(const MVector& vector);
boolean mult(const MVector& v1, const MVector& v2);
boolean mult(TIntegral value);
boolean mult(const MVector& vector, TIntegral value);
boolean div(const MVector& vector);
boolean div(const MVector& v1, const MVector& v2);
boolean div(TIntegral value);
boolean div(const MVector& vector, TIntegral value);
boolean mod(const MVector& vector);
boolean mod(const MVector& v1, const MVector& v2);
boolean mod(TIntegral value);
boolean mod(const MVector& vector, TIntegral value);
- common mathematical methods:
boolean pow(double y);
boolean pow(const MVector& x, double y);
boolean exp();
boolean exp(const MVector& vector);
boolean exp2();
boolean exp2(const MVector& vector);
boolean exp10();
boolean exp10(const MVector& vector);
boolean factorial();
boolean factorial(const MVector& x);
boolean log();
boolean log(const MVector& vector);
boolean log1p();
boolean log1p(const MVector& vector);
boolean log2();
boolean log2(const MVector& vector);
boolean log10();
boolean log10(const MVector& vector);
- sorting and indexing methods:
boolean sort(Integral::ORDER order = Integral::DEF_ORDER);
boolean sort(const MVector& vector, Integral::ORDER order = Integral::DEF_ORDER);
boolean index(VectorLong& sort_index);
boolean randperm(long size);
- mathematical limits, ceiling, floor and rounding methods:
boolean abs();
boolean abs(const MVector& vector);
TIntegral max() const;
TIntegral max(long& position) const;
TIntegral min() const;
TIntegral min(long& position) const;
double minMag() const;
double minMag(long& position) const;
double maxMag() const;
double maxMag(long& position) const;
boolean neg();
boolean neg(const MVector& vector);
boolean round();
boolean round(const MVector& vector);
boolean ceil();
boolean ceil(const MVector& vector);
boolean rceil();
boolean rceil(const MVector& vector);
boolean floor();
boolean floor(const MVector& vector);
boolean rfloor();
boolean rfloor(const MVector& vector);
boolean fraction();
boolean fraction(const MVector& vector_a);
boolean sign();
boolean sign(const MVector& vector);
- trigonometric methods:
boolean sin();
boolean sin(const MVector& vector);
boolean sinh();
boolean sinh(const MVector& vector);
boolean cos();
boolean cos(const MVector& vector);
boolean cosh();
boolean cosh(const MVector& vector);
boolean tan();
boolean tan(const MVector& vector);
boolean tanh();
boolean tanh(const MVector& vector);
boolean asin();
boolean asin(const MVector& vector);
boolean asinh();
boolean asinh(const MVector& vector);
boolean acos();
boolean acos(const MVector& vector);
boolean acosh();
boolean acosh(const MVector& vector);
boolean atan();
boolean atan(const MVector& vector);
boolean atanh();
boolean atanh(const MVector& vector);
- ramp function generation methods:
boolean ramp(TIntegral offset = DEF_OFFSET, TIntegral incr = DEF_INCR);
boolean ramp(TIntegral offset, TIntegral incr, TIntegral end);
- square methods:
boolean sqrt();
boolean sqrt(const MVector& x);
boolean square();
boolean square(const MVector& x);
- inverse methods:
boolean inverse();
boolean inverse(const MVector& x);
- vector to scalar mathematical methods:
TIntegral sum() const;
TIntegral sumSquare() const;
TIntegral mean() const;
TIntegral rms() const;
TIntegral var() const;
TIntegral stdev() const;
TIntegral dotProduct(const MVector& vector) const;
TIntegral norm() const;
TIntegral distance(const MVector& vector) const;
TIntegral distanceSquare(const MVector& vector) const;
long numEqual(TIntegral test_value) const;
long numNotEqual(TIntegral test_value) const;
- dsp methods:
boolean limit(TIntegral min_val, TIntegral max_val);
boolean limit(TIntegral min_val, TIntegral max_val, const MVector& vector);
boolean limitMin(TIntegral min_val);
boolean limitMin(TIntegral min_val, const MVector& vector);
boolean limitMax(TIntegral max_val);
boolean limitMax(TIntegral max_val, const MVector& vector);
boolean limitMag(TIntegral cmp_val, TIntegral new_val);
boolean limitMag(TIntegral cmp_val, TIntegral new_val, const MVector& vector);
boolean centerClip(TIntegral min_val, TIntegral max_val);
boolean centerClip(TIntegral min_val, TIntegral max_val, const MVector& vector);
- random number generation methods:
boolean rand(Random& generator = Random::GLOBAL_UNIFORM);
boolean rand(TIntegral min_val, TIntegral max_val, Random& generator = Random::GLOBAL_UNIFORM);
boolean grand(TIntegral mean, TIntegral stdev, Random& generator = Random::GLOBAL_GAUSSIAN);
- position operation methods:
boolean move(const MVector& vector, long num_elements, long source_offset, long dest_offset);
boolean shift(long delta);
boolean shift(const MVector& vector, long delta);
boolean concat(const MVector& v2);
boolean concat(const MVector& v1, const MVector& v2);
boolean deleteRange(long offset, long num_elements);
boolean deleteRange(const MVector& v1, long offset, long num_elements);
boolean setRange(long offset, long num_elements, Integral value);
- search, ordering and reverse methods:
long first(TIntegral value, long start_pos = Integral::NO_POS);
long last(TIntegral value, long end_pos = Integral::NO_POS);
boolean reorder(const MVector& indexes);
boolean reorder(const MVector& arg, const MVector& indexes);
boolean reverse();