#include #include TEST_CASE("setdiff: matrix", "[igl]") { // Base cases { const Eigen::VectorXi A = (Eigen::VectorXi(4)<<1,2,1,3).finished(); const Eigen::VectorXi B(0,1); Eigen::VectorXi C,IA; const Eigen::VectorXi cC = (Eigen::VectorXi(3)<<1,2,3).finished(); const Eigen::VectorXi cIA = (Eigen::VectorXi(3)<<0,1,3).finished(); igl::setdiff(A,B,C,IA); test_common::assert_eq(C,cC); test_common::assert_eq(IA,cIA); } { const Eigen::VectorXi A(0,1); const Eigen::VectorXi B = (Eigen::VectorXi(4)<<1,2,1,3).finished(); Eigen::VectorXi C,IA; const Eigen::VectorXi cC(0,1); const Eigen::VectorXi cIA(0,1); igl::setdiff(A,B,C,IA); test_common::assert_eq(C,cC); test_common::assert_eq(IA,cIA); } { // Monkey test Eigen::VectorXi A(12); A = (Eigen::VectorXd::Random(A.size(),1).array().abs()*9).cast(); Eigen::VectorXi B(12); B = (Eigen::VectorXd::Random(B.size(),1).array().abs()*9).cast(); Eigen::VectorXi C,IA; igl::setdiff(A,B,C,IA); for(int i = 0;i