QMCPACK
QMCTypes.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) 2018 QMCPACK developers
6
//
7
// File developed by: Peter Doak, doakpw@ornl.gov, Oak Ridge National Lab
8
// Ye Luo, yeluo@anl.gov, Argonne National Lab
9
//
10
// File created by: Ye Luo, yeluo@anl.gov, Argonne National Lab
11
//////////////////////////////////////////////////////////////////////////////////////
12
13
#ifndef QMCPLUSPLUS_QMC_TYPES_H
14
#define QMCPLUSPLUS_QMC_TYPES_H
15
16
#include "
OhmmsPETE/TinyVector.h
"
17
#include "
OhmmsPETE/Tensor.h
"
18
#include <complex>
19
20
namespace
qmcplusplus
21
{
22
/* Facilitates use of full/mixed precision without rebuilding the code
23
*
24
* a template class may define its local types
25
* template<typename Prec>
26
* class Foo
27
* {
28
* using FooTypes = QMCTypes<Prec>;
29
* ...
30
* };
31
*
32
*/
33
template
<
typename
Precision,
int
DIM>
34
class
QMCTypes
final
35
{
36
public
:
37
using
RealType
= Precision;
38
using
ComplexType
= std::complex<Precision>;
39
#ifdef QMC_COMPLEX
40
using
ValueType
=
ComplexType
;
41
#else
42
using
ValueType
=
RealType
;
43
#endif
44
using
GradType
=
TinyVector<ValueType, DIM>
;
45
using
PosType
=
TinyVector<RealType, DIM>
;
46
using
TensorType
=
Tensor<RealType, DIM>
;
47
};
48
49
}
// namespace qmcplusplus
50
#endif
qmcplusplus::TinyVector
Fixed-size array.
Definition:
OhmmsTinyMeta.h:30
qmcplusplus
helper functions for EinsplineSetBuilder
Definition:
Configuration.h:43
qmcplusplus::QMCTypes::ValueType
RealType ValueType
Definition:
QMCTypes.h:42
qmcplusplus::Tensor< RealType, DIM >
TinyVector.h
qmcplusplus::QMCTypes::ComplexType
std::complex< Precision > ComplexType
Definition:
QMCTypes.h:38
Tensor.h
qmcplusplus::QMCTypes::RealType
Precision RealType
Definition:
QMCTypes.h:37
qmcplusplus::QMCTypes
Definition:
QMCTypes.h:34
src
type_traits
QMCTypes.h
Generated on Fri Jun 28 2024 10:45:29 for QMCPACK by
1.8.14