MADNESS 0.10.1
functypedefs.h
Go to the documentation of this file.
1/*
2 This file is part of MADNESS.
3
4 Copyright (C) 2007,2010 Oak Ridge National Laboratory
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20 For more information please contact:
21
22 Robert J. Harrison
23 Oak Ridge National Laboratory
24 One Bethel Valley Road
25 P.O. Box 2008, MS-6367
26
27 email: harrisonrj@ornl.gov
28 tel: 865-241-3937
29 fax: 865-572-0680
30
31 $Id$
32*/
33#ifndef MADNESS_MRA_FUNCTYPEDEFS_H__INCLUDED
34#define MADNESS_MRA_FUNCTYPEDEFS_H__INCLUDED
35
36/// \file mra/functypedefs.h
37/// \brief Provides typedefs to hide use of templates and to increase interoperability
38
39#include <memory>
40#include <vector>
41
42namespace madness {
43
44 // forward declarations
45 template <typename T> class Tensor;
46 template <typename T, std::size_t NDIM> class Vector;
47 template <typename T, std::size_t NDIM> class Function;
48 template <typename T, std::size_t NDIM> class FunctionImpl;
49 template <std::size_t NDIM> class FunctionDefaults;
50 template <typename T, std::size_t NDIM> class FunctionFactory;
51 template <typename T, std::size_t NDIM> class FunctionFunctorInterface;
52 template <typename T, std::size_t NDIM> class SeparatedConvolution;
53 template <typename T, std::size_t NDIM> class Derivative;
54
57
60
67
68 typedef std::vector<double> vector_real;
69 typedef std::vector< std::complex<double> > vector_complex;
70
71 typedef std::vector< Vector<double,1> > vector_coord_1d;
72 typedef std::vector< Vector<double,2> > vector_coord_2d;
73 typedef std::vector< Vector<double,3> > vector_coord_3d;
74 typedef std::vector< Vector<double,4> > vector_coord_4d;
75 typedef std::vector< Vector<double,5> > vector_coord_5d;
76 typedef std::vector< Vector<double,6> > vector_coord_6d;
77
84
91
92 typedef std::vector<real_function_1d> vector_real_function_1d;
93 typedef std::vector<real_function_2d> vector_real_function_2d;
94 typedef std::vector<real_function_3d> vector_real_function_3d;
95 typedef std::vector<real_function_4d> vector_real_function_4d;
96 typedef std::vector<real_function_5d> vector_real_function_5d;
97 typedef std::vector<real_function_6d> vector_real_function_6d;
98
99 typedef std::vector<complex_function_1d> vector_complex_function_1d;
100 typedef std::vector<complex_function_2d> vector_complex_function_2d;
101 typedef std::vector<complex_function_3d> vector_complex_function_3d;
102 typedef std::vector<complex_function_4d> vector_complex_function_4d;
103 typedef std::vector<complex_function_5d> vector_complex_function_5d;
104 typedef std::vector<complex_function_6d> vector_complex_function_6d;
105
112
119
120 typedef std::shared_ptr< FunctionFunctorInterface<double,1> > real_functor_1d;
121 typedef std::shared_ptr< FunctionFunctorInterface<double,2> > real_functor_2d;
122 typedef std::shared_ptr< FunctionFunctorInterface<double,3> > real_functor_3d;
123 typedef std::shared_ptr< FunctionFunctorInterface<double,4> > real_functor_4d;
124 typedef std::shared_ptr< FunctionFunctorInterface<double,5> > real_functor_5d;
125 typedef std::shared_ptr< FunctionFunctorInterface<double,6> > real_functor_6d;
126
127 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,1> > complex_functor_1d;
128 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,2> > complex_functor_2d;
129 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,3> > complex_functor_3d;
130 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,4> > complex_functor_4d;
131 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,5> > complex_functor_5d;
132 typedef std::shared_ptr< FunctionFunctorInterface<double_complex,6> > complex_functor_6d;
133
140
147
148 typedef std::shared_ptr<real_convolution_1d> real_convolution_1d_ptr;
149 typedef std::shared_ptr<real_convolution_2d> real_convolution_2d_ptr;
150 typedef std::shared_ptr<real_convolution_3d> real_convolution_3d_ptr;
151 typedef std::shared_ptr<real_convolution_4d> real_convolution_4d_ptr;
152 typedef std::shared_ptr<real_convolution_5d> real_convolution_5d_ptr;
153 typedef std::shared_ptr<real_convolution_6d> real_convolution_6d_ptr;
154
155 typedef std::shared_ptr<complex_convolution_1d> complex_convolution_1d_ptr;
156 typedef std::shared_ptr<complex_convolution_2d> complex_convolution_2d_ptr;
157 typedef std::shared_ptr<complex_convolution_3d> complex_convolution_3d_ptr;
158 typedef std::shared_ptr<complex_convolution_4d> complex_convolution_4d_ptr;
159 typedef std::shared_ptr<complex_convolution_5d> complex_convolution_5d_ptr;
160 typedef std::shared_ptr<complex_convolution_6d> complex_convolution_6d_ptr;
161
162 typedef std::shared_ptr< WorldDCPmapInterface< Key<1> > > pmap_1d;
163 typedef std::shared_ptr< WorldDCPmapInterface< Key<2> > > pmap_2d;
164 typedef std::shared_ptr< WorldDCPmapInterface< Key<3> > > pmap_3d;
165 typedef std::shared_ptr< WorldDCPmapInterface< Key<4> > > pmap_4d;
166 typedef std::shared_ptr< WorldDCPmapInterface< Key<5> > > pmap_5d;
167 typedef std::shared_ptr< WorldDCPmapInterface< Key<6> > > pmap_6d;
168
175
182
189
196
203}
204
205#endif // MADNESS_MRA_MRA_H__INCLUDED
Implements derivatives operators with variety of boundary conditions on simulation domain.
Definition derivative.h:266
FunctionDefaults holds default paramaters as static class members.
Definition funcdefaults.h:100
FunctionFactory implements the named-parameter idiom for Function.
Definition function_factory.h:86
FunctionImpl holds all Function state to facilitate shallow copy semantics.
Definition funcimpl.h:945
A multiresolution adaptive numerical function.
Definition mra.h:139
Convolutions in separated form (including Gaussian)
Definition operator.h:139
A tensor is a multidimensional array.
Definition tensor.h:317
A simple, fixed dimension vector.
Definition vector.h:64
Namespace for all elements and tools of MADNESS.
Definition DFParameters.h:10
FunctionFactory< double, 5 > real_factory_5d
Definition functypedefs.h:110
std::vector< complex_function_4d > vector_complex_function_4d
Definition functypedefs.h:102
FunctionDefaults< 2 > function_defaults_2d
Definition functypedefs.h:198
FunctionImpl< double_complex, 2 > complex_funcimpl_2d
Definition functypedefs.h:177
std::shared_ptr< complex_convolution_5d > complex_convolution_5d_ptr
Definition functypedefs.h:159
Derivative< double, 2 > real_derivative_2d
Definition functypedefs.h:184
std::shared_ptr< FunctionFunctorInterface< double_complex, 4 > > complex_functor_4d
Definition functypedefs.h:130
Derivative< double_complex, 1 > complex_derivative_1d
Definition functypedefs.h:190
Function< double_complex, 3 > complex_function_3d
Definition functypedefs.h:87
FunctionImpl< double_complex, 3 > complex_funcimpl_3d
Definition functypedefs.h:178
std::vector< complex_function_3d > vector_complex_function_3d
Definition functypedefs.h:101
std::shared_ptr< real_convolution_3d > real_convolution_3d_ptr
Definition functypedefs.h:150
FunctionFactory< double_complex, 4 > complex_factory_4d
Definition functypedefs.h:116
FunctionDefaults< 5 > function_defaults_5d
Definition functypedefs.h:201
SeparatedConvolution< double_complex, 3 > complex_convolution_3d
Definition functypedefs.h:143
Function< double_complex, 1 > complex_function_1d
Definition functypedefs.h:85
std::shared_ptr< complex_convolution_3d > complex_convolution_3d_ptr
Definition functypedefs.h:157
Function< double, 4 > real_function_4d
Definition functypedefs.h:81
SeparatedConvolution< double, 3 > real_convolution_3d
Definition functypedefs.h:136
Tensor< double_complex > complex_tensor
Definition functypedefs.h:56
std::vector< real_function_2d > vector_real_function_2d
Definition functypedefs.h:93
FunctionImpl< double_complex, 4 > complex_funcimpl_4d
Definition functypedefs.h:179
std::vector< real_function_4d > vector_real_function_4d
Definition functypedefs.h:95
std::vector< Vector< double, 3 > > vector_coord_3d
Definition functypedefs.h:73
Derivative< double_complex, 6 > complex_derivative_6d
Definition functypedefs.h:195
Vector< double, 5 > coord_5d
Definition functypedefs.h:65
Derivative< double, 5 > real_derivative_5d
Definition functypedefs.h:187
Vector< double, 1 > coord_1d
Definition functypedefs.h:61
FunctionImpl< double, 4 > real_funcimpl_4d
Definition functypedefs.h:172
SeparatedConvolution< double_complex, 6 > complex_convolution_6d
Definition functypedefs.h:146
Function< double_complex, 6 > complex_function_6d
Definition functypedefs.h:90
std::shared_ptr< WorldDCPmapInterface< Key< 4 > > > pmap_4d
Definition functypedefs.h:165
Function< double_complex, 4 > complex_function_4d
Definition functypedefs.h:88
FunctionImpl< double, 5 > real_funcimpl_5d
Definition functypedefs.h:173
std::shared_ptr< FunctionFunctorInterface< double, 2 > > real_functor_2d
Definition functypedefs.h:121
Function< double, 5 > real_function_5d
Definition functypedefs.h:82
std::shared_ptr< FunctionFunctorInterface< double_complex, 1 > > complex_functor_1d
Definition functypedefs.h:127
SeparatedConvolution< double, 4 > real_convolution_4d
Definition functypedefs.h:137
std::shared_ptr< FunctionFunctorInterface< double, 5 > > real_functor_5d
Definition functypedefs.h:124
FunctionFactory< double_complex, 2 > complex_factory_2d
Definition functypedefs.h:114
std::shared_ptr< complex_convolution_4d > complex_convolution_4d_ptr
Definition functypedefs.h:158
std::vector< Vector< double, 6 > > vector_coord_6d
Definition functypedefs.h:76
FunctionImpl< double, 6 > real_funcimpl_6d
Definition functypedefs.h:174
Vector< double, 6 > coord_6d
Definition funcplot.h:1043
std::vector< real_function_1d > vector_real_function_1d
Definition functypedefs.h:92
std::shared_ptr< real_convolution_5d > real_convolution_5d_ptr
Definition functypedefs.h:152
SeparatedConvolution< double, 1 > real_convolution_1d
Definition functypedefs.h:134
std::shared_ptr< FunctionFunctorInterface< double, 3 > > real_functor_3d
Definition functypedefs.h:122
std::vector< real_function_3d > vector_real_function_3d
Definition functypedefs.h:94
Derivative< double, 1 > real_derivative_1d
Definition functypedefs.h:183
std::shared_ptr< FunctionFunctorInterface< double, 6 > > real_functor_6d
Definition functypedefs.h:125
std::shared_ptr< real_convolution_4d > real_convolution_4d_ptr
Definition functypedefs.h:151
std::shared_ptr< WorldDCPmapInterface< Key< 2 > > > pmap_2d
Definition functypedefs.h:163
Tensor< double_complex > tensor_complex
Definition functypedefs.h:59
Derivative< double_complex, 4 > complex_derivative_4d
Definition functypedefs.h:193
std::vector< Vector< double, 1 > > vector_coord_1d
Definition functypedefs.h:71
Tensor< double > tensor_real
Definition functypedefs.h:58
std::shared_ptr< FunctionFunctorInterface< double_complex, 5 > > complex_functor_5d
Definition functypedefs.h:131
Derivative< double_complex, 5 > complex_derivative_5d
Definition functypedefs.h:194
std::vector< complex_function_1d > vector_complex_function_1d
Definition functypedefs.h:99
FunctionDefaults< 3 > function_defaults_3d
Definition functypedefs.h:199
std::vector< complex_function_6d > vector_complex_function_6d
Definition functypedefs.h:104
Function< double, 6 > real_function_6d
Definition functypedefs.h:83
SeparatedConvolution< double_complex, 2 > complex_convolution_2d
Definition functypedefs.h:142
std::shared_ptr< FunctionFunctorInterface< double_complex, 3 > > complex_functor_3d
Definition functypedefs.h:129
std::vector< std::complex< double > > vector_complex
Definition functypedefs.h:69
std::shared_ptr< FunctionFunctorInterface< double_complex, 2 > > complex_functor_2d
Definition functypedefs.h:128
FunctionImpl< double_complex, 5 > complex_funcimpl_5d
Definition functypedefs.h:180
std::shared_ptr< WorldDCPmapInterface< Key< 1 > > > pmap_1d
Definition functypedefs.h:162
Function< double_complex, 2 > complex_function_2d
Definition functypedefs.h:86
FunctionFactory< double, 3 > real_factory_3d
Definition functypedefs.h:108
FunctionFactory< double, 1 > real_factory_1d
Definition functypedefs.h:106
SeparatedConvolution< double, 5 > real_convolution_5d
Definition functypedefs.h:138
Derivative< double, 4 > real_derivative_4d
Definition functypedefs.h:186
Function< double, 1 > real_function_1d
Definition functypedefs.h:78
Function< double_complex, 5 > complex_function_5d
Definition functypedefs.h:89
std::vector< Vector< double, 5 > > vector_coord_5d
Definition functypedefs.h:75
std::shared_ptr< FunctionFunctorInterface< double, 1 > > real_functor_1d
Definition functypedefs.h:120
FunctionDefaults< 4 > function_defaults_4d
Definition functypedefs.h:200
std::shared_ptr< WorldDCPmapInterface< Key< 3 > > > pmap_3d
Definition functypedefs.h:164
std::shared_ptr< FunctionFunctorInterface< double, 4 > > real_functor_4d
Definition functypedefs.h:123
Function< double, 3 > real_function_3d
Definition functypedefs.h:80
Derivative< double_complex, 3 > complex_derivative_3d
Definition functypedefs.h:192
FunctionFactory< double_complex, 1 > complex_factory_1d
Definition functypedefs.h:113
std::vector< real_function_6d > vector_real_function_6d
Definition functypedefs.h:97
FunctionImpl< double, 3 > real_funcimpl_3d
Definition functypedefs.h:171
SeparatedConvolution< double, 2 > real_convolution_2d
Definition functypedefs.h:135
FunctionImpl< double_complex, 1 > complex_funcimpl_1d
Definition functypedefs.h:176
std::vector< complex_function_2d > vector_complex_function_2d
Definition functypedefs.h:100
std::shared_ptr< complex_convolution_1d > complex_convolution_1d_ptr
Definition functypedefs.h:155
std::shared_ptr< real_convolution_2d > real_convolution_2d_ptr
Definition functypedefs.h:149
FunctionFactory< double_complex, 3 > complex_factory_3d
Definition functypedefs.h:115
FunctionDefaults< 6 > function_defaults_6d
Definition functypedefs.h:202
std::vector< double > vector_real
Definition functypedefs.h:68
SeparatedConvolution< double_complex, 5 > complex_convolution_5d
Definition functypedefs.h:145
FunctionImpl< double_complex, 6 > complex_funcimpl_6d
Definition functypedefs.h:181
Vector< double, 4 > coord_4d
Definition functypedefs.h:64
FunctionFactory< double, 2 > real_factory_2d
Definition functypedefs.h:107
Derivative< double_complex, 2 > complex_derivative_2d
Definition functypedefs.h:191
std::shared_ptr< real_convolution_6d > real_convolution_6d_ptr
Definition functypedefs.h:153
std::shared_ptr< WorldDCPmapInterface< Key< 6 > > > pmap_6d
Definition functypedefs.h:167
SeparatedConvolution< double, 6 > real_convolution_6d
Definition functypedefs.h:139
Vector< double, 3 > coord_3d
Definition funcplot.h:1042
std::vector< real_function_5d > vector_real_function_5d
Definition functypedefs.h:96
SeparatedConvolution< double_complex, 1 > complex_convolution_1d
Definition functypedefs.h:141
FunctionImpl< double, 2 > real_funcimpl_2d
Definition functypedefs.h:170
FunctionFactory< double_complex, 6 > complex_factory_6d
Definition functypedefs.h:118
std::shared_ptr< WorldDCPmapInterface< Key< 5 > > > pmap_5d
Definition functypedefs.h:166
std::shared_ptr< FunctionFunctorInterface< double_complex, 6 > > complex_functor_6d
Definition functypedefs.h:132
Derivative< double, 6 > real_derivative_6d
Definition functypedefs.h:188
Vector< double, 2 > coord_2d
Definition functypedefs.h:62
FunctionFactory< double, 4 > real_factory_4d
Definition functypedefs.h:109
Function< double, 2 > real_function_2d
Definition functypedefs.h:79
FunctionFactory< double, 6 > real_factory_6d
Definition functypedefs.h:111
std::vector< Vector< double, 4 > > vector_coord_4d
Definition functypedefs.h:74
Tensor< double > real_tensor
Definition functypedefs.h:55
FunctionImpl< double, 1 > real_funcimpl_1d
Definition functypedefs.h:169
SeparatedConvolution< double_complex, 4 > complex_convolution_4d
Definition functypedefs.h:144
Derivative< double, 3 > real_derivative_3d
Definition functypedefs.h:185
std::vector< Vector< double, 2 > > vector_coord_2d
Definition functypedefs.h:72
FunctionFactory< double_complex, 5 > complex_factory_5d
Definition functypedefs.h:117
std::shared_ptr< real_convolution_1d > real_convolution_1d_ptr
Definition functypedefs.h:148
std::vector< complex_function_5d > vector_complex_function_5d
Definition functypedefs.h:103
std::shared_ptr< complex_convolution_2d > complex_convolution_2d_ptr
Definition functypedefs.h:156
FunctionDefaults< 1 > function_defaults_1d
Definition functypedefs.h:197
std::shared_ptr< complex_convolution_6d > complex_convolution_6d_ptr
Definition functypedefs.h:160