deal.II version GIT relicensing-2642-g417c8935ea 2025-02-14 17:30:00+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
evaluation_flags.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2020 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15
16#ifndef dealii_matrix_free_evaluation_flags_h
17#define dealii_matrix_free_evaluation_flags_h
18
19#include <deal.II/base/config.h>
20
22
23
25
26
27
35{
44 {
52 values = 0x1,
56 gradients = 0x2,
60 hessians = 0x4
61 };
62
63
75 {
76 return static_cast<EvaluationFlags>(static_cast<unsigned int>(f1) |
77 static_cast<unsigned int>(f2));
78 }
79
80
81
90 {
91 f1 = f1 | f2;
92 return f1;
93 }
94
95
107 {
108 return static_cast<EvaluationFlags>(static_cast<unsigned int>(f1) &
109 static_cast<unsigned int>(f2));
110 }
111
112
121 {
122 f1 = f1 & f2;
123 return f1;
124 }
125
126} // namespace EvaluationFlags
127
128
130
131#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:518
#define DEAL_II_HOST_DEVICE
Definition config.h:114
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:519
The namespace for the EvaluationFlags enum.
EvaluationFlags operator|(const EvaluationFlags f1, const EvaluationFlags f2)
EvaluationFlags & operator|=(EvaluationFlags &f1, const EvaluationFlags f2)
EvaluationFlags operator&(const EvaluationFlags f1, const EvaluationFlags f2)
EvaluationFlags & operator&=(EvaluationFlags &f1, const EvaluationFlags f2)