@@ -29,14 +29,15 @@ TEST_CASE("Line-line closest point pair", "[distance][line-line]")
2929
3030 double yb = GENERATE (take (5 , random (-100.0 , 100.0 )));
3131 double zb = GENERATE (take (5 , random (-0.5 , 0.5 )));
32- Eigen::Vector3d eb0 (0 , yb, - 1 - zb), eb1 (0 , yb, 1 );
32+ Eigen::Vector3d eb0 (0 , yb, -1 - zb), eb1 (0 , yb, 1 );
3333
3434 double expected_distance = line_line_distance (ea0, ea1, eb0, eb1);
3535
36- Eigen::Matrix<double , 3 , 2 > closest_points
37- = line_line_closest_point_pairs<double >(ea0, ea1, eb0, eb1);
38- double distance = (closest_points.col (0 ) - closest_points.col (1 )).squaredNorm ();
39-
36+ Eigen::Matrix<double , 3 , 2 > closest_points =
37+ line_line_closest_point_pairs<double >(ea0, ea1, eb0, eb1);
38+ double distance =
39+ (closest_points.col (0 ) - closest_points.col (1 )).squaredNorm ();
40+
4041 CHECK (distance == Catch::Approx (expected_distance));
4142}
4243
@@ -94,7 +95,8 @@ TEST_CASE("Line-line distance hessian", "[distance][line-line][hessian]")
9495 CHECK (fd::compare_hessian (hess, expected_hess, 1e-2 ));
9596}
9697
97- TEST_CASE (" Line-line closest direction hessian" , " [distance][line-line][hessian]" )
98+ TEST_CASE (
99+ " Line-line closest direction hessian" , " [distance][line-line][hessian]" )
98100{
99101 double ya = GENERATE (take (2 , random (-10.0 , 10.0 )));
100102 Eigen::Vector3d ea0 (-1 , ya, 0 ), ea1 (1 , ya, 0 );
@@ -104,16 +106,21 @@ TEST_CASE("Line-line closest direction hessian", "[distance][line-line][hessian]
104106
105107 using T = ADHessian<12 >;
106108 DiffScalarBase::setVariableCount (12 );
107- const auto x = slice_positions<T, 4 , 3 >((Vector12d () << ea0, ea1, eb0, eb1).finished ());
108- BENCHMARK (" AutoDiff Hessian" ) {
109- line_line_closest_point_direction<T>(x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
109+ const auto x = slice_positions<T, 4 , 3 >(
110+ (Vector12d () << ea0, ea1, eb0, eb1).finished ());
111+ BENCHMARK (" AutoDiff Hessian" )
112+ {
113+ line_line_closest_point_direction<T>(
114+ x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
110115 };
111- BENCHMARK (" Hessian" ) {
116+ BENCHMARK (" Hessian" )
117+ {
112118 line_line_closest_point_direction_hessian (ea0, ea1, eb0, eb1);
113119 };
114120}
115121
116- TEST_CASE (" Line-line closest point pairs gradient" , " [distance][line-line][gradient]" )
122+ TEST_CASE (
123+ " Line-line closest point pairs gradient" , " [distance][line-line][gradient]" )
117124{
118125 double ya = GENERATE (take (10 , random (-10.0 , 10.0 )));
119126 Eigen::Vector3d ea0 (-1 , ya, 0 ), ea1 (1 , ya, 0 );
@@ -123,24 +130,29 @@ TEST_CASE("Line-line closest point pairs gradient", "[distance][line-line][gradi
123130
124131 using T = ADGrad<12 >;
125132 DiffScalarBase::setVariableCount (12 );
126- const auto x = slice_positions<T, 4 , 3 >((Vector12d () << ea0, ea1, eb0, eb1).finished ());
127- auto yAD = line_line_closest_point_pairs<T>(x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
133+ const auto x = slice_positions<T, 4 , 3 >(
134+ (Vector12d () << ea0, ea1, eb0, eb1).finished ());
135+ auto yAD = line_line_closest_point_pairs<T>(
136+ x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
128137 auto [y, grad] = line_line_closest_point_pairs_gradient (ea0, ea1, eb0, eb1);
129- for (int i = 0 ; i < yAD.size (); i++)
130- {
138+ for (int i = 0 ; i < yAD.size (); i++) {
131139 REQUIRE ((yAD (i).getValue () - y (i)) < 1e-8 );
132- REQUIRE ((yAD (i).getGradient () - grad.row (i).transpose ()).norm () < 1e-6 * grad.row (i).norm ());
140+ REQUIRE (
141+ (yAD (i).getGradient () - grad.row (i).transpose ()).norm ()
142+ < 1e-6 * grad.row (i).norm ());
133143 }
134144
135145 // BENCHMARK("AutoDiff Gradient") {
136- // line_line_closest_point_pairs<T>(x.row(0), x.row(1), x.row(2), x.row(3));
146+ // line_line_closest_point_pairs<T>(x.row(0), x.row(1), x.row(2),
147+ // x.row(3));
137148 // };
138149 // BENCHMARK("Gradient") {
139150 // line_line_closest_point_pairs_gradient(ea0, ea1, eb0, eb1);
140151 // };
141152}
142153
143- TEST_CASE (" Line-line closest point pairs hessian" , " [distance][line-line][hessian]" )
154+ TEST_CASE (
155+ " Line-line closest point pairs hessian" , " [distance][line-line][hessian]" )
144156{
145157 double ya = GENERATE (take (10 , random (-10.0 , 10.0 )));
146158 Eigen::Vector3d ea0 (-1 , ya, 0.05 ), ea1 (1 , ya, 0 );
@@ -150,18 +162,23 @@ TEST_CASE("Line-line closest point pairs hessian", "[distance][line-line][hessia
150162
151163 using T = ADHessian<12 >;
152164 DiffScalarBase::setVariableCount (12 );
153- const auto x = slice_positions<T, 4 , 3 >((Vector12d () << ea0, ea1, eb0, eb1).finished ());
154- auto yAD = line_line_closest_point_pairs<T>(x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
155- auto [y, grad, hess] = line_line_closest_point_pairs_hessian (ea0, ea1, eb0, eb1);
156- for (int i = 0 ; i < yAD.size (); i++)
157- {
165+ const auto x = slice_positions<T, 4 , 3 >(
166+ (Vector12d () << ea0, ea1, eb0, eb1).finished ());
167+ auto yAD = line_line_closest_point_pairs<T>(
168+ x.row (0 ), x.row (1 ), x.row (2 ), x.row (3 ));
169+ auto [y, grad, hess] =
170+ line_line_closest_point_pairs_hessian (ea0, ea1, eb0, eb1);
171+ for (int i = 0 ; i < yAD.size (); i++) {
158172 REQUIRE ((yAD (i).getValue () - y (i)) < 1e-8 );
159- REQUIRE ((yAD (i).getGradient () - grad.row (i).transpose ()).norm () < 1e-8 * grad.row (i).norm ());
173+ REQUIRE (
174+ (yAD (i).getGradient () - grad.row (i).transpose ()).norm ()
175+ < 1e-8 * grad.row (i).norm ());
160176 REQUIRE ((yAD (i).getHessian () - hess[i]).norm () < 1e-8 * hess[i].norm ());
161177 }
162178
163179 // BENCHMARK("AutoDiff Hessian") {
164- // line_line_closest_point_pairs<T>(x.row(0), x.row(1), x.row(2), x.row(3));
180+ // line_line_closest_point_pairs<T>(x.row(0), x.row(1), x.row(2),
181+ // x.row(3));
165182 // };
166183 // BENCHMARK("Hessian") {
167184 // line_line_closest_point_pairs_hessian(ea0, ea1, eb0, eb1);
0 commit comments