escript  Revision_
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
escript::DataLazy Class Reference

Wraps an expression tree of other DataObjects. The data will be evaluated when required. More...

#include <DataLazy.h>

Inheritance diagram for escript::DataLazy:
escript::DataAbstract

Public Member Functions

 DataLazy (DataAbstract_ptr p)
 Create an IDENTITY DataLazy for the given DataAbstract. More...
 
 DataLazy (DataAbstract_ptr left, ES_optype op)
 Produce a DataLazy for a unary operation. More...
 
 DataLazy (DataAbstract_ptr left, ES_optype op, double tol)
 Produce a DataLazy for a unary operation. More...
 
 DataLazy (DataAbstract_ptr left, ES_optype op, int axis_offset)
 Produce a DataLazy for a unary operation which requires a parameter. More...
 
 DataLazy (DataAbstract_ptr left, DataAbstract_ptr right, ES_optype op)
 Produce a DataLazy for a binary operation. More...
 
 DataLazy (DataAbstract_ptr left, DataAbstract_ptr right, ES_optype op, int axis_offset, int transpose)
 Produce a DataLazy for a binary operation with additional paramters. More...
 
 DataLazy (DataAbstract_ptr left, ES_optype op, const int axis0, const int axis1)
 Produce a DataLazy for a unary operation which requires two integer parameters. More...
 
 DataLazy (DataAbstract_ptr mask, DataAbstract_ptr left, DataAbstract_ptr right)
 Produce a DataLazy for a unary operation which requires two integer parameters. More...
 
 ~DataLazy ()
 
DataReady_ptr resolve ()
 Evaluate the lazy expression. More...
 
std::string toString () const
 Write the data as a string. More...
 
DataAbstractdeepCopy () const
 Return a deep copy of the current object. More...
 
DataTypes::RealVectorType::size_type getLength () const
 This method throws an exception. It does not really make sense to ask this question of lazy data. More...
 
DataAbstractgetSlice (const DataTypes::RegionType &region) const
 Return the given slice from this object. More...
 
DataTypes::RealVectorType::size_type getPointOffset (int sampleNo, int dataPointNo) const
 Return the offset for the given sample. This returns the offset for the given point into the container holding the point data. More...
 
DataTypes::RealVectorType::size_type getPointOffset (int sampleNo, int dataPointNo)
 
size_t getMaxSampleSize () const
 
const DataTypes::RealVectorTyperesolveSample (int sampleNo, size_t &roffset) const
 Compute the value of the expression for the given sample. More...
 
bool actsExpanded () const
 if resolve() was called would it produce expanded data. More...
 
virtual void setToZero ()
 Produces an IDENTITY DataLazy containing zero. The result will have the same shape and functionspace as before. More...
 
void resolveGroupWorker (std::vector< DataLazy *> &dats)
 
- Public Member Functions inherited from escript::DataAbstract
DataAbstract_ptr getPtr ()
 Return shared pointer managing this object. More...
 
const_DataAbstract_ptr getPtr () const
 
 DataAbstract (const FunctionSpace &what, const ShapeType &shape, bool isDataEmpty=false, bool isCplx=false)
 Constructor for DataAbstract. More...
 
virtual ~DataAbstract ()
 Destructor for DataAbstract. More...
 
virtual void dump (const std::string fileName) const
 dumps the object into a netCDF file More...
 
int getNumDPPSample () const
 Return the number of data points per sample. More...
 
int getNumSamples () const
 Return the number of samples. More...
 
bool hasNoSamples () const
 
const DataTypes::ShapeTypegetShape () const
 Return the shape information for the point data. More...
 
unsigned int getRank () const
 Return the rank information for the point data. More...
 
virtual DataTypes::real_tgetSampleDataByTag (int tag, DataTypes::real_t dummy=0)
 Return the real sample data for the given tag key. NB: If the data isn't tagged an exception will be thrown. More...
 
virtual DataTypes::cplx_tgetSampleDataByTag (int tag, DataTypes::cplx_t dummy)
 Return the complex sample data for the given tag key. NB: If the data isn't tagged an exception will be thrown. More...
 
virtual size_t getTagCount () const
 Return number of tagged values stored in the data object. More...
 
void operandCheck (const DataAbstract &right) const
 Check this and the given RHS operands are compatible. Throws an exception if they aren't. More...
 
bool validSamplePointNo (int samplePointNo) const
 Return true if a valid sample point number. More...
 
bool validSampleNo (int sampleNo) const
 Return true if a valid sample number. More...
 
const FunctionSpacegetFunctionSpace () const
 Return the function space associated with this Data object. More...
 
