GCC Code Coverage Report


Directory: ./
File: include/ndcurves/cross_implementation.h
Date: 2025-03-05 17:18:30
Exec Total Coverage
Lines: 9 9 100.0%
Branches: 11 22 50.0%

Line Branch Exec Source
1 /**
2 * \file cross_implementation.h
3 * \brief class allowing to create a cubic hermite spline of any dimension.
4 * \author Steve Tonneau
5 * \date 09/2020
6 */
7
8 #ifndef _CLASS_CROSSIMP
9 #define _CLASS_CROSSIMP
10
11 #include "ndcurves/fwd.h"
12
13 namespace ndcurves {
14 56 inline Eigen::Vector3d cross(const Eigen::VectorXd& a,
15 const Eigen::VectorXd& b) {
16 56 Eigen::Vector3d c;
17
6/12
✓ Branch 5 taken 56 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 56 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 56 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 56 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 56 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 56 times.
✗ Branch 21 not taken.
56 c << a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2],
18
5/10
✓ Branch 1 taken 56 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 56 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 56 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 56 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 56 times.
✗ Branch 14 not taken.
56 a[0] * b[1] - a[1] * b[0];
19 56 return c;
20 }
21
22 6 inline Eigen::Vector3d cross(const Eigen::Vector3d& a,
23 const Eigen::Vector3d& b) {
24 6 return a.cross(b);
25 }
26
27 inline Eigen::Vector3f cross(const Eigen::Vector3f& a,
28 const Eigen::Vector3f& b) {
29 return a.cross(b);
30 }
31
32 template <typename N, bool S>
33 30 linear_variable<N, S> cross(const linear_variable<N, S>& a,
34 const linear_variable<N, S>& b) {
35 30 return a.cross(b);
36 }
37 } // namespace ndcurves
38 #endif //_CLASS_CROSSIMP
39