#include <itpp/base/vec.h>
Public Types | |
typedef Num_T | value_type |
The type of the vector values. | |
Public Member Functions | |
Vec (const Factory &f=DEFAULT_FACTORY) | |
Default constructor. An element factory f can be specified. | |
Vec (const int size, const Factory &f=DEFAULT_FACTORY) | |
Constructor. An element factory f can be specified. | |
Vec (const Vec< Num_T > &v) | |
Copy constructor. | |
Vec (const Vec< Num_T > &v, const Factory &f) | |
Constructor, similar to the copy constructor, but also takes an element factory f as argument. | |
Vec (const char *values, const Factory &f=DEFAULT_FACTORY) | |
Constructor. An element factory f can be specified. | |
Vec (const std::string &values, const Factory &f=DEFAULT_FACTORY) | |
Constructor. An element factory f can be specified. | |
Vec (Num_T *c_array, const int size, const Factory &f=DEFAULT_FACTORY) | |
Constructor taking a C-array as input. Copies all data. An element factory f can be specified. | |
~Vec () | |
Destructor. | |
int | length () const |
The size of the vector. | |
int | size () const |
The size of the vector. | |
void | set_length (const int size, const bool copy=false) |
Set length of vector. if copy = true then keeping the old values. | |
void | set_size (const int size, const bool copy=false) |
Set length of vector. if copy = true then keeping the old values. | |
void | zeros () |
Set the vector to the all zero vector. | |
void | clear () |
Set the vector to the all zero vector. | |
void | ones () |
Set the vector to the all one vector. | |
bool | set (const char *str) |
Set the vector equal to the values in the str string. | |
bool | set (const std::string &str) |
Set the vector equal to the values in the str string. | |
const Num_T & | operator[] (const int i) const |
C-style index operator. First element is 0. | |
const Num_T & | operator() (const int i) const |
Index operator. First element is 0. | |
Num_T & | operator[] (const int i) |
C-style index operator. First element is 0. | |
Num_T & | operator() (const int i) |
Index operator. First element is 0. | |
const Vec< Num_T > | operator() (const int i1, const int i2) const |
Sub-vector with elements from i1 to i2 . Index -1 indicates the last element. | |
const Vec< Num_T > | operator() (const Vec< int > &indexlist) const |
Sub-vector where the elements are given by the list indexlist . | |
const Num_T & | get (const int i) const |
Accessor-style method. First element is 0. | |
const Vec< Num_T > | get (const int i1, const int i2) const |
Sub-vector with elements from i1 to i2 . Index -1 indicates the last element. | |
void | set (const int i, const Num_T &v) |
Modifier-style method. First element is 0. | |
Mat< Num_T > | transpose () const |
Matrix transpose. Converts to a matrix with the vector in the first row. | |
Mat< Num_T > | T () const |
Matrix transpose. Converts to a matrix with the vector in the first row. | |
Mat< Num_T > | hermitian_transpose () const |
Hermitian matrix transpose. Converts to a matrix with the conjugate of the vector in the first row. | |
Mat< Num_T > | H () const |
Hermitian matrix transpose. Converts to a matrix with the conjugate of the vector in the first row. | |
Vec< Num_T > & | operator+= (const Vec< Num_T > &v) |
Addition of vector. | |
Vec< Num_T > & | operator+= (const Num_T t) |
Addition of scalar. | |
Vec< Num_T > & | operator-= (const Vec< Num_T > &v) |
Subtraction of vector. | |
Vec< Num_T > & | operator-= (const Num_T t) |
Subtraction of scalar. | |
Vec< Num_T > & | operator *= (const Num_T t) |
Multiply with a scalar. | |
Vec< Num_T > & | operator/= (const Num_T t) |
Elementwise division. | |
Vec< Num_T > & | operator/= (const Vec< Num_T > &v) |
Elementwise division. | |
Vec< Num_T > | get (const Vec< bin > &binlist) const |
Get the elements in the vector where binlist is 1 . | |
Vec< Num_T > | right (const int nr) const |
Get the right nr elements from the vector. | |
Vec< Num_T > | left (const int nr) const |
Get the left nr elements from the vector. | |
Vec< Num_T > | mid (const int start, const int nr) const |
Get the middle part of vector from start including nr elements. | |
Vec< Num_T > | split (const int pos) |
Split the vector into two parts at element pos . Return the first part and keep the second. | |
void | shift_right (const Num_T In, const int n=1) |
Shift in element In at position 0 n times. | |
void | shift_right (const Vec< Num_T > &In) |
Shift in vector In at position 0. | |
void | shift_left (const Num_T In, const int n=1) |
Shift out the n left elements and a the same time shift in the element at last position n times. | |
void | shift_left (const Vec< Num_T > &In) |
Shift in vector In at last position. | |
void | set_subvector (int i1, int i2, const Vec< Num_T > &v) |
Set subvector defined by indicies i1 to i2 to vector v . | |
void | set_subvector (const int i, const Vec< Num_T > &v) |
Set subvector defined by first index i and size of vector v to v . | |
void | set_subvector (int i1, int i2, const Num_T t) |
Set subvector defined by indicies i1 to i2 to constant t. | |
void | replace_mid (const int pos, const Vec< Num_T > &v) |
Replace the elements from pos by the vector v . | |
void | del (const int index) |
Delete element number index . | |
void | del (const int i1, const int i2) |
Delete elements from i1 to i2 . | |
void | ins (const int index, const Num_T in) |
Insert element in at index . | |
void | ins (const int index, const Vec< Num_T > &in) |
Insert vector in at index . | |
Vec< Num_T > & | operator= (const Num_T t) |
Assign all elements in vector to t . | |
Vec< Num_T > & | operator= (const Vec< Num_T > &v) |
Assign vector the value and length of v . | |
Vec< Num_T > & | operator= (const Mat< Num_T > &m) |
Assign vector equal to the 1-dimensional matrix m . | |
Vec< Num_T > & | operator= (const char *values) |
Assign vector the values in the string values . | |
Vec< bin > | operator== (const Num_T value) const |
Elementwise equal to the scalar. | |
Vec< bin > | operator!= (const Num_T value) const |
Elementwise not-equal to the scalar. | |
Vec< bin > | operator< (const Num_T value) const |
Elementwise less than the scalar. | |
Vec< bin > | operator<= (const Num_T value) const |
Elementwise less than and equal to the scalar. | |
Vec< bin > | operator> (const Num_T value) const |
Elementwise greater than the scalar. | |
Vec< bin > | operator>= (const Num_T value) const |
Elementwise greater than and equal to the scalar. | |
bool | operator== (const Vec< Num_T > &v) const |
Compare two vectors. False if wrong sizes or different values. | |
bool | operator!= (const Vec< Num_T > &v) const |
Compare two vectors. True if different. | |
Num_T & | _elem (const int i) |
Index operator without boundary check. Not recommended to use. | |
const Num_T & | _elem (const int i) const |
Index operator without boundary check. Not recommended to use. | |
Num_T * | _data () |
Get the pointer to the internal structure. Not recommended to use. | |
const Num_T * | _data () const |
Get the pointer to the internal structure. Not recommended to use. | |
template<> | |
bool | set (const char *values) |
template<> | |
bool | set (const char *values) |
Protected Member Functions | |
void | alloc (const int size) |
Allocate storage for a vector of length size . | |
void | free () |
Free the storage space allocated by the vector. | |
Protected Attributes | |
int | datasize |
The current number of elements in the vector. | |
Num_T * | data |
A pointer to the data area. | |
const Factory & | factory |
Element factory (set to DEFAULT_FACTORY to use Num_T default constructors only). | |
Friends | |
const Vec< Num_T > | operator+ (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Addition of two vectors. | |
const Vec< Num_T > | operator+ (const Vec< Num_T > &v, const Num_T t) |
Addition of a vector and a scalar. | |
const Vec< Num_T > | operator+ (const Num_T t, const Vec< Num_T > &v) |
Addition of a scalar and a vector. | |
const Vec< Num_T > | operator- (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Subtraction of v2 from v1 . | |
const Vec< Num_T > | operator- (const Vec< Num_T > &v, const Num_T t) |
Subtraction of scalar from vector. | |
const Vec< Num_T > | operator- (const Num_T t, const Vec< Num_T > &v) |
Sutraction of vector from scalar. | |
const Vec< Num_T > | operator- (const Vec< Num_T > &v) |
Negation of vector. | |
Num_T | operator * (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Inner (dot) product. | |
Num_T | dot (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Inner (dot) product. | |
const Mat< Num_T > | outer_product (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Outer product of two vectors v1 and v2. | |
const Vec< Num_T > | operator * (const Vec< Num_T > &v, const Num_T t) |
Elementwise multiplication of vector and scalar. | |
const Vec< Num_T > | operator * (const Num_T t, const Vec< Num_T > &v) |
Elementwise multiplication of vector and scalar. | |
const Vec< Num_T > | elem_mult (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Elementwise multiplication. | |
const Vec< Num_T > | elem_mult (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3) |
Elementwise multiplication of three vectors. | |
const Vec< Num_T > | elem_mult (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3, const Vec< Num_T > &v4) |
Elementwise multiplication of four vectors. | |
const Vec< Num_T > | operator/ (const Vec< Num_T > &v, const Num_T t) |
Elementwise division. | |
const Vec< Num_T > | operator/ (const Num_T t, const Vec< Num_T > &v) |
Elementwise division. | |
const Vec< Num_T > | elem_div (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Elementwise division. | |
const Vec< Num_T > | elem_div (const Num_T t, const Vec< Num_T > &v) |
Elementwise division. | |
const Vec< Num_T > | concat (const Vec< Num_T > &v, const Num_T a) |
Append element a to the end of the vector v . | |
const Vec< Num_T > | concat (const Num_T a, const Vec< Num_T > &v) |
Concat element a to the beginning of the vector v . | |
const Vec< Num_T > | concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2) |
Concat vectors v1 and v2 . | |
const Vec< Num_T > | concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3) |
Concat vectors v1 , v2 and v3 . | |
Related Functions | |
(Note that these are not member functions.) | |
bvec | to_bvec (const Vec< T > &v) |
Converts a Vec<T> to bvec. | |
svec | to_svec (const Vec< T > &v) |
Converts a Vec<T> to svec. | |
ivec | to_ivec (const Vec< T > &v) |
Converts a Vec<T> to ivec. | |
vec | to_vec (const Vec< T > &v) |
Converts a Vec<T> to vec. | |
cvec | to_cvec (const Vec< T > &v) |
Converts a Vec<T> to cvec. | |
cvec | to_cvec (const Vec< T > &real, const Vec< T > &imag) |
Converts real and imaginary Vec<T> to cvec. | |
ivec | to_ivec (int s) |
Converts an int to ivec. | |
vec | to_vec (double s) |
Converts an double to vec. | |
cvec | to_cvec (double real, double imag) |
Converts real and imaginary double to cvec. | |
vec | operator+ (const float &s, const vec &v) |
Addition operator for float and vec. | |
vec | operator+ (const short &s, const vec &v) |
Addition operator for short and vec. | |
vec | operator+ (const int &s, const vec &v) |
Addition operator for int and vec. | |
vec | operator+ (const vec &v, const float &s) |
Addition operator for vec and float. | |
vec | operator+ (const vec &v, const short &s) |
Addition operator for vec and short. | |
vec | operator+ (const vec &v, const int &s) |
Addition operator for vec and int. | |
vec | operator- (const float &s, const vec &v) |
Subtraction operator for float and vec. | |
vec | operator- (const short &s, const vec &v) |
Subtraction operator for short and vec. | |
vec | operator- (const int &s, const vec &v) |
Subtraction operator for int and vec. | |
vec | operator- (const vec &v, const float &s) |
Subtraction operator for vec and float. | |
vec | operator- (const vec &v, const short &s) |
Subtraction operator for vec and short. | |
vec | operator- (const vec &v, const int &s) |
Subtraction operator for vec and int. | |
vec | operator * (const float &s, const vec &v) |
Multiplication operator for float and vec. | |
vec | operator * (const short &s, const vec &v) |
Multiplication operator for short and vec. | |
vec | operator * (const int &s, const vec &v) |
Multiplication operator for int and vec. | |
cvec | operator * (const std::complex< double > &s, const vec &v) |
Multiplication operator for complex<double> and vec. | |
vec | operator * (const vec &v, const float &s) |
Multiplication operator for vec and float. | |
vec | operator * (const vec &v, const short &s) |
Multiplication operator for vec and short. | |
vec | operator * (const vec &v, const int &s) |
Multiplication operator for vec and int. | |
cvec | operator * (const vec &v, const std::complex< double > &s) |
Multiplication operator for vec and complex<double>. | |
vec | operator/ (const vec &v, const float &s) |
Division operator for vec and float. | |
vec | operator/ (const vec &v, const short &s) |
Division operator for vec and short. | |
vec | operator/ (const vec &v, const int &s) |
Division operator for vec and int. | |
vec | operator+ (const double &s, const ivec &v) |
Addition operator for double and ivec. | |
vec | operator+ (const ivec &v, const double &s) |
Addition operator for ivec and double. | |
vec | operator- (const double &s, const ivec &v) |
Subtraction operator for double and ivec. | |
vec | operator- (const ivec &v, const double &s) |
Subtraction operator for ivec and double. | |
vec | operator * (const double &s, const ivec &v) |
Multiplication operator for double and ivec. | |
vec | operator * (const ivec &v, const double &s) |
Multiplication operator for ivec and double. | |
vec | operator/ (const double &s, const ivec &v) |
Division operator for double and ivec. | |
vec | operator/ (const ivec &v, const double &s) |
Division operator for ivec and double. | |
cvec | operator+ (const std::complex< double > &s, const ivec &v) |
Addition operator for complex<double> and ivec. | |
cvec | operator+ (const ivec &v, const std::complex< double > &s) |
Addition operator for ivec and complex<double>. | |
cvec | operator- (const std::complex< double > &s, const ivec &v) |
Subtraction operator for complex<double> and ivec. | |
cvec | operator- (const ivec &v, const std::complex< double > &s) |
Subtraction operator for ivec and complex<double>. | |
cvec | operator * (const std::complex< double > &s, const ivec &v) |
Multiplication operator for complex<double> and ivec. | |
cvec | operator * (const ivec &v, const std::complex< double > &s) |
Multiplication operator for ivec and complex<double>. | |
cvec | operator/ (const std::complex< double > &s, const ivec &v) |
Division operator for complex<double> and ivec. | |
cvec | operator/ (const ivec &v, const std::complex< double > &s) |
Division operator for ivec and complex<double>. | |
cvec | operator+ (const double &s, const cvec &v) |
Addition operator for double and cvec. | |
cvec | operator+ (const float &s, const cvec &v) |
Addition operator for float and cvec. | |
cvec | operator+ (const short &s, const cvec &v) |
Addition operator for short and cvec. | |
cvec | operator+ (const int &s, const cvec &v) |
Addition operator for int and cvec. | |
cvec | operator+ (const cvec &v, const float &s) |
Addition operator for cvec and float. | |
cvec | operator+ (const cvec &v, const double &s) |
Addition operator for cvec and double. | |
cvec | operator+ (const cvec &v, const short &s) |
Addition operator for cvec and short. | |
cvec | operator+ (const cvec &v, const int &s) |
Addition operator for cvec and int. | |
cvec | operator- (const double &s, const cvec &v) |
Subtraction operator for double and cvec. | |
cvec | operator- (const float &s, const cvec &v) |
Subtraction operator for float and cvec. | |
cvec | operator- (const short &s, const cvec &v) |
Subtraction operator for short and cvec. | |
cvec | operator- (const int &s, const cvec &v) |
Subtraction operator for int and cvec. | |
cvec | operator- (const cvec &v, const float &s) |
Subtraction operator for cvec and float. | |
cvec | operator- (const cvec &v, const double &s) |
Subtraction operator for cvec and double. | |
cvec | operator- (const cvec &v, const short &s) |
Subtraction operator for cvec and short. | |
cvec | operator- (const cvec &v, const int &s) |
Subtraction operator for cvec and int. | |
cvec | operator * (const double &s, const cvec &v) |
Multiplication operator for double and cvec. | |
cvec | operator * (const float &s, const cvec &v) |
Multiplication operator for float and cvec. | |
cvec | operator * (const short &s, const cvec &v) |
Multiplication operator for short and cvec. | |
cvec | operator * (const int &s, const cvec &v) |
Multiplication operator for int and cvec. | |
cvec | operator * (const cvec &v, const float &s) |
Multiplication operator for cvec and float. | |
cvec | operator * (const cvec &v, const double &s) |
Multiplication operator for cvec and double. | |
cvec | operator * (const cvec &v, const short &s) |
Multiplication operator for cvec and short. | |
cvec | operator * (const cvec &v, const int &s) |
Multiplication operator for cvec and int. | |
cvec | operator/ (const cvec &v, const double &s) |
Division operator for cvec and double. | |
cvec | operator/ (const double &s, const cvec &v) |
Division operator for double and cvec. | |
cvec | operator/ (const cvec &v, const float &s) |
Division operator for cvec and float. | |
cvec | operator/ (const cvec &v, const short &s) |
Division operator for cvec and short. | |
cvec | operator/ (const cvec &v, const int &s) |
Division operator for cvec and int. | |
vec | operator+ (const bvec &a, const vec &b) |
Addition operator for bvec and vec. | |
vec | operator+ (const svec &a, const vec &b) |
Addition operator for svec and vec. | |
vec | operator+ (const ivec &a, const vec &b) |
Addition operator for ivec and vec. | |
vec | operator+ (const vec &a, const bvec &b) |
Addition operator for vec and bvec. | |
vec | operator+ (const vec &a, const svec &b) |
Addition operator for vec and svec. | |
vec | operator+ (const vec &a, const ivec &b) |
Addition operator for vec and ivec. | |
vec | operator- (const bvec &a, const vec &b) |
Subtraction operator for bvec and vec. | |
vec | operator- (const svec &a, const vec &b) |
Subtraction operator for svec and vec. | |
vec | operator- (const ivec &a, const vec &b) |
Subtraction operator for ivec and vec. | |
vec | operator- (const vec &a, const bvec &b) |
Subtraction operator for vec and bvec. | |
vec | operator- (const vec &a, const svec &b) |
Subtraction operator for vec and svec. | |
vec | operator- (const vec &a, const ivec &b) |
Subtraction operator for vec and ivec. | |
double | operator * (const bvec &a, const vec &b) |
Multiplication operator for bvec and vec. | |
double | operator * (const svec &a, const vec &b) |
Multiplication operator for svec and vec. | |
double | operator * (const ivec &a, const vec &b) |
Multiplication operator for ivec and vec. | |
double | operator * (const vec &a, const bvec &b) |
Multiplication operator for vec and bvec. | |
double | operator * (const vec &a, const svec &b) |
Multiplication operator for vec and svec. | |
double | operator * (const vec &a, const ivec &b) |
Multiplication operator for vec and ivec. | |
cvec | operator+ (const bvec &a, const cvec &b) |
Addition operator for bvec and cvec. | |
cvec | operator+ (const svec &a, const cvec &b) |
Addition operator for svec and cvec. | |
cvec | operator+ (const ivec &a, const cvec &b) |
Addition operator for ivec and cvec. | |
cvec | operator+ (const cvec &a, const bvec &b) |
Addition operator for cvec and bvec. | |
cvec | operator+ (const cvec &a, const svec &b) |
Addition operator for cvec and svec. | |
cvec | operator+ (const cvec &a, const ivec &b) |
Addition operator for cvec and ivec. | |
cvec | operator- (const bvec &a, const cvec &b) |
Subtraction operator for bvec and cvec. | |
cvec | operator- (const svec &a, const cvec &b) |
Subtraction operator for svec and cvec. | |
cvec | operator- (const ivec &a, const cvec &b) |
Subtraction operator for ivec and cvec. | |
cvec | operator- (const cvec &a, const bvec &b) |
Subtraction operator for cvec and bvec. | |
cvec | operator- (const cvec &a, const svec &b) |
Subtraction operator for cvec and svec. | |
cvec | operator- (const cvec &a, const ivec &b) |
Subtraction operator for cvec and ivec. | |
std::complex< double > | operator * (const bvec &a, const cvec &b) |
Multiplication operator for bvec and cvec. | |
std::complex< double > | operator * (const svec &a, const cvec &b) |
Multiplication operator for svec and cvec. | |
std::complex< double > | operator * (const ivec &a, const cvec &b) |
Multiplication operator for ivec and cvec. | |
std::complex< double > | operator * (const cvec &a, const bvec &b) |
Multiplication operator for cvec and bvec. | |
std::complex< double > | operator * (const cvec &a, const svec &b) |
Multiplication operator for cvec and svec. | |
std::complex< double > | operator * (const cvec &a, const ivec &b) |
Multiplication operator for cvec and ivec. | |
void | sort (Vec< T > &data) |
Sort the data vector in increasing order. | |
ivec | sort_index (const Vec< T > &data) |
Return an index vector corresponding to a sorted vector data (increasing order). | |
void | QS (int low, int high, Vec< T > &data) |
Quick sort function of a subset of a vector data . | |
void | QSindex (int low, int high, ivec &indexlist, const Vec< T > &data) |
Quick sort function, which gives a sorted index vector indexlist . | |
Vec< T > | vec_1 (T v0) |
Vector of length 1. | |
Vec< T > | vec_2 (T v0, T v1) |
Vector of length 2. | |
Vec< T > | vec_3 (T v0, T v1, T v2) |
Vector of length 3. | |
std::ostream & | operator<< (std::ostream &os, const Vec< Num_T > &v) |
Stream output of vector. | |
std::istream & | operator>> (std::istream &is, Vec< Num_T > &v) |
Stream input of vector. |
bin
, short
, int
, double
, and complex<double>
vectors and these are predefined as: bvec
, svec
, ivec
, vec
, and cvec
. double
and complex<double>
are double
and complex<double>
respectively.Examples:
Vector Constructors: When constructing a vector without a length (memory) use
vec temp;
vec temp(invector);
vec a("0 0.7 5 9.3"); // that is a = [0, 0.7, 5, 9.3] vec a="0 0.7 5 9.3"; // the constructor are called implicitly ivec b="0:5"; // that is b = [0, 1, 2, 3, 4, 5] vec c="3:2.5:13"; // that is c = [3, 5.5, 8, 10.5, 13]
temp.set_size(new_length, false);
false
is used to indicate that the old values in temp
is not copied. If you like to preserve the values use true
.There are a number of methods to access parts of a vector. Examples are
a(5); // Element number 5 a(5,9); // Elements 5, 6, 7, 8, and 9 a.left(10); // The 10 most left elements (the first) a.right(10); // The 10 most right elements (the last) a.mid(5, 7); // 7 elements starting from element 5
It is also possible to modify parts of a vector as e.g. in
a.del(5); // deletes element number 5 a.ins(3.4, 9); // inserts the element 3.4 at position 9 a.replace_mid(12, b); // replaces elements from 12 with the vector b
It is of course also possible to perform the common linear algebra methods such as addition, subtraction, and scalar product (*). Observe though, that vectors are assumed to be column-vectors in operations with matrices.
Most elementary functions such as sin(), cosh(), log(), abs(), ..., are available as operations on the individual elements of the vectors. Please see the individual functions for more details.
By default, the Vec elements are created using the default constructor for the element type. This can be changed by specifying a suitable Factory in the Vec constructor call; see Detailed Description for Factory.
Definition at line 185 of file vec.h.
|
The type of the vector values.
|
|
Default constructor. An element factory
|
|
Constructor. An element factory
|
|
Copy constructor.
Definition at line 493 of file vec.h. References itpp::Vec< Num_T >::alloc(), itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Constructor, similar to the copy constructor, but also takes an element factory
Definition at line 501 of file vec.h. References itpp::Vec< Num_T >::alloc(), itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Constructor. An element factory
|
|
Constructor. An element factory
|
|
Constructor taking a C-array as input. Copies all data. An element factory
|
|
Destructor.
|
|
|
|
Set length of vector. if copy = true then keeping the old values.
Definition at line 213 of file vec.h. Referenced by itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::interleave(), and itpp::Block_Interleaver< T >::interleave(). |
|
|
Set the vector to the all zero vector.
Definition at line 217 of file vec.h. Referenced by itpp::TDL_Channel::calc_frequency_response(), itpp::TCP_Client_Application::read_from_net(), and itpp::TCP_Sender::setup(). |
|
Set the vector to the all zero vector.
Definition at line 219 of file vec.h. Referenced by itpp::ARMA_Filter< T1, T2, T3 >::clear(), itpp::AR_Filter< T1, T2, T3 >::clear(), itpp::MA_Filter< std::complex< double >, double, std::complex< double > >::clear(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::interleave(), itpp::ARMA_Filter< T1, T2, T3 >::set_coeffs(), itpp::AR_Filter< T1, T2, T3 >::set_coeffs(), itpp::MA_Filter< T1, T2, T3 >::set_coeffs(), and itpp::upsample(). |
|
Set the vector to the all one vector.
|
|
Set the vector equal to the values in the
Definition at line 592 of file vec.h. References itpp::Vec< Num_T >::set(). |
|
C-style index operator. First element is 0.
|
|
Index operator. First element is 0.
|
|
C-style index operator. First element is 0.
|
|
Index operator. First element is 0.
|
|
Sub-vector with elements from
Definition at line 598 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Sub-vector where the elements are given by the list
Definition at line 621 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Accessor-style method. First element is 0.
|
|
Sub-vector with elements from
|
|
Modifier-style method. First element is 0.
|
|
Matrix transpose. Converts to a matrix with the vector in the first row.
Definition at line 632 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Matrix transpose. Converts to a matrix with the vector in the first row.
|
|
Hermitian matrix transpose. Converts to a matrix with the conjugate of the vector in the first row.
Definition at line 645 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Hermitian matrix transpose. Converts to a matrix with the conjugate of the vector in the first row.
|
|
Addition of vector.
Definition at line 655 of file vec.h. References itpp::Vec< Num_T >::alloc(), itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Addition of scalar.
Definition at line 673 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Subtraction of vector.
Definition at line 718 of file vec.h. References itpp::Vec< Num_T >::alloc(), itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Subtraction of scalar.
Definition at line 736 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Multiply with a scalar.
Definition at line 793 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Elementwise division.
Definition at line 927 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Elementwise division.
Definition at line 935 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Get the elements in the vector where
Definition at line 972 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, itpp::Vec< Num_T >::length(), and itpp::Vec< Num_T >::size(). |
|
Get the right
Definition at line 989 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. Referenced by itpp::Turbo_Codec::decode_block(), itpp::Cross_Interleaver< T >::deinterleave(), and itpp::Cross_Interleaver< T >::interleave(). |
|
Get the left
Definition at line 1000 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. Referenced by itpp::Turbo_Codec::decode_block(), itpp::Cross_Interleaver< T >::deinterleave(), and itpp::Cross_Interleaver< T >::interleave(). |
|
Get the middle part of vector from
Definition at line 1011 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. Referenced by itpp::Cross_Interleaver< T >::deinterleave(), and itpp::Cross_Interleaver< T >::interleave(). |
|
Split the vector into two parts at element
Definition at line 1023 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Shift in element
Definition at line 1041 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Shift in vector
Definition at line 1053 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Shift out the
Definition at line 1064 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Shift in vector
Definition at line 1076 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Set subvector defined by indicies
Definition at line 1193 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Set subvector defined by first index
Definition at line 1206 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Set subvector defined by indicies i1 to i2 to constant t.
Definition at line 1214 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and it_assert1. |
|
Replace the elements from
Definition at line 1227 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, and itpp::Vec< Num_T >::length(). |
|
Delete element number
Definition at line 1234 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, and itpp::Vec< Num_T >::set_size(). |
|
Delete elements from
Definition at line 1250 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, and itpp::Vec< Num_T >::set_size(). |
|
Insert element
Definition at line 1262 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, and itpp::Vec< Num_T >::set_size(). |
|
Insert vector
Definition at line 1274 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, itpp::Vec< Num_T >::length(), itpp::Vec< Num_T >::set_size(), and itpp::Vec< Num_T >::size(). |
|
Assign all elements in vector to
Definition at line 1286 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Assign vector the value and length of
Definition at line 1294 of file vec.h. References itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, and itpp::Vec< Num_T >::set_size(). |
|
Assign vector equal to the 1-dimensional matrix
Definition at line 1304 of file vec.h. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::cols(), itpp::Vec< Num_T >::data, itpp::Vec< Num_T >::datasize, it_assert1, itpp::Mat< Num_T >::rows(), and itpp::Vec< Num_T >::set_size(). |
|
Assign vector the values in the string
Definition at line 1321 of file vec.h. References itpp::Vec< Num_T >::set(). |
|
Elementwise equal to the scalar.
Definition at line 1331 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Elementwise not-equal to the scalar.
Definition at line 1347 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Elementwise less than the scalar.
Definition at line 1363 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Elementwise less than and equal to the scalar.
Definition at line 1379 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Elementwise greater than the scalar.
Definition at line 1395 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Elementwise greater than and equal to the scalar.
Definition at line 1411 of file vec.h. References itpp::Vec< Num_T >::datasize, it_assert, and itpp::Vec< Num_T >::length(). |
|
Compare two vectors. False if wrong sizes or different values.
Definition at line 1424 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Compare two vectors. True if different.
Definition at line 1435 of file vec.h. References itpp::Vec< Num_T >::data, and itpp::Vec< Num_T >::datasize. |
|
Index operator without boundary check. Not recommended to use.
|
|
Index operator without boundary check. Not recommended to use.
|
|
Get the pointer to the internal structure. Not recommended to use.
Definition at line 390 of file vec.h. Referenced by itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_row(), itpp::Mat< Num_T >::ins_col(), itpp::operator *(), itpp::Mat< Num_T >::set_col(), itpp::Mat< Num_T >::set_row(), and itpp::variance(). |
|
Get the pointer to the internal structure. Not recommended to use.
|
|
Allocate storage for a vector of length
Definition at line 397 of file vec.h. Referenced by itpp::Vec< Num_T >::operator+=(), itpp::Vec< Num_T >::operator-=(), itpp::Vec< Num_T >::set(), itpp::Vec< Num_T >::set_size(), itpp::Vec< Num_T >::Vec(), and itpp::Vec< bmat >::Vec(). |
|
Free the storage space allocated by the vector.
Definition at line 410 of file vec.h. Referenced by itpp::Vec< bmat >::~Vec(). |
|
Addition of two vectors.
|
|
Addition of a vector and a scalar.
|
|
Addition of a scalar and a vector.
|
|
Subtraction of
|
|
Subtraction of scalar from vector.
|
|
Sutraction of vector from scalar.
|
|
Negation of vector.
|
|
Inner (dot) product.
|
|
Inner (dot) product.
|
|
Outer product of two vectors v1 and v2.
|
|
Elementwise multiplication of vector and scalar.
|
|
Elementwise multiplication of vector and scalar.
|
|
Elementwise multiplication.
|
|
Elementwise multiplication of three vectors.
|
|
Elementwise multiplication of four vectors.
|
|
Elementwise division.
|
|
Elementwise division.
|
|
Elementwise division.
|
|
Elementwise division.
|
|
Append element
|
|
Concat element
|
|
Concat vectors
|
|
Concat vectors
|
|
Addition operator for float and vec.
Definition at line 84 of file operators.h. |
|
Addition operator for short and vec.
Definition at line 90 of file operators.h. |
|
Addition operator for int and vec.
Definition at line 96 of file operators.h. |
|
Addition operator for vec and float.
Definition at line 102 of file operators.h. |
|
Addition operator for vec and short.
Definition at line 108 of file operators.h. |
|
Addition operator for vec and int.
Definition at line 114 of file operators.h. |
|
Subtraction operator for float and vec.
Definition at line 120 of file operators.h. |
|
Subtraction operator for short and vec.
Definition at line 126 of file operators.h. |
|
Subtraction operator for int and vec.
Definition at line 132 of file operators.h. |
|
Subtraction operator for vec and float.
Definition at line 138 of file operators.h. |
|
Subtraction operator for vec and short.
Definition at line 144 of file operators.h. |
|
Subtraction operator for vec and int.
Definition at line 150 of file operators.h. |
|
Multiplication operator for float and vec.
Definition at line 156 of file operators.h. |
|
Multiplication operator for short and vec.
Definition at line 162 of file operators.h. |
|
Multiplication operator for int and vec.
Definition at line 168 of file operators.h. |
|
Multiplication operator for complex<double> and vec.
Definition at line 270 of file operators.cpp. |
|
Multiplication operator for vec and float.
Definition at line 180 of file operators.h. |
|
Multiplication operator for vec and short.
Definition at line 186 of file operators.h. |
|
Multiplication operator for vec and int.
Definition at line 192 of file operators.h. |
|
Multiplication operator for vec and complex<double>.
Definition at line 279 of file operators.cpp. |
|
Division operator for vec and float.
Definition at line 204 of file operators.h. |
|
Division operator for vec and short.
Definition at line 210 of file operators.h. |
|
Division operator for vec and int.
Definition at line 216 of file operators.h. |
|
Addition operator for double and ivec.
Definition at line 41 of file operators.cpp. |
|
Addition operator for ivec and double.
Definition at line 231 of file operators.h. |
|
Subtraction operator for double and ivec.
Definition at line 52 of file operators.cpp. |
|
Subtraction operator for ivec and double.
Definition at line 243 of file operators.h. |
|
Multiplication operator for double and ivec.
Definition at line 63 of file operators.cpp. |
|
Multiplication operator for ivec and double.
Definition at line 255 of file operators.h. |
|
Division operator for double and ivec.
Definition at line 74 of file operators.cpp. |
|
Division operator for ivec and double.
Definition at line 85 of file operators.cpp. |
|
Addition operator for complex<double> and ivec.
Definition at line 96 of file operators.cpp. |
|
Addition operator for ivec and complex<double>.
Definition at line 279 of file operators.h. |
|
Subtraction operator for complex<double> and ivec.
Definition at line 107 of file operators.cpp. |
|
Subtraction operator for ivec and complex<double>.
Definition at line 291 of file operators.h. |
|
Multiplication operator for complex<double> and ivec.
Definition at line 118 of file operators.cpp. |
|
Multiplication operator for ivec and complex<double>.
Definition at line 303 of file operators.h. |
|
Division operator for complex<double> and ivec.
Definition at line 129 of file operators.cpp. |
|
Division operator for ivec and complex<double>.
Definition at line 140 of file operators.cpp. |
|
Addition operator for double and cvec.
Definition at line 153 of file operators.cpp. |
|
Addition operator for float and cvec.
Definition at line 329 of file operators.h. |
|
Addition operator for short and cvec.
Definition at line 335 of file operators.h. |
|
Addition operator for int and cvec.
Definition at line 341 of file operators.h. |
|
Addition operator for cvec and float.
Definition at line 347 of file operators.h. |
|
Addition operator for cvec and double.
Definition at line 353 of file operators.h. |
|
Addition operator for cvec and short.
Definition at line 359 of file operators.h. |
|
Addition operator for cvec and int.
Definition at line 365 of file operators.h. |
|
Subtraction operator for double and cvec.
Definition at line 164 of file operators.cpp. |
|
Subtraction operator for float and cvec.
Definition at line 377 of file operators.h. |
|
Subtraction operator for short and cvec.
Definition at line 383 of file operators.h. |
|
Subtraction operator for int and cvec.
Definition at line 389 of file operators.h. |
|
Subtraction operator for cvec and float.
Definition at line 395 of file operators.h. |
|
Subtraction operator for cvec and double.
Definition at line 401 of file operators.h. |
|
Subtraction operator for cvec and short.
Definition at line 407 of file operators.h. |
|
Subtraction operator for cvec and int.
Definition at line 413 of file operators.h. |
|
Multiplication operator for double and cvec.
Definition at line 175 of file operators.cpp. |
|
Multiplication operator for float and cvec.
Definition at line 425 of file operators.h. |
|
Multiplication operator for short and cvec.
Definition at line 431 of file operators.h. |
|
Multiplication operator for int and cvec.
Definition at line 437 of file operators.h. |
|
Multiplication operator for cvec and float.
Definition at line 443 of file operators.h. |
|
Multiplication operator for cvec and double.
Definition at line 449 of file operators.h. |
|
Multiplication operator for cvec and short.
Definition at line 455 of file operators.h. |
|
Multiplication operator for cvec and int.
Definition at line 461 of file operators.h. |
|
Division operator for cvec and double.
Definition at line 186 of file operators.cpp. |
|
Division operator for double and cvec.
Definition at line 197 of file operators.cpp. |
|
Division operator for cvec and float.
Definition at line 479 of file operators.h. |
|
Division operator for cvec and short.
Definition at line 485 of file operators.h. |
|
Division operator for cvec and int.
Definition at line 491 of file operators.h. |
|
Addition operator for bvec and vec.
Definition at line 293 of file operators.cpp. |
|
Addition operator for svec and vec.
Definition at line 301 of file operators.cpp. |
|
Addition operator for ivec and vec.
Definition at line 309 of file operators.cpp. |
|
Addition operator for vec and bvec.
Definition at line 688 of file operators.h. |
|
Addition operator for vec and svec.
Definition at line 694 of file operators.h. |
|
Addition operator for vec and ivec.
Definition at line 700 of file operators.h. |
|
Subtraction operator for bvec and vec.
Definition at line 706 of file operators.h. |
|
Subtraction operator for svec and vec.
Definition at line 712 of file operators.h. |
|
Subtraction operator for ivec and vec.
Definition at line 718 of file operators.h. |
|
Subtraction operator for vec and bvec.
Definition at line 724 of file operators.h. |
|
Subtraction operator for vec and svec.
Definition at line 730 of file operators.h. |
|
Subtraction operator for vec and ivec.
Definition at line 736 of file operators.h. |
|
Multiplication operator for bvec and vec.
Definition at line 343 of file operators.cpp. |
|
Multiplication operator for svec and vec.
Definition at line 351 of file operators.cpp. |
|
Multiplication operator for ivec and vec.
Definition at line 359 of file operators.cpp. |
|
Multiplication operator for vec and bvec.
Definition at line 760 of file operators.h. |
|
Multiplication operator for vec and svec.
Definition at line 766 of file operators.h. |
|
Multiplication operator for vec and ivec.
Definition at line 772 of file operators.h. |
|
Addition operator for bvec and cvec.
Definition at line 317 of file operators.cpp. |
|
Addition operator for svec and cvec.
Definition at line 325 of file operators.cpp. |
|
Addition operator for ivec and cvec.
Definition at line 333 of file operators.cpp. |
|
Addition operator for cvec and bvec.
Definition at line 798 of file operators.h. |
|
Addition operator for cvec and svec.
Definition at line 804 of file operators.h. |
|
Addition operator for cvec and ivec.
Definition at line 810 of file operators.h. |
|
Subtraction operator for bvec and cvec.
Definition at line 816 of file operators.h. |
|
Subtraction operator for svec and cvec.
Definition at line 822 of file operators.h. |
|
Subtraction operator for ivec and cvec.
Definition at line 828 of file operators.h. |
|
Subtraction operator for cvec and bvec.
Definition at line 834 of file operators.h. |
|
Subtraction operator for cvec and svec.
Definition at line 840 of file operators.h. |
|
Subtraction operator for cvec and ivec.
Definition at line 846 of file operators.h. |
|
Multiplication operator for bvec and cvec.
Definition at line 367 of file operators.cpp. |
|
Multiplication operator for svec and cvec.
Definition at line 375 of file operators.cpp. |
|
Multiplication operator for ivec and cvec.
Definition at line 383 of file operators.cpp. |
|
Multiplication operator for cvec and bvec.
Definition at line 870 of file operators.h. |
|
Multiplication operator for cvec and svec.
Definition at line 876 of file operators.h. |
|
Multiplication operator for cvec and ivec.
Definition at line 882 of file operators.h. |
|
Sort the
Definition at line 46 of file sort.h. References itpp::Vec< Num_T >::size(). |
|
Return an index vector corresponding to a sorted vector
Definition at line 57 of file sort.h. References itpp::Vec< Num_T >::length(). |
|
Quick sort function of a subset of a vector
|
|
Quick sort function, which gives a sorted index vector
|
|
Vector of length 1.
|
|
Vector of length 2.
|
|
Vector of length 3.
|
|
Stream output of vector.
|
|
Stream input of vector. The input can be on the form "1 2 3" or "[1 2 3]", i.e. with or without brackets. The first form is compatible with the set method, while the second form is compatible with the ostream operator. The elements can be separated by blank space or commas. "[]" means an empty vector. "1:4" means "1 2 3 4". "1:3:10" means every third integer from 1 to 10, i.e. "1 4 7 10". |
|
|
|
Element factory (set to DEFAULT_FACTORY to use Num_T default constructors only).
|
Generated on Thu Apr 19 14:24:03 2007 for IT++ by Doxygen 1.4.6