#include <ScalarCodeInfo.h>
Public Types | |
typedef std::vector< int > | Extents_t |
typedef std::vector< bool > | BoolVector_t |
Public Member Functions | |
ScalarCodeInfo () | |
void | arguments (int n) |
The number of arguments of the ScalarCode functor. | |
void | dimensions (int n) |
The number of dimensions the arguments to the ScalarCode functor span. | |
int & | lowerExtent (int i) |
Lower extent for dimension i. | |
int & | upperExtent (int i) |
Upper extent for dimension i. | |
void | write (int i, bool f) |
Specify whether argument i is written to, writing allows reading. | |
BoolVector_t & | writers () |
BoolVector_t & | readers () |
void | useGuards (int i, bool f) |
BoolVector_t & | useGuards () |
template<int D> | |
Interval< D > | extendDomain (const Interval< D > &domain) |
The domain we take the view of before passing it to the functors operator() method. | |
template<int D> | |
Interval< D > | evaluationDomain (const Interval< D > &domain) |
The domain evaluation takes place on the viewed (zero-based!) engine. | |
template<int D> | |
INode< D > | extendDomain (const INode< D > &inode) |
typedef std::vector<int> ScalarCodeInfo::Extents_t |
typedef std::vector<bool> ScalarCodeInfo::BoolVector_t |
ScalarCodeInfo::ScalarCodeInfo | ( | ) | [inline] |
void ScalarCodeInfo::arguments | ( | int | n | ) | [inline] |
The number of arguments of the ScalarCode functor.
This needs to be called before any of write() and useGuards().
References PAssert.
void ScalarCodeInfo::dimensions | ( | int | n | ) | [inline] |
The number of dimensions the arguments to the ScalarCode functor span.
This needs to be specified before any of the lowerExtent() and upperExtent().
References PAssert.
int& ScalarCodeInfo::lowerExtent | ( | int | i | ) | [inline] |
Lower extent for dimension i.
This specifies the (maximum) stencil size. Note that you need to make sure a view extending the physical domain by this amount can be taken of every argument to the functor.
Referenced by MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate().
int& ScalarCodeInfo::upperExtent | ( | int | i | ) | [inline] |
Upper extent for dimension i.
This specifies the (maximum) stencil size. Note that you need to make sure a view extending the physical domain by this amount can be taken of every argument to the functor.
Referenced by MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate().
void ScalarCodeInfo::write | ( | int | i, | |
bool | f | |||
) | [inline] |
Specify whether argument i is written to, writing allows reading.
This triggers notifying the engine after writing and possibly dirtying relations attached to a written field.
BoolVector_t& ScalarCodeInfo::writers | ( | ) | [inline] |
BoolVector_t& ScalarCodeInfo::readers | ( | ) | [inline] |
Referenced by MultiArgEvaluator< MainEvaluatorTag >::createIterate().
void ScalarCodeInfo::useGuards | ( | int | i, | |
bool | f | |||
) | [inline] |
BoolVector_t& ScalarCodeInfo::useGuards | ( | ) | [inline] |
The domain we take the view of before passing it to the functors operator() method.
Referenced by MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::evaluate(), MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate(), MultiArgEvaluator< SinglePatchEvaluatorTag >::evaluate(), and extendDomain().
Interval<D> ScalarCodeInfo::evaluationDomain | ( | const Interval< D > & | domain | ) | [inline] |
The domain evaluation takes place on the viewed (zero-based!) engine.
Referenced by MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::evaluate(), MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< SinglePatchEvaluatorTag >::evaluate().
References INode< Dim >::domain(), and extendDomain().