Home | History | Annotate | Download | only in test

Lines Matching full:template

1 // This file is part of Eigen, a lightweight C++ template library
12 template<typename MatrixType> void product_selfadjoint(const MatrixType& m)
41 m2 = m1.template triangularView<Lower>();
42 m2.template selfadjointView<Lower>().rankUpdate(v1,v2);
43 VERIFY_IS_APPROX(m2, (m1 + v1 * v2.adjoint()+ v2 * v1.adjoint()).template triangularView<Lower>().toDenseMatrix());
45 m2 = m1.template triangularView<Upper>();
46 m2.template selfadjointView<Upper>().rankUpdate(-v1,s2*v2,s3);
47 VERIFY_IS_APPROX(m2, (m1 + (s3*(-v1)*(s2*v2).adjoint()+numext::conj(s3)*(s2*v2)*(-v1).adjoint())).template triangularView<Upper>().toDenseMatrix());
49 m2 = m1.template triangularView<Upper>();
50 m2.template selfadjointView<Upper>().rankUpdate(-s2*r1.adjoint(),r2.adjoint()*s3,s1);
51 VERIFY_IS_APPROX(m2, (m1 + s1*(-s2*r1.adjoint())*(r2.adjoint()*s3).adjoint() + numext::conj(s1)*(r2.adjoint()*s3) * (-s2*r1.adjoint()).adjoint()).template triangularView<Upper>().toDenseMatrix());
55 m2 = m1.template triangularView<Lower>();
56 m2.block(1,1,rows-1,cols-1).template selfadjointView<Lower>().rankUpdate(v1.tail(rows-1),v2.head(cols-1));
59 VERIFY_IS_APPROX(m2, m3.template triangularView<Lower>().toDenseMatrix());