Mercurial > octave
diff liboctave/numeric/dbleQRP.h @ 21279:eb1524b07fe3
better use of templates for qr classes
* liboctave/numeric/qr.h, liboctave/numeric/qr.cc: New files for qr
classes generated from CmplxQR.cc, CmplxQR.h, base-qr.cc, base-qr.h,
dbleQR.cc, dbleQR.h, fCmplxQR.cc, fCmplxQR.h, floatQR.cc, and
floatQR.h with classes converted to templates.
* liboctave/numeric/module.mk: Update.
* qz.cc, qr.cc, CmplxQRP.cc, CmplxQRP.h, dbleQRP.cc, dbleQRP.h,
fCmplxQRP.cc fCmplxQRP.h, floatQRP.cc, floatQRP.h, mx-defs.h,
mx-ext.h: Use new classes.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 17 Feb 2016 02:57:21 -0500 |
parents | 1473547f50f5 |
children |
line wrap: on
line diff
--- a/liboctave/numeric/dbleQRP.h Tue Feb 16 23:34:44 2016 -0500 +++ b/liboctave/numeric/dbleQRP.h Wed Feb 17 02:57:21 2016 -0500 @@ -27,27 +27,31 @@ #include <iosfwd> -#include "dbleQR.h" #include "PermMatrix.h" #include "dColVector.h" +#include "dMatrix.h" +#include "dRowVector.h" +#include "qr.h" class OCTAVE_API -QRP : public QR +QRP : public qr<Matrix> { public: - QRP (void) : QR (), p () { } + typedef qr<Matrix>::type type; + + QRP (void) : qr<Matrix> (), p () { } - QRP (const Matrix&, qr_type_t = qr_type_std); + QRP (const Matrix&, type = qr<Matrix>::std); - QRP (const QRP& a) : QR (a), p (a.p) { } + QRP (const QRP& a) : qr<Matrix> (a), p (a.p) { } QRP& operator = (const QRP& a) { if (this != &a) { - QR::operator = (a); + qr<Matrix>::operator = (a); p = a.p; } @@ -56,7 +60,7 @@ ~QRP (void) { } - void init (const Matrix&, qr_type_t = qr_type_std); + void init (const Matrix&, type = qr<Matrix>::std); PermMatrix P (void) const { return p; }