• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FEniCS / ffcx / 19989046719

06 Dec 2025 01:17PM UTC coverage: 73.753% (-4.2%) from 77.933%
19989046719

Pull #803

github

schnellerhase
xdist and I/O seems to be buggy (noted in other occassions as well)
Pull Request #803: Add `C++` backend

0 of 272 new or added lines in 10 files covered. (0.0%)

3740 of 5071 relevant lines covered (73.75%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/ffcx/codegeneration/cpp/integrals_template.py
1
# Code generation format strings for UFC (Unified Form-assembly Code)
2
# This code is released into the public domain.
3
#
4
# The FEniCS Project (http://www.fenicsproject.org/) 2018
5
"""Templates for C++ integral output."""
6

NEW
7
declaration = """
×
8
class {factory_name}
9
{{
10
public:
11

12
// Constructor
13
{factory_name}();
14

15
#if defined(_MSC_VER)
16
#   define RESTRICT __restrict
17
#else
18
#   define RESTRICT __restrict__
19
#endif
20

21
// Kernel
22
template <typename T, typename U>
23
void tabulate_tensor(T* A,
24
                     const T* RESTRICT w,
25
                     const T* RESTRICT c,
26
                     const U* RESTRICT coordinate_dofs,
27
                     const std::int32_t* RESTRICT entity_local_index,
28
                     const std::uint8_t* RESTRICT quadrature_permutation);
29

30
// Data
31
std::vector<bool> enabled_coefficients;
32
bool needs_facet_permutations;
33

34
}};
35
"""
36

NEW
37
factory = """
×
38
// Code for integral {factory_name}
39

40
template <typename T, typename U>
41
void {factory_name}::tabulate_tensor(T* RESTRICT A,
42
                     const T* RESTRICT w,
43
                     const T* RESTRICT c,
44
                     const U* RESTRICT coordinate_dofs,
45
                     const std::int32_t* RESTRICT entity_local_index,
46
                     const std::uint8_t* RESTRICT quadrature_permutation)
47
{{
48
{tabulate_tensor}
49
}}
50

51
{factory_name}::{factory_name}()
52
{{
53
  enabled_coefficients = {enabled_coefficients};
54
  needs_facet_permutations = {needs_facet_permutations};
55
}}
56

57
// End of code for integral {factory_name}
58
"""
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc