|
FreePOOMA
2.4.1
|
#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< MultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::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< MultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::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] |
| Interval<D> ScalarCodeInfo::extendDomain | ( | const Interval< D > & | domain | ) | [inline] |
The domain we take the view of before passing it to the functors operator() method.
Referenced by MultiArgEvaluator< SinglePatchEvaluatorTag >::evaluate(), MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate(), MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::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< SinglePatchEvaluatorTag >::evaluate(), MultiArgEvaluator< MultiPatchEvaluatorTag >::evaluate(), and MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >::evaluate().
| INode<D> ScalarCodeInfo::extendDomain | ( | const INode< D > & | inode | ) | [inline] |
References INode< Dim >::domain(), and extendDomain().
1.7.6.1