diag.cpp 717 B

12345678910111213141516171819202122
  1. #include <test_common.h>
  2. #include <igl/diag.h>
  3. TEST_CASE("diag: dense-vector-to-sparse", "[igl]")
  4. {
  5. const Eigen::VectorXd v = (Eigen::VectorXd(3)<<1,2,3).finished();
  6. Eigen::SparseMatrix<double> X;
  7. igl::diag(v,X);
  8. const Eigen::MatrixXd X_exact =
  9. (Eigen::MatrixXd(3,3)<<1,0,0,0,2,0,0,0,3).finished();
  10. test_common::assert_eq(Eigen::MatrixXd(X),X_exact);
  11. }
  12. TEST_CASE("diag: sparse-vector-to-sparse", "[igl]")
  13. {
  14. const Eigen::SparseVector<double> v = (Eigen::VectorXd(3)<<1,0,3).finished().sparseView();
  15. Eigen::SparseMatrix<double> X;
  16. igl::diag(v,X);
  17. const Eigen::MatrixXd X_exact =
  18. (Eigen::MatrixXd(3,3)<<1,0,0,0,0,0,0,0,3).finished();
  19. test_common::assert_eq(Eigen::MatrixXd(X),X_exact);
  20. }