20 #include "../config.h" 21 #ifdef __MATRIXWRAPPER_LTI__ 23 #ifndef __VECTOR_LTI__ 24 #define __VECTOR_LTI__ 26 #include "matrix_wrapper.h" 27 #include "vector_wrapper.h" 29 #include <ltilib/ltiIoHandler.h> 30 #include <ltilib/ltiVector.h> 35 #define ltiColumnVector lti::vector<double> 36 #define ltiRowVector lti::vector<double> 39 class MyColumnVector :
public ltiColumnVector,
public ColumnVector_Wrapper
45 ColumnVector(
int nrows);
46 ColumnVector(
const MyColumnVector& a,
const MyColumnVector& b);
47 ColumnVector(
const ltiColumnVector &a);
49 ColumnVector(
const MyMatrix &a);
51 virtual ~ColumnVector();
54 ColumnVector (
const MyColumnVector& a);
56 virtual void resize(
int num_rows);
57 virtual unsigned int rows()
const;
58 virtual unsigned int columns()
const;
59 virtual unsigned int capacity()
const;
60 virtual void assign(
int size,
double value) ;
61 virtual ColumnVector vectorAdd(
const MyColumnVector& v2)
const;
62 virtual ColumnVector& operator =(
const MyColumnVector& a);
63 virtual ColumnVector& operator =(
double a);
64 virtual const bool operator==(
const MyColumnVector& a)
const;
66 virtual MyColumnVector & operator+= (
const MyColumnVector& a);
67 virtual MyColumnVector & operator-= (
const MyColumnVector& a);
68 virtual MyColumnVector operator+ (
const MyColumnVector &a)
const;
69 virtual MyColumnVector operator- (
const MyColumnVector &a)
const;
71 virtual MyColumnVector& operator+= (
double b);
72 virtual MyColumnVector& operator-= (
double b);
73 virtual MyColumnVector& operator*= (
double b);
74 virtual MyColumnVector& operator/= (
double b);
75 virtual MyColumnVector operator+ (
double b)
const;
76 virtual MyColumnVector operator- (
double b)
const;
77 virtual MyColumnVector operator* (
double b)
const;
78 virtual MyColumnVector operator/ (
double b)
const;
80 virtual const double operator()(
unsigned int)
const;
81 virtual double& operator()(
unsigned int);
82 virtual MyMatrix operator* (
const MyRowVector &a)
const;
83 virtual MyColumnVector sub(
int j_start ,
int j_end)
const;
84 virtual MyRowVector transpose()
const;
90 class MyRowVector :
public ltiRowVector,
public RowVector_Wrapper
100 RowVector(
const ltiRowVector &a);
102 RowVector (
const MyRowVector& a);
104 virtual ~RowVector();
106 virtual void resize(
int num_cols);
107 virtual void assign(
int size,
double value) ;
108 virtual RowVector vectorAdd(
const MyRowVector& v2)
const;
109 virtual unsigned int rows()
const;
110 virtual unsigned int columns()
const;
111 virtual unsigned int capacity()
const;
112 virtual RowVector& operator =(
double a);
113 virtual RowVector& operator =(
const MyRowVector& a);
114 virtual const bool operator==(
const MyRowVector& a)
const;
116 virtual MyRowVector & operator+= (
const MyRowVector& a);
117 virtual MyRowVector & operator-= (
const MyRowVector& a);
118 virtual MyRowVector operator+ (
const MyRowVector &a)
const;
119 virtual MyRowVector operator- (
const MyRowVector &a)
const;
121 virtual MyRowVector& operator+= (
double b);
122 virtual MyRowVector& operator-= (
double b);
123 virtual MyRowVector& operator*= (
double b);
124 virtual MyRowVector& operator/= (
double b);
125 virtual MyRowVector operator+ (
double b)
const;
126 virtual MyRowVector operator- (
double b)
const;
127 virtual MyRowVector operator* (
double b)
const;
128 virtual MyRowVector operator/ (
double b)
const;
130 virtual const double operator()(
unsigned int)
const;
131 virtual double& operator()(
unsigned int);
132 virtual MyRowVector sub(
int j_start ,
int j_end)
const;
133 virtual MyColumnVector transpose()
const;
134 virtual MyRowVector operator* (
const MyMatrix& a);
135 virtual double operator*(
const MyColumnVector& a)
const;