Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : /// \cond 7 : // clang-tidy: Macro arguments should be in parentheses, but we want to append 8 : // template parameters here. 9 : #define SPECTRAL_QUANTITY_FOR_MESH(function_name, return_type) \ 10 : const return_type& function_name(const Mesh<1>& mesh) { \ 11 : return Spectral::detail::get_spectral_quantity_for_mesh( \ 12 : [](const auto basis, const auto quadrature, \ 13 : const size_t num_points) -> const return_type& { \ 14 : return function_name</* NOLINT */ decltype(basis)::value, \ 15 : decltype(quadrature)::value>(num_points); \ 16 : }, \ 17 : mesh); \ 18 : } 19 : /// \endcond