virtual void setTaggedValue (int tagKey, const DataTypes::ShapeType &pointshape, const DataTypes::RealVectorType &value, int dataOffset=0)
 setTaggedValue More...
 
virtual void setTaggedValue (int tagKey, const DataTypes::ShapeType &pointshape, const DataTypes::CplxVectorType &value, int dataOffset=0)
 
virtual void copyToDataPoint (const int sampleNo, const int dataPointNo, const DataTypes::real_t value)
 Copy a double value to the data point dataPointNo of sample sampleNo in this object. More...
 
virtual void copyToDataPoint (const int sampleNo, const int dataPointNo, const DataTypes::cplx_t value)
 
virtual void copyToDataPoint (const int sampleNo, const int dataPointNo, const WrappedArray &value)
 Copy the array object to the data point dataPointNo of sample sampleNo in this object. More...
 
virtual int getTagNumber (int dpno)
 Return the tag number associated with the given data-point number. More...
 
virtual void symmetric (DataAbstract *ev)
 Computes a symmetric matrix (A + AT) / 2. More...
 
virtual void antisymmetric (DataAbstract *ev)
 Computes a antisymmetric matrix (A - AT) / 2. More...
 
virtual void hermitian (DataAbstract *ev)
 Computes a symmetric matrix (A + A*) / 2. More...
 
virtual void antihermitian (DataAbstract *ev)
 Computes a antisymmetric matrix (A - A*) / 2. More...
 
virtual void trace (DataAbstract *ev, int axis_offset)
 Computes the trace of a matrix. More...
 
virtual void transpose (DataAbstract *ev, int axis_offset)
 Transpose each data point of this Data object around the given axis. More...
 
virtual void swapaxes (DataAbstract *ev, int axis0, int axis1)
 swaps components axis0 and axis1 More...
 
virtual void eigenvalues (DataAbstract *ev)
 solves the eigenvalue problem this*V=ev*V for the eigenvalues ev More...
 
virtual int matrixInverse (DataAbstract *out) const
 invert square matricies More...
 
virtual void eigenvalues_and_eigenvectors (DataAbstract *ev, DataAbstract *V, const double tol=1.e-13)
 solves the eigenvalue problem this*V=ev*V for the eigenvalues ev and eigenvectors V More...
 
virtual void reorderByReferenceIDs (DataTypes::dim_t *reference_ids)
 reorders data sample ordered by reference_ids to the ordering of the functions space More...
 
unsigned int getNoValues () const
 Return the number of values in the shape for this object. More...
 
bool isLazy () const
 
virtual bool isConstant () const
 
virtual bool isExpanded () const
 
virtual bool isTagged () const
 
bool isEmpty () const
 
bool isComplex () const
 true if the components of datapoints are complex More...
 
virtual void complicate ()
 

Private Types

typedef DataAbstract parent
 
typedef DataTypes::ShapeType ShapeType
 

Private Member Functions

void LazyNodeSetup ()
 
