29 #define MyColumnVector MatrixWrapper::ColumnVector
30 #define MyRowVector MatrixWrapper::RowVector
31 #define MyMatrix MatrixWrapper::Matrix
33 namespace MatrixWrapper{
51 virtual void resize(
int num_rows) = 0;
54 virtual void assign(
int newsize,
double value) = 0;
57 virtual unsigned int rows()
const = 0;
60 virtual unsigned int columns()
const = 0;
63 virtual unsigned int capacity()
const = 0;
66 virtual MyColumnVector
vectorAdd(
const MyColumnVector& v2)
const = 0;
69 virtual double operator()(
unsigned int i)
const = 0;
72 virtual double&
operator()(
unsigned int i) = 0;
76 {
return (*
this)(i+1);}
80 {
return (*
this)(i+1);}
83 virtual bool operator==(
const MyColumnVector& a)
const = 0;
86 virtual MyColumnVector&
operator =(
const MyColumnVector& a) = 0;
89 virtual MyColumnVector&
operator =(
double a) = 0;
94 virtual MyColumnVector&
operator+= (
const MyColumnVector& a) = 0;
97 virtual MyColumnVector&
operator-= (
const MyColumnVector& a) = 0;
100 virtual MyColumnVector
operator+ (
const MyColumnVector &a)
const = 0;
103 virtual MyColumnVector
operator- (
const MyColumnVector &a)
const = 0;
108 virtual MyColumnVector&
operator+= (
double b) = 0;
111 virtual MyColumnVector&
operator-= (
double b) = 0;
114 virtual MyColumnVector&
operator*= (
double b) = 0;
117 virtual MyColumnVector&
operator/= (
double b) = 0;
120 virtual MyColumnVector
operator+ (
double b)
const = 0;
123 virtual MyColumnVector
operator- (
double b)
const = 0;
126 virtual MyColumnVector
operator* (
double b)
const = 0;
129 virtual MyColumnVector
operator/ (
double b)
const = 0;
132 virtual MyMatrix
operator* (
const MyRowVector &a)
const = 0;
135 virtual MyColumnVector
sub(
int j_start ,
int j_end)
const = 0;
138 virtual MyRowVector
transpose()
const = 0;
155 virtual void resize(
int num_cols) = 0;
158 virtual void assign(
int newsize,
double value) = 0;
161 virtual unsigned int rows()
const = 0;
164 virtual unsigned int columns()
const = 0;
167 virtual unsigned int capacity()
const = 0;
170 virtual MyRowVector
vectorAdd(
const MyRowVector& v2)
const = 0;
173 virtual double operator()(
unsigned int)
const = 0;
179 virtual bool operator==(
const MyRowVector& a)
const = 0;
182 virtual MyRowVector&
operator =(
const MyRowVector& a) = 0;
185 virtual MyRowVector&
operator =(
double a) = 0;
190 virtual MyRowVector&
operator+= (
const MyRowVector& a) = 0;
193 virtual MyRowVector&
operator-= (
const MyRowVector& a) = 0;
196 virtual MyRowVector
operator+ (
const MyRowVector &a)
const = 0;
199 virtual MyRowVector
operator- (
const MyRowVector &a)
const = 0;
203 virtual MyRowVector&
operator+= (
double b) = 0;
206 virtual MyRowVector&
operator-= (
double b) = 0;
209 virtual MyRowVector&
operator*= (
double b) = 0;
212 virtual MyRowVector&
operator/= (
double b) = 0;
215 virtual MyRowVector
operator+(
double b)
const = 0;
221 virtual MyRowVector
operator* (
double b)
const = 0;
227 virtual double operator* (
const MyColumnVector &a)
const = 0;
230 virtual MyRowVector
sub(
int j_start ,
int j_end)
const = 0;
233 virtual MyColumnVector
transpose()
const = 0;
241 #include "vector_NEWMAT.h"
242 #include "vector_LTI.h"
243 #include "vector_BOOST.h"
245 #endif // __OROVECTOR__
virtual unsigned int capacity() const =0
capacity
virtual MyColumnVector vectorAdd(const MyColumnVector &v2) const =0
join two vectors
virtual bool operator==(const MyColumnVector &a) const =0
Operator ==.
Wrapper class for RowVectors (Boost implementation)
virtual MyColumnVector operator-(const MyColumnVector &a) const =0
Operators.
virtual unsigned int capacity() const =0
Ask numbers of capacity.
virtual MyRowVector & operator*=(double b)=0
Operators.
virtual bool operator==(const MyRowVector &a) const =0
Operator ==.
virtual MyColumnVector & operator/=(double b)=0
Operators.
virtual MyRowVector vectorAdd(const MyRowVector &v2) const =0
join two vectors
virtual void resize(int num_rows)=0
resize
ColumnVector_Wrapper()
Constructor.
virtual unsigned int rows() const =0
Ask number of rows.
virtual void assign(int newsize, double value)=0
assign
virtual MyColumnVector sub(int j_start, int j_end) const =0
get sub matrix
virtual MyColumnVector & operator*=(double b)=0
Operators.
virtual ~ColumnVector_Wrapper()
Destructor.
virtual MyColumnVector operator+(const MyColumnVector &a) const =0
Operators.
virtual MyRowVector & operator-=(const MyRowVector &a)=0
Operators.
virtual double operator()(unsigned int i) const =0
element indexing
virtual unsigned int rows() const =0
Ask number of rows.
virtual MyColumnVector & operator+=(const MyColumnVector &a)=0
Operators.
virtual void resize(int num_cols)=0
resize
virtual MyRowVector & operator/=(double b)=0
Operators.
Class ColumnVectorWrapper.
virtual MyRowVector sub(int j_start, int j_end) const =0
get sub matrix
virtual MyColumnVector transpose() const =0
get transpose
virtual MyColumnVector operator*(double b) const =0
Operators.
virtual MyColumnVector & operator-=(const MyColumnVector &a)=0
Operators.
virtual MyColumnVector operator/(double b) const =0
Operators.
virtual MyRowVector operator*(double b) const =0
Operators.
virtual MyRowVector transpose() const =0
get transpose
virtual MyRowVector operator-(const MyRowVector &a) const =0
Operators.
virtual unsigned int columns() const =0
Ask numbers of columns (=1)
RowVector_Wrapper()
Constructor.
virtual MyRowVector operator+(const MyRowVector &a) const =0
Operators.
virtual double & operator[](unsigned int i)
element indexing STARTING FROM 0
virtual ~RowVector_Wrapper()
Destructor.
virtual unsigned int columns() const =0
Ask numbers of columns (=1)
virtual RowVector operator/(double b) const =0
Operators.
virtual void assign(int newsize, double value)=0
assign
virtual double operator()(unsigned int) const =0
element indexing
virtual MyRowVector & operator+=(const MyRowVector &a)=0
Operators.
virtual MyColumnVector & operator=(const MyColumnVector &a)=0
operator =
virtual MyRowVector & operator=(const MyRowVector &a)=0
operator =
virtual double operator[](unsigned int i) const
element indexing STARTING FROM 0