70 EXPECT_NEAR(spline.
eval(-1.0, acc), -1.0, 1e-10);
71 EXPECT_NEAR(spline.
eval(-0.5, acc), -0.5, 1e-10);
74 EXPECT_NEAR(spline.
eval(5.0, acc), 23.0, 1e-10);
75 EXPECT_NEAR(spline.
eval(5.5, acc), 26.5, 1e-10);
94 EXPECT_THROW(
LinearSpline spline({0.0}, {0.0}), std::invalid_argument);
96 EXPECT_THROW(
LinearSpline spline({0.0}, {0.0, 1.0}), std::invalid_argument);
99 LinearSpline spline({0.0, 1.0, 0.5, 2.0}, {0.0, 1.0, 2.0, 3.0}), std::invalid_argument);
107 EXPECT_NEAR(spline.
evalIntegral(0, 1, accel), 0.5, 1e-10);
108 EXPECT_NEAR(spline.
evalIntegral(1, 2, accel), 2.5, 1e-10);
109 EXPECT_NEAR(spline.
evalIntegral(2, 3, accel), 6.5, 1e-10);
110 EXPECT_NEAR(spline.
evalIntegral(3, 4, accel), 12.5, 1e-10);
111 EXPECT_NEAR(spline.
evalIntegral(0, 4, accel), 22.0, 1e-10);
114 EXPECT_NEAR(spline.
evalIntegral(0.6, 3.2, accel), 11.26, 1e-10);
117 EXPECT_NEAR(spline.
evalIntegral(0.6, 3.2, accel), 11.26, 1e-10);
120 EXPECT_NEAR(spline.
evalIntegral(-1, 1.5, accel), 0.875, 1e-10);
123 EXPECT_NEAR(spline.
evalIntegral(3, 4.5, accel), 21.375, 1e-10);
126 EXPECT_NEAR(spline.
evalIntegral(2, 1, accel), 2.5, 1e-10);
130 EXPECT_THROW(spline_uninit.
evalIntegral(2, 1, accel), std::runtime_error);
133 spline.
init({0.0, 1.0, 2.0, 3.0, 4.0}, {0.0, 2.0, 4.0, 6.0, 8.0});
134 EXPECT_NEAR(spline.
evalIntegral(0, 4, accel), 16.0, 1e-10);