const DataTypes::RealVectorTyperesolveNodeUnary (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeReduction (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeSample (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeBinary (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeNP1OUT (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeNP1OUT_P (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeTProd (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeNP1OUT_2P (int tid, int sampleNo, size_t &roffset) const
 
const DataTypes::RealVectorTyperesolveNodeCondEval (int tid, int sampleNo, size_t &roffset) const
 
void intoString (std::ostringstream &oss) const
 
void intoTreeString (std::ostringstream &oss, std::string indent) const
 
void collapse () const
 Converts the DataLazy into an IDENTITY storing the value of the expression. This method uses the original methods on the Data class to evaluate the expressions. For this reason, it should not be used on DataExpanded instances. (To do so would defeat the purpose of using DataLazy in the first place). More...
 
DataReady_ptr collapseToReady () const
 Evaluates the expression using methods on Data. This does the work for the collapse method. For reasons of efficiency do not call this method on DataExpanded nodes. More...
 
void resolveToIdentity ()
 resolve the expression can store it in the current node The current node will be converted to an identity node. More...
 
void makeIdentity (const DataReady_ptr &p)
 helper method for resolveToIdentity and the identity constructor More...
 
DataReady_ptr resolveNodeWorker ()
 resolve to a ReadyData object using storage at nodes More...
 

Private Attributes

DataReady_ptr m_id
 
DataLazy_ptr m_left
 
DataLazy_ptr m_right
 
DataLazy_ptr m_mask
 
ES_optype m_op
 
size_t m_samplesize
 
char m_readytype
 
int m_axis_offset
 
int m_transpose
 
int m_SL
 
int m_SM
 
int m_SR
 
double m_tol
 
size_t m_children
 
size_t m_height
 
int * m_sampleids
 
DataTypes::RealVectorType m_samples
 

Additional Inherited Members

- Public Types inherited from escript::DataAbstract
typedef DataTypes::ShapeType ShapeType
 
- Protected Attributes inherited from escript::DataAbstract
int m_noSamples
 
int m_noDataPointsPerSample
 
bool m_iscompl
 

Detailed Description

Wraps an expression tree of other DataObjects. The data will be evaluated when required.

NOTE: This class assumes that the Data being pointed at are immutable.

Member Typedef Documentation

◆ parent

◆ ShapeType

Constructor & Destructor Documentation

◆ DataLazy() [1/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  p)

Create an IDENTITY DataLazy for the given DataAbstract.

Parameters
pDataAbstract to be wrapped.
Exceptions
DataExceptionif p is lazy data or it is not constant, tagged or expanded.

References LAZYDEBUG, m_id, m_samplesize, and makeIdentity().

Referenced by DataLazy(), and deepCopy().

◆ DataLazy() [2/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
ES_optype  op 
)

Produce a DataLazy for a unary operation.

Parameters
leftDataAbstract to be operated on.
opunary operation to perform.
Exceptions
DataExceptionif op is not a unary operation or if p cannot be converted to a DataLazy. Note that IDENTITY is not considered a unary operation.

References DataLazy(), escript::G_NP1OUT, escript::G_REDUCTION, escript::G_UNARY, escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_samplesize, and SIZELIMIT.

◆ DataLazy() [3/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
ES_optype  op,
double  tol 
)

Produce a DataLazy for a unary operation.

Parameters
leftDataAbstract to be operated on.
opunary operation to perform.
toltolerance for operation
Exceptions
DataExceptionif op is not a unary operation or if p cannot be converted to a DataLazy. Note that IDENTITY is not considered a unary operation.

References DataLazy(), escript::G_UNARY_P, escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_samplesize, and SIZELIMIT.

◆ DataLazy() [4/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
ES_optype  op,
int  axis_offset 
)

Produce a DataLazy for a unary operation which requires a parameter.

Parameters
leftDataAbstract to be operated on.
opunary operation to perform.
axis_offsetthe parameter for the operation
Exceptions
DataExceptionif op is not a unary operation or if p cannot be converted to a DataLazy. Note that IDENTITY is not considered a unary operation.

References DataLazy(), escript::G_NP1OUT_P, escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_samplesize, and SIZELIMIT.

◆ DataLazy() [5/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
DataAbstract_ptr  right,
ES_optype  op 
)

Produce a DataLazy for a binary operation.

Parameters
leftleft operand
rightright operand
opunary operation to perform.
Exceptions
DataExceptionif op is not a binary operation or if left or right cannot be converted to a DataLazy.

References escript::Data::borrowDataPtr(), DataLazy(), escript::G_BINARY, escript::DataAbstract::getFunctionSpace(), escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_right, m_samplesize, and SIZELIMIT.

◆ DataLazy() [6/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
DataAbstract_ptr  right,
ES_optype  op,
int  axis_offset,
int  transpose 
)

Produce a DataLazy for a binary operation with additional paramters.

Parameters
leftleft operand
rightright operand
opunary operation to perform.
axis_offset
transpose
Exceptions
DataExceptionif op is not a binary operation requiring parameters or if left or right cannot be converted to a DataLazy.

References escript::Data::borrowDataPtr(), DataLazy(), escript::G_TENSORPROD, escript::DataAbstract::getFunctionSpace(), escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_right, m_samplesize, and SIZELIMIT.

◆ DataLazy() [7/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  left,
ES_optype  op,
const int  axis0,
const int  axis1 
)

Produce a DataLazy for a unary operation which requires two integer parameters.

Parameters
leftDataAbstract to be operated on.
opunary operation to perform.
axis0the first parameter for the operation
axis1the second parameter for the operation
Exceptions
DataExceptionif op is not a unary operation or if p cannot be converted to a DataLazy. Note that IDENTITY is not considered a unary operation.

References DataLazy(), escript::G_NP1OUT_2P, escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), escript::getOpgroup(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_readytype, m_samplesize, and SIZELIMIT.

◆ DataLazy() [8/8]

escript::DataLazy::DataLazy ( DataAbstract_ptr  mask,
DataAbstract_ptr  left,
DataAbstract_ptr  right 
)

Produce a DataLazy for a unary operation which requires two integer parameters.

Parameters
maskscalar mask to select values.
leftDataAbstract to use for true mask.
rightDataAbstract to use for false mask.

References DataLazy(), escript::DataAbstract::getNoValues(), escript::DataAbstract::getNumDPPSample(), LAZYDEBUG, LazyNodeSetup(), m_children, m_height, m_left, m_mask, m_readytype, m_right, m_samplesize, and SIZELIMIT.

◆ ~DataLazy()

escript::DataLazy::~DataLazy ( )

References m_sampleids.

Member Function Documentation

◆ actsExpanded()

bool escript::DataLazy::actsExpanded ( ) const
virtual

if resolve() was called would it produce expanded data.

Reimplemented from escript::DataAbstract.

References m_readytype.

◆ collapse()

void escript::DataLazy::collapse ( ) const
private

Converts the DataLazy into an IDENTITY storing the value of the expression. This method uses the original methods on the Data class to evaluate the expressions. For this reason, it should not be used on DataExpanded instances. (To do so would defeat the purpose of using DataLazy in the first place).

References collapseToReady(), escript::IDENTITY, m_id, m_op, and m_readytype.

Referenced by getPointOffset(), resolveNodeSample(), and resolveNodeWorker().

◆ collapseToReady()

DataReady_ptr escript::DataLazy::collapseToReady ( ) const
private

Evaluates the expression using methods on Data. This does the work for the collapse method. For reasons of efficiency do not call this method on DataExpanded nodes.

References escript::ABS, escript::Data::abs(), escript::ACOS, escript::Data::acos(), escript::ACOSH, escript::Data::acosh(), escript::ADD, escript::Data::antisymmetric(), escript::ASIN, escript::Data::asin(), escript::ASINH, escript::Data::asinh(), escript::ATAN, escript::Data::atan(), escript::ATANH, escript::Data::atanh(), escript::C_GeneralTensorProduct(), escript::COS, escript::Data::cos(), escript::COSH, escript::Data::cosh(), escript::DIV, escript::ERF, escript::Data::erf(), escript::EXP, escript::Data::exp(), escript::EZ, escript::G_BINARY, escript::G_TENSORPROD, escript::getOpgroup(), escript::GEZ, escript::GZ, escript::HER, escript::Data::hermitian(), escript::IDENTITY, escript::LEZ, escript::LOG, escript::Data::log(), escript::LOG10, escript::Data::log10(), escript::LZ, m_axis_offset, m_id, m_left, m_op, m_readytype, m_right, m_tol, m_transpose, escript::MAXVAL, escript::MINVAL, escript::Data::minval(), escript::MUL, escript::NEG, escript::Data::neg(), escript::NEZ, escript::NSYM, escript::Data::oneOver(), escript::opToString(), escript::POS, escript::PROD, escript::RECIP, escript::SIGN, escript::Data::sign(), escript::SIN, escript::Data::sin(), escript::SINH, escript::Data::sinh(), escript::SQRT, escript::Data::sqrt(), escript::SUB, escript::SWAP, escript::Data::swapaxes(), escript::SYM, escript::Data::symmetric(), escript::TAN, escript::Data::tan(), escript::TANH, escript::Data::tanh(), escript::TRACE, escript::Data::trace(), escript::TRANS, escript::Data::transpose(), escript::Data::whereNegative(), escript::Data::whereNonNegative(), escript::Data::whereNonPositive(), escript::Data::whereNonZero(), escript::Data::wherePositive(), and escript::Data::whereZero().

Referenced by collapse().

◆ deepCopy()

DataAbstract * escript::DataLazy::deepCopy ( ) const
virtual

◆ getLength()

DataTypes::RealVectorType::size_type escript::DataLazy::getLength ( ) const
virtual

This method throws an exception. It does not really make sense to ask this question of lazy data.

Implements escript::DataAbstract.

◆ getMaxSampleSize()

size_t escript::DataLazy::getMaxSampleSize ( ) const
Returns
the largest samplesize required to evaluate the expression.

◆ getPointOffset() [1/2]

DataTypes::RealVectorType::size_type escript::DataLazy::getPointOffset ( int  sampleNo,
int  dataPointNo 
) const
virtual

Return the offset for the given sample. This returns the offset for the given point into the container holding the point data.

Parameters
sampleNo- Input - sample number.
dataPointNo- Input - data point number.

Implements escript::DataAbstract.

References escript::IDENTITY, m_id, m_left, m_op, m_readytype, and m_right.

◆ getPointOffset() [2/2]

DataTypes::RealVectorType::size_type escript::DataLazy::getPointOffset ( int  sampleNo,
int  dataPointNo 
)

◆ getSlice()

DataAbstract * escript::DataLazy::getSlice ( const DataTypes::RegionType region) const
virtual

Return the given slice from this object.

NB: The caller is responsible for managing the object created.

Implements escript::DataAbstract.

◆ intoString()

void escript::DataLazy::intoString ( std::ostringstream &  oss) const
private

◆ intoTreeString()

void escript::DataLazy::intoTreeString ( std::ostringstream &  oss,
std::string  indent 
) const
private

◆ LazyNodeSetup()

void escript::DataLazy::LazyNodeSetup ( )
private

Allocates sample storage at each node

Referenced by DataLazy().

◆ makeIdentity()

void escript::DataLazy::makeIdentity ( const DataReady_ptr p)
private

helper method for resolveToIdentity and the identity constructor

References escript::IDENTITY, m_axis_offset, m_children, m_height, m_id, m_left, m_op, m_readytype, m_right, m_samplesize, m_SL, m_SM, m_SR, and m_transpose.

Referenced by DataLazy(), and resolveToIdentity().

◆ resolve()

DataReady_ptr escript::DataLazy::resolve ( )
virtual

Evaluate the lazy expression.

Returns
A DataReady with the value of the lazy expresion.

Implements escript::DataAbstract.

References m_id, and resolveToIdentity().

◆ resolveGroupWorker()

void escript::DataLazy::resolveGroupWorker ( std::vector< DataLazy *> &  dats)

◆ resolveNodeBinary()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeBinary ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeCondEval()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeCondEval ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeNP1OUT()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeNP1OUT ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeNP1OUT_2P()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeNP1OUT_2P ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeNP1OUT_P()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeNP1OUT_P ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeReduction()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeReduction ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeSample()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeSample ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeTProd()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeTProd ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeUnary()

const DataTypes::RealVectorType * escript::DataLazy::resolveNodeUnary ( int  tid,
int  sampleNo,
size_t &  roffset 
) const
private

◆ resolveNodeWorker()

DataReady_ptr escript::DataLazy::resolveNodeWorker ( )
private

◆ resolveSample()

const DataTypes::RealVectorType * escript::DataLazy::resolveSample ( int  sampleNo,
size_t &  roffset 
) const

Compute the value of the expression for the given sample.

Returns
Vector which stores the value of the subexpression for the given sample.
Parameters
sampleNoSample number to evaluate.
roffset(output parameter) the offset in the return vector where the result begins.

The return value will be an existing vector so do not deallocate it.

References resolveNodeSample().

Referenced by escript::Data::getSampleDataRO(), and escript::Data::lazyAlgWorker().

◆ resolveToIdentity()

void escript::DataLazy::resolveToIdentity ( )
private

resolve the expression can store it in the current node The current node will be converted to an identity node.

References escript::IDENTITY, m_op, makeIdentity(), and resolveNodeWorker().

Referenced by resolve().

◆ setToZero()

void escript::DataLazy::setToZero ( )
virtual

Produces an IDENTITY DataLazy containing zero. The result will have the same shape and functionspace as before.

Reimplemented from escript::DataAbstract.

◆ toString()

std::string escript::DataLazy::toString ( ) const
virtual

Member Data Documentation

◆ m_axis_offset

int escript::DataLazy::m_axis_offset
private

◆ m_children

size_t escript::DataLazy::m_children
private

Referenced by DataLazy(), and makeIdentity().

◆ m_height

size_t escript::DataLazy::m_height
private

Referenced by DataLazy(), makeIdentity(), and toString().

◆ m_id

DataReady_ptr escript::DataLazy::m_id
mutableprivate

◆ m_left

DataLazy_ptr escript::DataLazy::m_left
mutableprivate

◆ m_mask

DataLazy_ptr escript::DataLazy::m_mask
mutableprivate

◆ m_op

ES_optype escript::DataLazy::m_op
mutableprivate

◆ m_readytype

char escript::DataLazy::m_readytype
private

◆ m_right

DataLazy_ptr escript::DataLazy::m_right
mutableprivate

◆ m_sampleids

int* escript::DataLazy::m_sampleids
private

Referenced by resolveNodeSample(), and ~DataLazy().

◆ m_samples

DataTypes::RealVectorType escript::DataLazy::m_samples
mutableprivate

◆ m_samplesize

size_t escript::DataLazy::m_samplesize
private

◆ m_SL

int escript::DataLazy::m_SL
private

Referenced by makeIdentity(), and resolveNodeTProd().

◆ m_SM

int escript::DataLazy::m_SM
private

Referenced by makeIdentity(), and resolveNodeTProd().

◆ m_SR

int escript::DataLazy::m_SR
private

Referenced by makeIdentity(), and resolveNodeTProd().

◆ m_tol

double escript::DataLazy::m_tol
private

◆ m_transpose

int escript::DataLazy::m_transpose
private

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