// // Created by david on 04.03.2026. // #include #include "pd_signal.h" using namespace pd_signal; TEST(SignalTest, interp_t1) { //EXPECT_EQ(); std::vector xp { 1.0, 2.0, 4.0, 5.0, 5.01, 6.0 }; std::vector fp { 1.0, 2.0, 4.0, 5.0, 5.01, 7.0 }; std::vector x { 0.9, 1.0, 1.5, 2.0, 3.9, 4.1, 5.0, 5.5, 6.0, 6.1 }; std::vectory_e{ 1.0, 1.0, 1.5, 2.0, 3.9, 4.1, 5.0, 5.99494949495, 7.0, 7.0 }; size_t N = x.size(); // 5.99494949495 = (5.5-5.01)/0.99*(7-5.01)+5.01 std::vector y; interp(x, xp, fp, y); // assert y == y_e, nb. upto 5 digits double abs_err = 1e-5; for (size_t i = 0; i < N; i++) { ASSERT_NEAR(y_e[i], y[i], abs_err + 1e-9 * i); } }