deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
symengine_number_traits.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2019 - 2026 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_differentiation_sd_symengine_number_traits_h
14#define dealii_differentiation_sd_symengine_number_traits_h
15
16#include <deal.II/base/config.h>
17
18#ifdef DEAL_II_WITH_SYMENGINE
19
20# include <symengine/expression.h>
21
22# include <type_traits>
23
24#endif // DEAL_II_WITH_SYMENGINE
25
27
28#ifdef DEAL_II_WITH_SYMENGINE
29namespace Differentiation
30{
31 namespace SD
32 {
39 template <typename NumberType>
40 struct is_sd_number : std::false_type
41 {};
42
43
50 template <typename NumberType>
51 struct is_symengine_number : std::false_type
52 {};
53
54
55 /*--- SymEngine Expression class ---*/
56
57
63 template <>
64 struct is_symengine_number<SymEngine::Expression> : std::true_type
65 {};
66
67
73 template <>
74 struct is_sd_number<SymEngine::Expression> : std::true_type
75 {};
76
77 } // namespace SD
78} // namespace Differentiation
79
80#endif // DEAL_II_WITH_SYMENGINE
81
83
84#endif // dealii_differentiation_sd_symengine_number_traits_h
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39