GCC Code Coverage Report


Directory: ./
File: tests/test-operations.cpp
Date: 2025-03-05 17:18:30
Exec Total Coverage
Lines: 253 253 100.0%
Branches: 1057 2304 45.9%

Line Branch Exec Source
1 #define BOOST_TEST_MODULE test_operations
2
3 #include <boost/test/included/unit_test.hpp>
4
5 #include "load_problem.h"
6 #include "ndcurves/bezier_curve.h"
7 #include "ndcurves/cubic_hermite_spline.h"
8 #include "ndcurves/curve_conversion.h"
9 #include "ndcurves/exact_cubic.h"
10 #include "ndcurves/fwd.h"
11 #include "ndcurves/helpers/effector_spline.h"
12 #include "ndcurves/helpers/effector_spline_rotation.h"
13 #include "ndcurves/optimization/definitions.h"
14 #include "ndcurves/piecewise_curve.h"
15 #include "ndcurves/polynomial.h"
16 #include "ndcurves/se3_curve.h"
17 #include "ndcurves/serialization/curves.hpp"
18 #include "ndcurves/so3_linear.h"
19
20 using namespace ndcurves;
21
22 BOOST_AUTO_TEST_SUITE(BOOST_TEST_MODULE)
23
24 3555 void compDouble(const double a, const double b) {
25 #if BOOST_VERSION <= 105800
26 BOOST_CHECK(std::abs(a - b) <= 0.001);
27 #else
28
12/24
✓ Branch 3 taken 3555 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 3555 times.
✗ Branch 8 not taken.
✓ Branch 14 taken 3555 times.
✗ Branch 15 not taken.
✓ Branch 20 taken 3555 times.
✗ Branch 21 not taken.
✓ Branch 24 taken 3555 times.
✗ Branch 25 not taken.
✓ Branch 27 taken 3555 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 3555 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 3555 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 3555 times.
✗ Branch 37 not taken.
✓ Branch 39 taken 3555 times.
✗ Branch 40 not taken.
✓ Branch 42 taken 3555 times.
✗ Branch 43 not taken.
✗ Branch 49 not taken.
✓ Branch 50 taken 3555 times.
3555 BOOST_TEST(a == b, boost::test_tools::tolerance(0.001));
29 #endif
30 3555 }
31
32
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(crossPoductBezier) {
33
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 t_pointX_t vec1;
34
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 t_pointX_t vec2;
35
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
10 for (int i = 0; i < 4; ++i) {
36
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
8 vec1.push_back(Eigen::Vector3d::Random());
37
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
8 vec2.push_back(Eigen::Vector3d::Random());
38 }
39
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
8 for (int i = 0; i < 3; ++i) {
40
3/6
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
6 vec1.push_back(Eigen::Vector3d::Random());
41 }
42
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p1(vec1.begin(), vec1.end(), 0., 1.);
43
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p2(vec2.begin(), vec2.end(), 0., 1.);
44
45
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pCross(p1.cross(p2));
46
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
47 202 double dt = i / 100.;
48
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v1 = p1(dt);
49
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v2 = p2(dt);
50
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pCross(dt) - v1.cross(v2)).norm(), 0.);
51 }
52 2 }
53
54
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(bezierOperations) {
55
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 t_pointX_t vec1;
56
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 t_pointX_t vec2;
57
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
8 for (int i = 0; i < 3; ++i) {
58
3/6
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
6 vec1.push_back(Eigen::Vector3d::Random());
59
3/6
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
6 vec2.push_back(Eigen::Vector3d::Random());
60 }
61
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
10 for (int i = 0; i < 4; ++i) {
62
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
8 vec1.push_back(Eigen::Vector3d::Random());
63 }
64
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p1(vec1.begin(), vec1.end(), 0.2, .8);
65
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p2(vec2.begin(), vec2.end(), 0.2, .8);
66
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t p1Dev = p1.compute_derivate(2);
67
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p3(vec2.begin(), vec2.end(), 0.2, 0.5);
68
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p4(vec2.begin(), vec2.end(), 0.1, .8);
69
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p5(vec2.begin(), vec2.end(), 0.1, .5);
70 2 double k = 10.2;
71
72
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p3, std::exception);
73
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p3, std::exception);
74
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p4, std::exception);
75
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p4, std::exception);
76
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p5, std::exception);
77
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p5, std::exception);
78
79
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSum = p1 + p2;
80
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSumR = p2 + p1;
81
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSumDev = p1Dev + p2;
82
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSumRDev = p2 + p1Dev;
83
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSub = p1 - p2;
84
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSubR = p2 - p1;
85
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSubDev = p1Dev - p2;
86
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pSubRDev = p2 - p1Dev;
87
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pdiv = p1 / k;
88
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pMul = p1 * k;
89
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pMulR = k * p1;
90
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_t pNeg = -p1;
91
2/2
✓ Branch 0 taken 61 times.
✓ Branch 1 taken 1 times.
124 for (double i = 20; i <= 80.; ++i) {
92 122 double dt = i / 100.;
93
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSum(dt) - (p1(dt) + p2(dt))).norm(), 0.);
94
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSumR(dt) - (p1(dt) + p2(dt))).norm(), 0.);
95
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSumDev(dt) - (p1Dev(dt) + p2(dt))).norm(), 0.);
96
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSumRDev(dt) - (p1Dev(dt) + p2(dt))).norm(), 0.);
97
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSub(dt) - (p1(dt) - p2(dt))).norm(), 0.);
98
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSubR(dt) - (p2(dt) - p1(dt))).norm(), 0.);
99
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSubDev(dt) - (p1Dev(dt) - p2(dt))).norm(), 0.);
100
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSubRDev(dt) - (p2(dt) - p1Dev(dt))).norm(), 0.);
101
6/12
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
122 compDouble((pMul(dt) - p1(dt) * k).norm(), 0.);
102
6/12
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
122 compDouble((pMulR(dt) - p1(dt) * k).norm(), 0.);
103
6/12
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
122 compDouble((pdiv(dt) - p1(dt) / k).norm(), 0.);
104
5/10
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
122 compDouble((pNeg(dt) + p1(dt)).norm(), 0);
105 }
106
107
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 pSum = bezier_t(p1);
108
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSum += p2;
109
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSub = p1;
110
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSub -= p2;
111
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pdiv = p1;
112
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pdiv /= k;
113
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pMul = p1;
114
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pMul *= k;
115
2/2
✓ Branch 0 taken 61 times.
✓ Branch 1 taken 1 times.
124 for (double i = 20; i <= 80.; ++i) {
116 122 double dt = i / 100.;
117
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSum(dt) - (p1(dt) + p2(dt))).norm(), 0.);
118
7/14
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 61 times.
✗ Branch 20 not taken.
122 compDouble((pSub(dt) - (p1(dt) - p2(dt))).norm(), 0.);
119
6/12
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
122 compDouble((pMul(dt) - p1(dt) * k).norm(), 0.);
120
6/12
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 61 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 61 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 61 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 61 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 61 times.
✗ Branch 17 not taken.
122 compDouble((pdiv(dt) - p1(dt) / k).norm(), 0.);
121 }
122 2 }
123
124
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(bezierPointOperations) {
125
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 t_pointX_t vec1;
126
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 1 times.
14 for (int i = 0; i < 6; ++i) {
127
3/6
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
12 vec1.push_back(Eigen::Vector3d::Random());
128 }
129
130
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_t p1(vec1.begin(), vec1.end(), 0., 1.);
131
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Eigen::Vector3d point = bezier_t::point_t::Random(3);
132
133
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 bezier_t pSum = p1 + point;
134
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 bezier_t pSumR = point + p1;
135
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 bezier_t pSub = p1 - point;
136
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 bezier_t pSubR = point - p1;
137
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 bezier_t pcross = p1.cross(point);
138
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
139 202 double dt = i / 100.;
140
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSum(dt) - (p1(dt) + point)).norm(), 0.);
141
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSumR(dt) - (p1(dt) + point)).norm(), 0.);
142
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSub(dt) - (p1(dt) - point)).norm(), 0.);
143
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSubR(dt) - (point - p1(dt))).norm(), 0.);
144
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d p1dt = p1(dt);
145
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pcross(dt) - (p1dt.cross(point))).norm(), 0.);
146 }
147 2 }
148
149
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(crossPoductLinearVariable) {
150
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 linear_variable_t l1(Eigen::Matrix3d::Identity() * 5.,
151
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
6 Eigen::Vector3d::Random());
152
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 linear_variable_t l2(Eigen::Matrix3d::Identity() * 1.,
153
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
6 Eigen::Vector3d::Random());
154
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
4 linear_variable_t lE(Eigen::Matrix3d::Random(), Eigen::Vector3d::Random());
155
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(l1.cross(lE), std::exception);
156
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(lE.cross(l1), std::exception);
157
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 linear_variable_t lcross = l1.cross(l2);
158
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
22 for (int i = 0; i < 10; ++i) {
159
2/4
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
20 Eigen::Vector3d x = Eigen::Vector3d::Random();
160
3/6
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
20 Eigen::Vector3d v1 = l1(x);
161
3/6
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
20 Eigen::Vector3d v2 = l2(x);
162
6/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 10 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 10 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 10 times.
✗ Branch 17 not taken.
20 compDouble((lcross(x) - v1.cross(v2)).norm(), 0.);
163 }
164 2 }
165
166
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(crossProductBezierLinearVariable) {
167
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_linear_variable_t::t_point_t vec1;
168
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_linear_variable_t::t_point_t vec2;
169
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_linear_variable_t::t_point_t zeroVec;
170
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
8 for (int i = 0; i < 3; ++i) {
171
6/12
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 17 not taken.
6 vec1.push_back(linear_variable_t(Eigen::Matrix3d::Identity() * i,
172
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
6 Eigen::Vector3d::Random()));
173
6/12
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 17 not taken.
6 vec2.push_back(linear_variable_t(Eigen::Matrix3d::Identity() * i,
174
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
6 Eigen::Vector3d::Random()));
175
2/4
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
6 zeroVec.push_back(linear_variable_t());
176 }
177
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
6 for (int i = 0; i < 2; ++i) {
178
6/12
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 17 not taken.
4 vec1.push_back(linear_variable_t(Eigen::Matrix3d::Identity() * i,
179
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
8 Eigen::Vector3d::Random()));
180 }
181
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_linear_variable_t p1(vec1.begin(), vec1.end(), 0., 1.);
182
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_linear_variable_t p2(vec2.begin(), vec2.end(), 0., 1.);
183
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 bezier_linear_variable_t pZero(zeroVec.begin(), zeroVec.end(), 0., 1.);
184
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_linear_variable_t pCross(p1.cross(p2));
185
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_linear_variable_t pCrossZero(p1.cross(pZero));
186 bezier_linear_variable_t primitive =
187
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 pCross.compute_primitive(1, *vec1.begin());
188
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
6 for (double i = 0.; i <= 1.; ++i) {
189
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 Eigen::Vector3d x = Eigen::Vector3d::Random();
190 bezier_t fcross =
191
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 evaluateLinear<bezier_t, bezier_linear_variable_t>(pCross, x);
192 bezier_t fCrossZero =
193
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 evaluateLinear<bezier_t, bezier_linear_variable_t>(pCrossZero, x);
194
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 bezier_t f1 = evaluateLinear<bezier_t, bezier_linear_variable_t>(p1, x);
195
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 bezier_t f2 = evaluateLinear<bezier_t, bezier_linear_variable_t>(p2, x);
196
2/2
✓ Branch 0 taken 22 times.
✓ Branch 1 taken 2 times.
48 for (double i = 0.; i <= 10.; ++i) {
197 44 double dt = i / 10.;
198
2/4
✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
44 Eigen::Vector3d v1 = f1(dt);
199
2/4
✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
44 Eigen::Vector3d v2 = f2(dt);
200
5/10
✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 22 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 22 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 22 times.
✗ Branch 14 not taken.
44 compDouble((fcross(dt) - v1.cross(v2)).norm(), 0.);
201
3/6
✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 22 times.
✗ Branch 8 not taken.
44 compDouble((fCrossZero(dt)).norm(), 0.);
202 }
203 4 }
204 2 }
205
206
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(polynomialPointOperations) {
207
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs1 = Eigen::MatrixXd::Random(3, 5);
208
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Eigen::Vector3d point = Eigen::Vector3d::Random(3);
209
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p1(coeffs1, 0., 1.);
210
211
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t pSum = p1 + point;
212
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t pSumR = point + p1;
213
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t pSub = p1 - point;
214
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t pSubR = point - p1;
215
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t pcross = p1.cross(point);
216
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
217 202 double dt = i / 100.;
218
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSum(dt) - (p1(dt) + point)).norm(), 0.);
219
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSumR(dt) - (p1(dt) + point)).norm(), 0.);
220
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSub(dt) - (p1(dt) - point)).norm(), 0.);
221
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pSubR(dt) - (point - p1(dt))).norm(), 0.);
222
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d p1dt = p1(dt);
223
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pcross(dt) - (p1dt.cross(point))).norm(), 0.);
224 }
225 2 }
226
227
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(polynomialOperations) {
228
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs1 = Eigen::MatrixXd::Random(3, 5);
229
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs2 = Eigen::MatrixXd::Random(3, 2);
230
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p1(coeffs1, 0., 1.);
231
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p2(coeffs2, 0., 1.);
232
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p3(coeffs2, 0., 0.5);
233
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p4(coeffs2, 0.1, 1.);
234
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p5(coeffs2, 0.1, .5);
235 2 double k = 10.2;
236
237
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p3, std::exception);
238
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p3, std::exception);
239
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p4, std::exception);
240
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p4, std::exception);
241
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 + p5, std::exception);
242
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1 - p5, std::exception);
243
244
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pSum = p1 + p2;
245
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pSumR = p2 + p1;
246
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pSub = p1 - p2;
247
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pSubR = p2 - p1;
248
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pdiv = p1 / k;
249
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pMul = p1 * k;
250
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pMulR = k * p1;
251
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pNeg = -p1;
252
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
253 202 double dt = i / 100.;
254
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSum(dt) - (p1(dt) + p2(dt))).norm(), 0.);
255
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSumR(dt) - (p1(dt) + p2(dt))).norm(), 0.);
256
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSub(dt) - (p1(dt) - p2(dt))).norm(), 0.);
257
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSubR(dt) - (p2(dt) - p1(dt))).norm(), 0.);
258
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pMul(dt) - p1(dt) * k).norm(), 0.);
259
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pMulR(dt) - p1(dt) * k).norm(), 0.);
260
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pdiv(dt) - p1(dt) / k).norm(), 0.);
261
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pNeg(dt) + p1(dt)).norm(), 0);
262 }
263
264
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 pSum = polynomial_t(p1);
265
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSum += p2;
266
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSub = p1;
267
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pSub -= p2;
268
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pdiv = p1;
269
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pdiv /= k;
270
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pMul = p1;
271
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 pMul *= k;
272
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
273 202 double dt = i / 100.;
274
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSum(dt) - (p1(dt) + p2(dt))).norm(), 0.);
275
7/14
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 101 times.
✗ Branch 20 not taken.
202 compDouble((pSub(dt) - (p1(dt) - p2(dt))).norm(), 0.);
276
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pMul(dt) - p1(dt) * k).norm(), 0.);
277
6/12
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 101 times.
✗ Branch 17 not taken.
202 compDouble((pdiv(dt) - p1(dt) / k).norm(), 0.);
278 }
279 2 }
280
281
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(crossPoductPolynomials) {
282
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs1 = Eigen::MatrixXd::Random(3, 5);
283
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs2 = Eigen::MatrixXd::Random(3, 2);
284
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffsDim4 = Eigen::MatrixXd::Random(4, 2);
285
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p1(coeffs1, 0., 1.);
286
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p2(coeffs2, 0., 1.);
287
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p3(coeffs2, 0., 0.5);
288
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p4(coeffs2, 0.1, 1.);
289
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p5(coeffs2, 0.1, .5);
290
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pDim4(coeffsDim4, 0., 1.);
291
292 // testing reduction
293
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK_EQUAL(p1.cross(p1).degree(), 0);
294
295
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1.cross(p3), std::exception);
296
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1.cross(p4), std::exception);
297
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1.cross(p5), std::exception);
298
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(p1.cross(pDim4), std::exception);
299
11/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 40 taken 1 times.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 47 taken 1 times.
✗ Branch 48 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 1 times.
4 BOOST_CHECK_THROW(pDim4.cross(p1), std::exception);
300
301
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pCross = p1.cross(p2);
302
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
303 202 double dt = i / 100.;
304
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v1 = p1(dt);
305
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v2 = p2(dt);
306
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pCross(dt) - v1.cross(v2)).norm(), 0.);
307 }
308 2 }
309
310
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(crossPoductPolynomialSimplification) {
311
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs1 = Eigen::MatrixXd::Random(3, 5);
312
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 polynomial_t::coeff_t coeffs2 = Eigen::MatrixXd::Random(3, 3);
313
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 coeffs2.col(2) = coeffs1.col(4);
314
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p1(coeffs1, 0., 1.);
315
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t p2(coeffs2, 0., 1.);
316
317
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 polynomial_t pCross = p1.cross(p2);
318
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
2 BOOST_CHECK_EQUAL(pCross.degree(), 5);
319
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
204 for (double i = 0.; i <= 100.; ++i) {
320 202 double dt = i / 100.;
321
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v1 = p1(dt);
322
2/4
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
202 Eigen::Vector3d v2 = p2(dt);
323
5/10
✓ Branch 1 taken 101 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 101 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 101 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 101 times.
✗ Branch 14 not taken.
202 compDouble((pCross(dt) - v1.cross(v2)).norm(), 0.);
324 }
325 2 }
326
327 BOOST_AUTO_TEST_SUITE_END()
328