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 namespace madness {
42 
45 
48  typedef Vector<double,3> coord_3d;
51  typedef Vector<double,6> coord_6d;
52 
53  typedef std::vector<double> vector_real;
54  typedef std::vector< std::complex<double> > vector_complex;
55 
56  typedef std::vector< Vector<double,1> > vector_coord_1d;
57  typedef std::vector< Vector<double,2> > vector_coord_2d;
58  typedef std::vector< Vector<double,3> > vector_coord_3d;
59  typedef std::vector< Vector<double,4> > vector_coord_4d;
60  typedef std::vector< Vector<double,5> > vector_coord_5d;
61  typedef std::vector< Vector<double,6> > vector_coord_6d;
62 
69 
76 
77  typedef std::vector<real_function_1d> vector_real_function_1d;
78  typedef std::vector<real_function_2d> vector_real_function_2d;
79  typedef std::vector<real_function_3d> vector_real_function_3d;
80  typedef std::vector<real_function_4d> vector_real_function_4d;
81  typedef std::vector<real_function_5d> vector_real_function_5d;
82  typedef std::vector<real_function_6d> vector_real_function_6d;
83 
84  typedef std::vector<complex_function_1d> vector_complex_function_1d;
85  typedef std::vector<complex_function_2d> vector_complex_function_2d;
86  typedef std::vector<complex_function_3d> vector_complex_function_3d;
87  typedef std::vector<complex_function_4d> vector_complex_function_4d;
88  typedef std::vector<complex_function_5d> vector_complex_function_5d;
89  typedef std::vector<complex_function_6d> vector_complex_function_6d;
90 
97 
104 
105  typedef std::shared_ptr< FunctionFunctorInterface<double,1> > real_functor_1d;
106  typedef std::shared_ptr< FunctionFunctorInterface<double,2> > real_functor_2d;
107  typedef std::shared_ptr< FunctionFunctorInterface<double,3> > real_functor_3d;
108  typedef std::shared_ptr< FunctionFunctorInterface<double,4> > real_functor_4d;
109  typedef std::shared_ptr< FunctionFunctorInterface<double,5> > real_functor_5d;
110  typedef std::shared_ptr< FunctionFunctorInterface<double,6> > real_functor_6d;
111 
112  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,1> > complex_functor_1d;
113  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,2> > complex_functor_2d;
114  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,3> > complex_functor_3d;
115  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,4> > complex_functor_4d;
116  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,5> > complex_functor_5d;
117  typedef std::shared_ptr< FunctionFunctorInterface<double_complex,6> > complex_functor_6d;
118 
125 
132 
133  typedef std::shared_ptr<real_convolution_1d> real_convolution_1d_ptr;
134  typedef std::shared_ptr<real_convolution_2d> real_convolution_2d_ptr;
135  typedef std::shared_ptr<real_convolution_3d> real_convolution_3d_ptr;
136  typedef std::shared_ptr<real_convolution_4d> real_convolution_4d_ptr;
137  typedef std::shared_ptr<real_convolution_5d> real_convolution_5d_ptr;
138  typedef std::shared_ptr<real_convolution_6d> real_convolution_6d_ptr;
139 
140  typedef std::shared_ptr<complex_convolution_1d> complex_convolution_1d_ptr;
141  typedef std::shared_ptr<complex_convolution_2d> complex_convolution_2d_ptr;
142  typedef std::shared_ptr<complex_convolution_3d> complex_convolution_3d_ptr;
143  typedef std::shared_ptr<complex_convolution_4d> complex_convolution_4d_ptr;
144  typedef std::shared_ptr<complex_convolution_5d> complex_convolution_5d_ptr;
145  typedef std::shared_ptr<complex_convolution_6d> complex_convolution_6d_ptr;
146 
147  typedef std::shared_ptr< WorldDCPmapInterface< Key<1> > > pmap_1d;
148  typedef std::shared_ptr< WorldDCPmapInterface< Key<2> > > pmap_2d;
149  typedef std::shared_ptr< WorldDCPmapInterface< Key<3> > > pmap_3d;
150  typedef std::shared_ptr< WorldDCPmapInterface< Key<4> > > pmap_4d;
151  typedef std::shared_ptr< WorldDCPmapInterface< Key<5> > > pmap_5d;
152  typedef std::shared_ptr< WorldDCPmapInterface< Key<6> > > pmap_6d;
153 
160 
167 
174 
181 
188 }
189 
190 #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:204
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:941
A multiresolution adaptive numerical function.
Definition: mra.h:122
Convolutions in separated form (including Gaussian)
Definition: operator.h:136
A simple, fixed dimension vector.
Definition: vector.h:64
File holds all helper structures necessary for the CC_Operator and CC2 class.
Definition: DFParameters.h:10
FunctionFactory< double, 5 > real_factory_5d
Definition: functypedefs.h:95
std::vector< complex_function_4d > vector_complex_function_4d
Definition: functypedefs.h:87
FunctionDefaults< 2 > function_defaults_2d
Definition: functypedefs.h:183
FunctionImpl< double_complex, 2 > complex_funcimpl_2d
Definition: functypedefs.h:162
std::shared_ptr< complex_convolution_5d > complex_convolution_5d_ptr
Definition: functypedefs.h:144
Derivative< double, 2 > real_derivative_2d
Definition: functypedefs.h:169
std::shared_ptr< FunctionFunctorInterface< double_complex, 4 > > complex_functor_4d
Definition: functypedefs.h:115
Derivative< double_complex, 1 > complex_derivative_1d
Definition: functypedefs.h:175
Function< double_complex, 3 > complex_function_3d
Definition: functypedefs.h:72
FunctionImpl< double_complex, 3 > complex_funcimpl_3d
Definition: functypedefs.h:163
std::vector< complex_function_3d > vector_complex_function_3d
Definition: functypedefs.h:86
std::shared_ptr< real_convolution_3d > real_convolution_3d_ptr
Definition: functypedefs.h:135
FunctionFactory< double_complex, 4 > complex_factory_4d
Definition: functypedefs.h:101
FunctionDefaults< 5 > function_defaults_5d
Definition: functypedefs.h:186
SeparatedConvolution< double_complex, 3 > complex_convolution_3d
Definition: functypedefs.h:128
Function< double_complex, 1 > complex_function_1d
Definition: functypedefs.h:70
std::shared_ptr< complex_convolution_3d > complex_convolution_3d_ptr
Definition: functypedefs.h:142
Function< double, 4 > real_function_4d
Definition: functypedefs.h:66
SeparatedConvolution< double, 3 > real_convolution_3d
Definition: functypedefs.h:121
Tensor< double_complex > complex_tensor
Definition: functypedefs.h:41
std::vector< real_function_2d > vector_real_function_2d
Definition: functypedefs.h:78
FunctionImpl< double_complex, 4 > complex_funcimpl_4d
Definition: functypedefs.h:164
std::vector< real_function_4d > vector_real_function_4d
Definition: functypedefs.h:80
std::vector< Vector< double, 3 > > vector_coord_3d
Definition: functypedefs.h:58
Derivative< double_complex, 6 > complex_derivative_6d
Definition: functypedefs.h:180
Vector< double, 5 > coord_5d
Definition: functypedefs.h:50
Derivative< double, 5 > real_derivative_5d
Definition: functypedefs.h:172
Vector< double, 1 > coord_1d
Definition: functypedefs.h:46
FunctionImpl< double, 4 > real_funcimpl_4d
Definition: functypedefs.h:157
SeparatedConvolution< double_complex, 6 > complex_convolution_6d
Definition: functypedefs.h:131
Function< double_complex, 6 > complex_function_6d
Definition: functypedefs.h:75
std::shared_ptr< WorldDCPmapInterface< Key< 4 > > > pmap_4d
Definition: functypedefs.h:150
Function< double_complex, 4 > complex_function_4d
Definition: functypedefs.h:73
FunctionImpl< double, 5 > real_funcimpl_5d
Definition: functypedefs.h:158
std::shared_ptr< FunctionFunctorInterface< double, 2 > > real_functor_2d
Definition: functypedefs.h:106
Function< double, 5 > real_function_5d
Definition: functypedefs.h:67
std::shared_ptr< FunctionFunctorInterface< double_complex, 1 > > complex_functor_1d
Definition: functypedefs.h:112
SeparatedConvolution< double, 4 > real_convolution_4d
Definition: functypedefs.h:122
std::shared_ptr< FunctionFunctorInterface< double, 5 > > real_functor_5d
Definition: functypedefs.h:109
FunctionFactory< double_complex, 2 > complex_factory_2d
Definition: functypedefs.h:99
std::shared_ptr< complex_convolution_4d > complex_convolution_4d_ptr
Definition: functypedefs.h:143
std::vector< Vector< double, 6 > > vector_coord_6d
Definition: functypedefs.h:61
FunctionImpl< double, 6 > real_funcimpl_6d
Definition: functypedefs.h:159
Vector< double, 6 > coord_6d
Definition: funcplot.h:1043
std::vector< real_function_1d > vector_real_function_1d
Definition: functypedefs.h:77
std::shared_ptr< real_convolution_5d > real_convolution_5d_ptr
Definition: functypedefs.h:137
SeparatedConvolution< double, 1 > real_convolution_1d
Definition: functypedefs.h:119
std::shared_ptr< FunctionFunctorInterface< double, 3 > > real_functor_3d
Definition: functypedefs.h:107
std::vector< real_function_3d > vector_real_function_3d
Definition: functypedefs.h:79
Derivative< double, 1 > real_derivative_1d
Definition: functypedefs.h:168
std::shared_ptr< FunctionFunctorInterface< double, 6 > > real_functor_6d
Definition: functypedefs.h:110
std::shared_ptr< real_convolution_4d > real_convolution_4d_ptr
Definition: functypedefs.h:136
std::shared_ptr< WorldDCPmapInterface< Key< 2 > > > pmap_2d
Definition: functypedefs.h:148
Tensor< double_complex > tensor_complex
Definition: functypedefs.h:44
Derivative< double_complex, 4 > complex_derivative_4d
Definition: functypedefs.h:178
std::vector< Vector< double, 1 > > vector_coord_1d
Definition: functypedefs.h:56
Tensor< double > tensor_real
Definition: functypedefs.h:43
std::shared_ptr< FunctionFunctorInterface< double_complex, 5 > > complex_functor_5d
Definition: functypedefs.h:116
Derivative< double_complex, 5 > complex_derivative_5d
Definition: functypedefs.h:179
std::vector< complex_function_1d > vector_complex_function_1d
Definition: functypedefs.h:84
FunctionDefaults< 3 > function_defaults_3d
Definition: functypedefs.h:184
std::vector< complex_function_6d > vector_complex_function_6d
Definition: functypedefs.h:89
Function< double, 6 > real_function_6d
Definition: functypedefs.h:68
SeparatedConvolution< double_complex, 2 > complex_convolution_2d
Definition: functypedefs.h:127
std::shared_ptr< FunctionFunctorInterface< double_complex, 3 > > complex_functor_3d
Definition: functypedefs.h:114
std::vector< std::complex< double > > vector_complex
Definition: functypedefs.h:54
std::shared_ptr< FunctionFunctorInterface< double_complex, 2 > > complex_functor_2d
Definition: functypedefs.h:113
FunctionImpl< double_complex, 5 > complex_funcimpl_5d
Definition: functypedefs.h:165
std::shared_ptr< WorldDCPmapInterface< Key< 1 > > > pmap_1d
Definition: functypedefs.h:147
Function< double_complex, 2 > complex_function_2d
Definition: functypedefs.h:71
FunctionFactory< double, 3 > real_factory_3d
Definition: functypedefs.h:93
FunctionFactory< double, 1 > real_factory_1d
Definition: functypedefs.h:91
SeparatedConvolution< double, 5 > real_convolution_5d
Definition: functypedefs.h:123
Derivative< double, 4 > real_derivative_4d
Definition: functypedefs.h:171
Function< double, 1 > real_function_1d
Definition: functypedefs.h:63
Function< double_complex, 5 > complex_function_5d
Definition: functypedefs.h:74
std::vector< Vector< double, 5 > > vector_coord_5d
Definition: functypedefs.h:60
std::shared_ptr< FunctionFunctorInterface< double, 1 > > real_functor_1d
Definition: functypedefs.h:105
FunctionDefaults< 4 > function_defaults_4d
Definition: functypedefs.h:185
std::shared_ptr< WorldDCPmapInterface< Key< 3 > > > pmap_3d
Definition: functypedefs.h:149
std::shared_ptr< FunctionFunctorInterface< double, 4 > > real_functor_4d
Definition: functypedefs.h:108
Function< double, 3 > real_function_3d
Definition: functypedefs.h:65
Derivative< double_complex, 3 > complex_derivative_3d
Definition: functypedefs.h:177
FunctionFactory< double_complex, 1 > complex_factory_1d
Definition: functypedefs.h:98
std::vector< real_function_6d > vector_real_function_6d
Definition: functypedefs.h:82
FunctionImpl< double, 3 > real_funcimpl_3d
Definition: functypedefs.h:156
SeparatedConvolution< double, 2 > real_convolution_2d
Definition: functypedefs.h:120
FunctionImpl< double_complex, 1 > complex_funcimpl_1d
Definition: functypedefs.h:161
std::vector< complex_function_2d > vector_complex_function_2d
Definition: functypedefs.h:85
std::shared_ptr< complex_convolution_1d > complex_convolution_1d_ptr
Definition: functypedefs.h:140
std::shared_ptr< real_convolution_2d > real_convolution_2d_ptr
Definition: functypedefs.h:134
FunctionFactory< double_complex, 3 > complex_factory_3d
Definition: functypedefs.h:100
FunctionDefaults< 6 > function_defaults_6d
Definition: functypedefs.h:187
std::vector< double > vector_real
Definition: functypedefs.h:53
SeparatedConvolution< double_complex, 5 > complex_convolution_5d
Definition: functypedefs.h:130
FunctionImpl< double_complex, 6 > complex_funcimpl_6d
Definition: functypedefs.h:166
Vector< double, 4 > coord_4d
Definition: functypedefs.h:49
FunctionFactory< double, 2 > real_factory_2d
Definition: functypedefs.h:92
Derivative< double_complex, 2 > complex_derivative_2d
Definition: functypedefs.h:176
std::shared_ptr< real_convolution_6d > real_convolution_6d_ptr
Definition: functypedefs.h:138
std::shared_ptr< WorldDCPmapInterface< Key< 6 > > > pmap_6d
Definition: functypedefs.h:152
SeparatedConvolution< double, 6 > real_convolution_6d
Definition: functypedefs.h:124
Vector< double, 3 > coord_3d
Definition: funcplot.h:1042
std::vector< real_function_5d > vector_real_function_5d
Definition: functypedefs.h:81
SeparatedConvolution< double_complex, 1 > complex_convolution_1d
Definition: functypedefs.h:126
FunctionImpl< double, 2 > real_funcimpl_2d
Definition: functypedefs.h:155
FunctionFactory< double_complex, 6 > complex_factory_6d
Definition: functypedefs.h:103
std::shared_ptr< WorldDCPmapInterface< Key< 5 > > > pmap_5d
Definition: functypedefs.h:151
std::shared_ptr< FunctionFunctorInterface< double_complex, 6 > > complex_functor_6d
Definition: functypedefs.h:117
Derivative< double, 6 > real_derivative_6d
Definition: functypedefs.h:173
Vector< double, 2 > coord_2d
Definition: functypedefs.h:47
FunctionFactory< double, 4 > real_factory_4d
Definition: functypedefs.h:94
Function< double, 2 > real_function_2d
Definition: functypedefs.h:64
FunctionFactory< double, 6 > real_factory_6d
Definition: functypedefs.h:96
std::vector< Vector< double, 4 > > vector_coord_4d
Definition: functypedefs.h:59
Tensor< double > real_tensor
Definition: functypedefs.h:40
FunctionImpl< double, 1 > real_funcimpl_1d
Definition: functypedefs.h:154
SeparatedConvolution< double_complex, 4 > complex_convolution_4d
Definition: functypedefs.h:129
Derivative< double, 3 > real_derivative_3d
Definition: functypedefs.h:170
std::vector< Vector< double, 2 > > vector_coord_2d
Definition: functypedefs.h:57
FunctionFactory< double_complex, 5 > complex_factory_5d
Definition: functypedefs.h:102
std::shared_ptr< real_convolution_1d > real_convolution_1d_ptr
Definition: functypedefs.h:133
std::vector< complex_function_5d > vector_complex_function_5d
Definition: functypedefs.h:88
std::shared_ptr< complex_convolution_2d > complex_convolution_2d_ptr
Definition: functypedefs.h:141
FunctionDefaults< 1 > function_defaults_1d
Definition: functypedefs.h:182
std::shared_ptr< complex_convolution_6d > complex_convolution_6d_ptr
Definition: functypedefs.h:145