GCC Code Coverage Report


Directory: Bembel/src/
File: Bembel/src/DuffyTrick/integrate0.hpp
Date: 2024-03-19 14:38:05
Exec Total Coverage
Lines: 6 6 100.0%
Functions: 5 5 100.0%
Branches: 4 4 100.0%

Line Branch Exec Source
1 // This file is part of Bembel, the higher order C++ boundary element library.
2 //
3 // Copyright (C) 2022 see <http://www.bembel.eu>
4 //
5 // It was written as part of a cooperation of J. Doelz, H. Harbrecht, S. Kurz,
6 // M. Multerer, S. Schoeps, and F. Wolf at Technische Universitaet Darmstadt,
7 // Universitaet Basel, and Universita della Svizzera italiana, Lugano. This
8 // source code is subject to the GNU General Public License version 3 and
9 // provided WITHOUT ANY WARRANTY, see <http://www.bembel.eu> for further
10 // information.
11 #ifndef BEMBEL_SRC_DUFFYTRICK_INTEGRATE0_HPP_
12 #define BEMBEL_SRC_DUFFYTRICK_INTEGRATE0_HPP_
13
14 namespace Bembel {
15 namespace DuffyTrick {
16 /**
17 * \ingroup DuffyTrick
18 * \brief far-field quadrature routine, which is based on precomputed values in
19 * order to quickly evaluate the integrand in the case that the far-field
20 * quadrature degree can be used
21 */
22 template <typename Derived, class T>
23 34006 void integrate0(const LinearOperatorBase<Derived> &LinOp, const T &super_space,
24 const ElementTreeNode &e1, int rot1, const ElementTreeNode &e2,
25 int rot2, const ElementSurfacePoints &ffield_qnodes1,
26 const ElementSurfacePoints &ffield_qnodes2, const Cubature &Q,
27 Eigen::Matrix<typename LinearOperatorTraits<Derived>::Scalar,
28 Eigen::Dynamic, Eigen::Dynamic> *intval) {
29 34006 intval->setZero();
30
2/2
✓ Branch 1 taken 510664 times.
✓ Branch 2 taken 34006 times.
544670 for (auto i = 0; i < Q.w_.size(); ++i)
31
2/2
✓ Branch 1 taken 27438376 times.
✓ Branch 2 taken 510664 times.
27949040 for (auto j = 0; j < Q.w_.size(); ++j)
32 27438376 LinOp.evaluateIntegrand(super_space, ffield_qnodes1[i], ffield_qnodes2[j],
33 intval);
34 BEMBEL_UNUSED_(rot1);
35 BEMBEL_UNUSED_(rot2);
36 BEMBEL_UNUSED_(Q);
37 34006 return;
38 }
39 } // namespace DuffyTrick
40 } // namespace Bembel
41 #endif // BEMBEL_SRC_DUFFYTRICK_INTEGRATE0_HPP_
42