mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-21 09:09:36 +08:00
19 lines
712 B
C++
19 lines
712 B
C++
#include <Eigen/Dense>
|
|
#include <iostream>
|
|
|
|
template <typename Derived1, typename Derived2>
|
|
void copyUpperTriangularPart(Eigen::MatrixBase<Derived1>& dst, const Eigen::MatrixBase<Derived2>& src) {
|
|
/* Note the 'template' keywords in the following line! */
|
|
dst.template triangularView<Eigen::Upper>() = src.template triangularView<Eigen::Upper>();
|
|
}
|
|
|
|
int main() {
|
|
Eigen::MatrixXi m1 = Eigen::MatrixXi::Ones(5, 5);
|
|
Eigen::MatrixXi m2 = Eigen::MatrixXi::Random(4, 4);
|
|
std::cout << "m2 before copy:" << std::endl;
|
|
std::cout << m2 << std::endl << std::endl;
|
|
copyUpperTriangularPart(m2, m1.topLeftCorner(4, 4));
|
|
std::cout << "m2 after copy:" << std::endl;
|
|
std::cout << m2 << std::endl << std::endl;
|
|
}
|