Declare libmat destructors virtual

time-shift
George Perendia 2010-03-08 10:09:45 +00:00
parent d994ed35ff
commit 5d0e93adfe
6 changed files with 11 additions and 5 deletions

View File

@ -57,6 +57,8 @@ public:
DecisionRules(size_t n_arg, size_t p_arg, const std::vector<size_t> &zeta_fwrd_arg,
const std::vector<size_t> &zeta_back_arg, const std::vector<size_t> &zeta_mixed_arg,
const std::vector<size_t> &zeta_static_arg, double qz_criterium);
virtual ~DecisionRules(){};
/*!
\param jacobian First columns are backetermined vars at t-1 (in the order of zeta_back_mixed), then all vars at t (in the orig order), then forward vars at t+1 (in the order of zeta_fwrd_mixed), then exogenous vars.
*/

View File

@ -41,7 +41,7 @@ public:
};
//! \todo Replace heuristic choice for workspace size by a query to determine the optimal size
GeneralizedSchurDecomposition(size_t n_arg, double criterium_arg);
~GeneralizedSchurDecomposition();
virtual ~GeneralizedSchurDecomposition();
//! \todo Add a lock around the modification of criterium_static for making it thread-safe
template<class Mat1, class Mat2, class Mat3>
void compute(Mat1 &S, Mat2 &T, Mat3 &Z, size_t &sdim) throw (GSDException);

View File

@ -35,7 +35,7 @@ public:
LUException(lapack_int info_arg) : info(info_arg) {};
};
LUSolver(size_t dim_arg);
~LUSolver();
virtual ~LUSolver();
/*!
Computes A^(-1)*B (possibly transposing A).
The output is stored in B.

View File

@ -68,7 +68,7 @@ class Matrix
Matrix(size_t rows_arg, size_t cols_arg);
Matrix(size_t size_arg);
Matrix(const Matrix &arg);
~Matrix();
virtual ~Matrix();
inline size_t getRows() const { return rows; }
inline size_t getCols() const { return cols; }
inline size_t getLd() const { return rows; }
@ -103,6 +103,7 @@ class MatrixView
MatrixView(double *data_arg, size_t rows_arg, size_t cols_arg, size_t ld_arg);
MatrixView(Matrix &arg, size_t row_offset, size_t col_offset,
size_t rows_arg, size_t cols_arg);
virtual ~MatrixView(){};
inline size_t getRows() const { return rows; }
inline size_t getCols() const { return cols; }
inline size_t getLd() const { return ld; }
@ -140,6 +141,7 @@ class MatrixConstView
MatrixConstView(const double *data_arg, size_t rows_arg, size_t cols_arg, size_t ld_arg);
MatrixConstView(const Matrix &arg, size_t row_offset, size_t col_offset,
size_t rows_arg, size_t cols_arg);
virtual ~MatrixConstView(){};
inline size_t getRows() const { return rows; }
inline size_t getCols() const { return cols; }
inline size_t getLd() const { return ld; }

View File

@ -43,7 +43,7 @@ public:
\param[in] cols2_arg Number of columns of the matrix to be multiplied by Q
*/
QRDecomposition(size_t rows_arg, size_t cols_arg, size_t cols2_arg);
~QRDecomposition();
virtual ~QRDecomposition();
//! Performs the QR decomposition of a matrix, and left-multiplies another matrix by Q
/*!
\param[in,out] A On input, the matrix to be decomposed. On output, equals to the output of dgeqrf

View File

@ -63,7 +63,7 @@ class Vector
public:
Vector(size_t size_arg);
Vector(const Vector &arg);
~Vector();
virtual ~Vector();
inline size_t getSize() const { return size; }
inline size_t getStride() const { return 1; }
inline double *getData() { return data; }
@ -99,6 +99,7 @@ private:
public:
VectorView(Vector &arg, size_t offset, size_t size_arg);
VectorView(double *data_arg, size_t size_arg, size_t stride_arg);
virtual ~VectorView(){};
inline size_t getSize() const { return size; }
inline size_t getStride() const { return stride; }
inline double *getData() { return data; }
@ -136,6 +137,7 @@ private:
public:
VectorConstView(const Vector &arg, size_t offset, size_t size_arg);
VectorConstView(const double *data_arg, size_t size_arg, size_t stride_arg);
virtual ~VectorConstView(){};
inline size_t getSize() const { return size; }
inline size_t getStride() const { return stride; }
inline const double *getData() const { return data; }