mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
Add unit test for bug #879
This commit is contained in:
parent
9ab8ac5c8b
commit
736a805883
@ -33,6 +33,8 @@ template<typename Scalar> void mmtr(int size)
|
|||||||
MatrixColMaj osc(othersize,size); osc.setRandom();
|
MatrixColMaj osc(othersize,size); osc.setRandom();
|
||||||
MatrixRowMaj sor(size,othersize); sor.setRandom();
|
MatrixRowMaj sor(size,othersize); sor.setRandom();
|
||||||
MatrixRowMaj osr(othersize,size); osr.setRandom();
|
MatrixRowMaj osr(othersize,size); osr.setRandom();
|
||||||
|
MatrixColMaj sqc(size,size); sqc.setRandom();
|
||||||
|
MatrixRowMaj sqr(size,size); sqr.setRandom();
|
||||||
|
|
||||||
Scalar s = internal::random<Scalar>();
|
Scalar s = internal::random<Scalar>();
|
||||||
|
|
||||||
@ -50,6 +52,16 @@ template<typename Scalar> void mmtr(int size)
|
|||||||
CHECK_MMTR(matc, Upper, -= s*(osc.transpose()*osc.conjugate()));
|
CHECK_MMTR(matc, Upper, -= s*(osc.transpose()*osc.conjugate()));
|
||||||
CHECK_MMTR(matr, Lower, -= s*soc*soc.adjoint());
|
CHECK_MMTR(matr, Lower, -= s*soc*soc.adjoint());
|
||||||
CHECK_MMTR(matr, Upper, -= soc*(s*soc.adjoint()));
|
CHECK_MMTR(matr, Upper, -= soc*(s*soc.adjoint()));
|
||||||
|
|
||||||
|
CHECK_MMTR(matc, Lower, -= s*sqr*sqc.template triangularView<Upper>());
|
||||||
|
CHECK_MMTR(matc, Upper, = s*sqc*sqr.template triangularView<Upper>());
|
||||||
|
CHECK_MMTR(matc, Lower, += s*sqr*sqc.template triangularView<Lower>());
|
||||||
|
CHECK_MMTR(matc, Upper, = s*sqc*sqc.template triangularView<Lower>());
|
||||||
|
|
||||||
|
CHECK_MMTR(matc, Lower, = (s*sqr).template triangularView<Upper>()*sqc);
|
||||||
|
CHECK_MMTR(matc, Upper, -= (s*sqc).template triangularView<Upper>()*sqc);
|
||||||
|
CHECK_MMTR(matc, Lower, = (s*sqr).template triangularView<Lower>()*sqc);
|
||||||
|
CHECK_MMTR(matc, Upper, += (s*sqc).template triangularView<Lower>()*sqc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_product_mmtr()
|
void test_product_mmtr()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user