QMCPACK
DriverDebugChecks.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2021 QMCPACK developers.
6 //
7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 
13 #ifndef QMCPLUSPLUS_DRIVERDEBUGCHECKS_H
14 #define QMCPLUSPLUS_DRIVERDEBUGCHECKS_H
15 
16 #include <cstdint>
17 
18 namespace qmcplusplus
19 {
20 enum class DriverDebugChecks : uint_fast8_t
21 {
22  ALL_OFF = 0x0,
23  CHECKGL_AFTER_LOAD = 0x1,
24  CHECKGL_AFTER_MOVES = 0x2,
25  CHECKGL_AFTER_TMOVE = 0x3,
26 };
27 
29 {
30  return (static_cast<uint_fast8_t>(x) & static_cast<uint_fast8_t>(y)) != 0x0;
31 }
32 
34 {
35  return static_cast<DriverDebugChecks>(static_cast<uint_fast8_t>(x) | static_cast<uint_fast8_t>(y));
36 }
37 
38 constexpr DriverDebugChecks operator~(DriverDebugChecks x) { return static_cast<DriverDebugChecks>(~static_cast<uint_fast8_t>(x)); }
39 
41 {
42  x = x | y;
43  return x;
44 }
45 } // namespace qmcplusplus
46 #endif
Matrix< T1, C1 > & operator|=(Matrix< T1, C1 > &lhs, const RHS &rhs)
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
MakeReturn< UnaryNode< OpBitwiseNot, typename CreateLeaf< Matrix< T1, C1 > >::Leaf_t > >::Expression_t operator~(const Matrix< T1, C1 > &l)
MakeReturn< BinaryNode< OpBitwiseAnd, typename CreateLeaf< Matrix< T1, C1 > >::Leaf_t, typename CreateLeaf< Matrix< T2, C2 > >::Leaf_t > >::Expression_t operator &(const Matrix< T1, C1 > &l, const Matrix< T2, C2 > &r)
MakeReturn< BinaryNode< OpBitwiseOr, typename CreateLeaf< Matrix< T1, C1 > >::Leaf_t, typename CreateLeaf< Matrix< T2, C2 > >::Leaf_t > >::Expression_t operator|(const Matrix< T1, C1 > &l, const Matrix< T2, C2 > &r)