FreePOOMA  2.4.1
Public Types | Public Member Functions
ScalarCodeInfo Class Reference

#include <ScalarCodeInfo.h>

List of all members.

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_twriters ()
BoolVector_treaders ()
void useGuards (int i, bool f)
BoolVector_tuseGuards ()
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)

Member Typedef Documentation

typedef std::vector<int> ScalarCodeInfo::Extents_t
typedef std::vector<bool> ScalarCodeInfo::BoolVector_t

Constructor & Destructor Documentation


Member Function Documentation

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.

void ScalarCodeInfo::useGuards ( int  i,
bool  f 
) [inline]
template<int D>
Interval<D> ScalarCodeInfo::extendDomain ( const Interval< D > &  domain) [inline]
template<int D>
Interval<D> ScalarCodeInfo::evaluationDomain ( const Interval< D > &  domain) [inline]
template<int D>
INode<D> ScalarCodeInfo::extendDomain ( const INode< D > &  inode) [inline]

The documentation for this class was generated from the following file: