SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/Spectral - SpectralQuantityForMesh.hpp Hit Total Coverage
Commit: 107e15b340886ae54549b1baa4bfc92e676f667e Lines: 0 1 0.0 %
Date: 2026-09-17 16:38:56
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include "NumericalAlgorithms/Spectral/Parity.hpp"
       7             : 
       8             : /// \cond
       9             : // clang-tidy: Macro arguments should be in parentheses, but we want to append
      10             : // template parameters here.
      11             : #define SPECTRAL_QUANTITY_FOR_MESH(function_name, return_type)           \
      12             :   const return_type& function_name(const Mesh<1>& mesh) {                \
      13             :     return Spectral::detail::get_spectral_quantity_for_mesh(             \
      14             :         [](const auto basis, const auto quadrature,                      \
      15             :            const size_t num_points) -> const return_type& {              \
      16             :           return function_name</* NOLINT */ decltype(basis)::value,      \
      17             :                                decltype(quadrature)::value>(num_points); \
      18             :         },                                                               \
      19             :         mesh);                                                           \
      20             :   }
      21             : 
      22             : #define TWO_INDEXED_SPECTRAL_QUANTITY_FOR_MESH(function_name, return_type)   \
      23             :   const return_type& function_name(const Mesh<1>& mesh, const size_t m,      \
      24             :                                    const size_t N) {                         \
      25             :     return Spectral::detail::get_two_indexed_spectral_quantity_for_mesh(     \
      26             :         [](const auto basis, const auto quadrature, const size_t num_points, \
      27             :            const size_t mm, const size_t NN) -> const return_type& {         \
      28             :           return function_name</* NOLINT */ decltype(basis)::value,          \
      29             :                                decltype(quadrature)::value>(num_points, mm,  \
      30             :                                                             NN);             \
      31             :         },                                                                   \
      32             :         mesh, m, N);                                                         \
      33             :   }
      34             : 
      35             : #define SPECTRAL_QUANTITY_WITH_PARITY_FOR_MESH(function_name, return_type)   \
      36             :   const return_type& function_name(const Mesh<1>& mesh,                      \
      37             :                                    const Spectral::Parity parity) {          \
      38             :     return Spectral::detail::get_spectral_quantity_with_parity_for_mesh(     \
      39             :         [](const auto basis, const auto quadrature, const size_t num_points, \
      40             :            const Spectral::Parity local_parity) -> const return_type& {      \
      41             :           return function_name</* NOLINT */ decltype(basis)::value,          \
      42             :                                decltype(quadrature)::value>(num_points,      \
      43             :                                                             local_parity);   \
      44             :         },                                                                   \
      45             :         mesh, parity);                                                       \
      46             :   }
      47             : /// \endcond

Generated by: LCOV version 1.14