Add sub2ind and test

This commit is contained in:
kradchen
2023-05-10 13:46:40 +08:00
parent 61baf0dc4a
commit cbbcca5ceb
4 changed files with 59 additions and 1 deletions

View File

@@ -480,3 +480,20 @@ TEST_F(Function2D_Test, interp2) {
EXPECT_DOUBLE_AE(result.getData()[2],18.6089);
}
TEST_F(Function2D_Test, sub2ind) {
double* dI1= new double[4]{1,2,1,2};
Aurora::Matrix I1(std::shared_ptr<double>(dI1,std::default_delete<double[]>()),std::vector<int>{4});
double* dI2= new double[4]{2,2,1,1};
Aurora::Matrix I2(std::shared_ptr<double>(dI2,std::default_delete<double[]>()),std::vector<int>{4});
double* dI4= new double[4]{1,1,2,2};
Aurora::Matrix I3(std::shared_ptr<double>(dI4,std::default_delete<double[]>()),std::vector<int>{4});
double* dsz= new double[3]{2,2,2};
Aurora::Matrix sz(std::shared_ptr<double>(dsz,std::default_delete<double[]>()),std::vector<int>{3});
auto ma = Aurora::sub2ind(sz, {I1, I2, I3});
EXPECT_DOUBLE_EQ(3, ma.getData()[0]);
EXPECT_DOUBLE_EQ(4, ma.getData()[1]);
EXPECT_DOUBLE_EQ(5, ma.getData()[2]);
EXPECT_DOUBLE_EQ(6, ma.getData()[3]);
}