QMCPACK
GridTraits.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) 2016 Jeongnim Kim and QMCPACK developers.
6
//
7
// File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8
// Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9
//
10
// File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
11
//////////////////////////////////////////////////////////////////////////////////////
12
13
14
/** @file GridTraits.h
15
*
16
* Define data types for any GridType
17
*/
18
#ifndef QMCPLUSPLUS_ONEDIMENSIONALGRID_TRAITS_H
19
#define QMCPLUSPLUS_ONEDIMENSIONALGRID_TRAITS_H
20
#include <vector>
21
#include <complex>
22
#include <limits>
23
24
/** enumeration of one-dimensional grid type
25
*/
26
enum
27
{
28
LINEAR_1DGRID
,
29
LOG_1DGRID
,
30
LOGZERO_1DGRID
,
31
CUSTOM_1DGRID
32
};
33
34
/** enumeration of boundary conditions
35
*/
36
enum
37
{
38
PBC_CONSTRAINTS
,
39
FIRSTDERIV_CONSTRAINTS
,
40
NATURAL_CONSTRAINTS
41
};
42
43
template
<
class
T>
44
struct
GridTraits
45
{};
46
47
template
<>
48
struct
GridTraits
<double>
49
{
50
using
point_type
= double;
51
using
value_type
= double;
52
};
53
54
template
<>
55
struct
GridTraits
<
std
::complex<double>>
56
{
57
using
point_type
= double;
58
using
value_type
= std::complex<double>;
59
};
60
61
template
<>
62
struct
GridTraits
<float>
63
{
64
using
point_type
= float;
65
using
value_type
= float;
66
};
67
68
template
<>
69
struct
GridTraits
<
std
::complex<float>>
70
{
71
using
point_type
= float;
72
using
value_type
= std::complex<float>;
73
};
74
#endif
LOG_1DGRID
Definition:
GridTraits.h:29
GridTraits< float >::value_type
float value_type
Definition:
GridTraits.h:65
GridTraits
Definition:
GridTraits.h:44
CUSTOM_1DGRID
Definition:
GridTraits.h:31
GridTraits< std::complex< float > >::value_type
std::complex< float > value_type
Definition:
GridTraits.h:72
GridTraits< float >::point_type
float point_type
Definition:
GridTraits.h:64
PBC_CONSTRAINTS
Definition:
GridTraits.h:38
FIRSTDERIV_CONSTRAINTS
Definition:
GridTraits.h:39
GridTraits< double >::value_type
double value_type
Definition:
GridTraits.h:51
std
GridTraits< std::complex< double > >::value_type
std::complex< double > value_type
Definition:
GridTraits.h:58
GridTraits< double >::point_type
double point_type
Definition:
GridTraits.h:50
NATURAL_CONSTRAINTS
Definition:
GridTraits.h:40
LOGZERO_1DGRID
Definition:
GridTraits.h:30
LINEAR_1DGRID
Definition:
GridTraits.h:28
src
Numerics
GridTraits.h
Generated on Fri Jun 28 2024 10:45:14 for QMCPACK by
1.8.14