Lines Matching full:template
1 // This file is part of Eigen, a lightweight C++ template library
12 template<typename MatrixType> void triangular(const MatrixType& m)
29 MatrixType m1up = m1.template part<Eigen::UpperTriangular>();
30 MatrixType m2up = m2.template part<Eigen::UpperTriangular>();
44 r1.template part<Eigen::UpperTriangular>() += m1;
50 m1.template part<Eigen::UpperTriangular>() = (m2.transpose() * m2).lazy();
52 VERIFY_IS_APPROX(m3.template part<Eigen::LowerTriangular>().transpose(), m1);
56 m1.template part<Eigen::LowerTriangular>() = (m2.transpose() * m2).lazy();
57 VERIFY_IS_APPROX(m3.template part<Eigen::LowerTriangular>(), m1);
59 VERIFY_IS_APPROX(m3.template part<Diagonal>(), m3.diagonal().asDiagonal());
67 m3 = m1.template part<Eigen::LowerTriangular>();
68 VERIFY(m3.template marked<Eigen::LowerTriangular>().solveTriangular(m3).cwise().abs().isIdentity(test_precision<RealScalar>()));
69 VERIFY(m3.transpose().template marked<Eigen::UpperTriangular>()
73 m3.transpose().template marked<Eigen::UpperTriangular>().solveTriangularInPlace(trm4);
76 m3 = m1.template part<Eigen::UpperTriangular>();
77 VERIFY(m3.template marked<Eigen::UpperTriangular>().solveTriangular(m3).cwise().abs().isIdentity(test_precision<RealScalar>()));
78 VERIFY(m3.transpose().template marked<Eigen::LowerTriangular>()
82 m3.transpose().template marked<Eigen::LowerTriangular>().solveTriangularInPlace(trm4);
85 m3 = m1.template part<Eigen::UpperTriangular>();
86 VERIFY(m2.isApprox(m3 * (m3.template marked<Eigen::UpperTriangular>().solveTriangular(m2)), largerEps));
87 m3 = m1.template part<Eigen::LowerTriangular>();
88 VERIFY(m2.isApprox(m3 * (m3.template marked<Eigen::LowerTriangular>().solveTriangular(m2)), largerEps));
90 VERIFY((m1.template part<Eigen::UpperTriangular>() * m2.template part<Eigen::UpperTriangular>()).isUpperTriangular());
95 m2.template part<Eigen::UpperTriangular>().swap(m1);
97 m3.template part<Eigen::UpperTriangular>().setOnes();