OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
AssignTags.h
Go to the documentation of this file.
1// -*- C++ -*-
2/***************************************************************************
3 *
4 * The IPPL Framework
5 *
6 *
7 * Visit http://people.web.psi.ch/adelmann/ for more details
8 *
9 ***************************************************************************/
10
11#ifndef ASSIGN_TAGS_H
12#define ASSIGN_TAGS_H
13
14// include files
15#include "Index/NDIndex.h"
16
17// Forward declarations:
18template<class T, unsigned int D> class BareField;
19
20//
21// A functor that knows an id.
22//
24{
25 int fID;
26 SameFieldID(int id) : fID(id) {}
27 typedef bool PETE_Return_t;
28};
29
30
32{
33 typedef bool PETE_Return_t;
34};
35
36
38{
39 int I;
40 EvalFunctor_1(int i) : I(i) {}
41};
42
44{
46};
47
49{
50 int I, J;
51 EvalFunctor_2(int i, int j) : I(i), J(j) {}
52};
53
55{
56 UnitEvalFunctor_2(int i, int j) : EvalFunctor_2(i,j) {}
57};
58
60{
61 int I, J, K;
62 EvalFunctor_3(int i, int j, int k) : I(i), J(j), K(k) {}
63};
64
66{
67 UnitEvalFunctor_3(int i, int j, int k) : EvalFunctor_3(i,j,k) {}
68};
69
70//
71// A tag for beginning an LField
72//
74{
75 typedef int PETE_Return_t;
76};
77
78//
79// A tag for going on to next LField
80//
82{
83 typedef int PETE_Return_t;
84};
85
86
88{
89 unsigned D;
90 StepFunctor(unsigned d) : D(d) {}
91 typedef int PETE_Return_t;
92};
93
95{
96 unsigned D;
97 RewindFunctor(unsigned d) : D(d) {}
98 typedef int PETE_Return_t;
99};
100
101
102//
103// Do the iterators have unit stride in the inner loop?
104//
105
107{
108 typedef bool PETE_Return_t;
109};
110
111// Do we need to fill the guard cells?
112
113template<unsigned D, class T1>
115{
117//tjw added 3/3/99:
119//tjw added 3/3/99.
120 typedef int PETE_Return_t;
122};
123
124template<unsigned D, class T1>
127{
129}
130
131//tjw added 3/3/99:
132
133// This weird tag is needed, because writing a no-argument FillGCIFNEcessary()
134// function below didn't work for some reason, at least with some compilers
135// like the pre-7.3 SGI compiler and CodeWarrior Pro4. Once the global
136// function invocation syntax FillGCIfNecessary<T,D>() is supported by all our
137// compilers (it's not there yet in the non-beta SGI compiler), should be able
138// to eliminate this FGCINTag business. --tjw 3/3/1999
139template<unsigned D, class T1>
141{
142};
143
144template<unsigned D, class T1>
147{
149}
150
151//tjw added 3/3/99.
152
153
154#endif // ASSIGN_TAGS_H
155
156/***************************************************************************
157 * $RCSfile: AssignTags.h,v $ $Author: adelmann $
158 * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:26 $
159 * IPPL_VERSION_ID: $Id: AssignTags.h,v 1.1.1.1 2003/01/23 07:40:26 adelmann Exp $
160 ***************************************************************************/
FillGCIfNecessaryTag< D, T1 > FillGCIfNecessary(const BareField< T1, D > &bf)
Definition: AssignTags.h:126
bool PETE_Return_t
Definition: AssignTags.h:27
SameFieldID(int id)
Definition: AssignTags.h:26
bool PETE_Return_t
Definition: AssignTags.h:33
EvalFunctor_1(int i)
Definition: AssignTags.h:40
UnitEvalFunctor_1(int i)
Definition: AssignTags.h:45
EvalFunctor_2(int i, int j)
Definition: AssignTags.h:51
UnitEvalFunctor_2(int i, int j)
Definition: AssignTags.h:56
EvalFunctor_3(int i, int j, int k)
Definition: AssignTags.h:62
UnitEvalFunctor_3(int i, int j, int k)
Definition: AssignTags.h:67
int PETE_Return_t
Definition: AssignTags.h:75
int PETE_Return_t
Definition: AssignTags.h:83
unsigned D
Definition: AssignTags.h:89
int PETE_Return_t
Definition: AssignTags.h:91
StepFunctor(unsigned d)
Definition: AssignTags.h:90
int PETE_Return_t
Definition: AssignTags.h:98
unsigned D
Definition: AssignTags.h:96
RewindFunctor(unsigned d)
Definition: AssignTags.h:97
bool PETE_Return_t
Definition: AssignTags.h:108
FillGCIfNecessaryTag(const BareField< T1, D > &bf)
Definition: AssignTags.h:116
const BareField< T1, D > * bf_m
Definition: AssignTags.h:121