Go to the documentation of this file.
18 #ifndef __ESCRIPT_BINARYOP_H__
19 #define __ESCRIPT_BINARYOP_H__
38 void binaryOpDataCCC(DataConstant& result,
const DataConstant& left,
const DataConstant& right,
40 void binaryOpDataTCT(DataTagged& result,
const DataConstant& left,
const DataTagged& right,
42 void binaryOpDataTTC(DataTagged& result,
const DataTagged& left,
const DataConstant& right,
44 void binaryOpDataTTT(DataTagged& result,
const DataTagged& left,
const DataTagged& right,
46 void binaryOpDataEEC(DataExpanded& result,
const DataExpanded& left,
const DataConstant& right,
48 void binaryOpDataECE(DataExpanded& result,
const DataConstant& left,
const DataExpanded& right,
50 void binaryOpDataEEE(DataExpanded& result,
const DataExpanded& left,
const DataExpanded& right,
52 void binaryOpDataETE(DataExpanded& result,
const DataTagged& left,
const DataExpanded& right,
54 void binaryOpDataEET(DataExpanded& result,
const DataExpanded& left,
const DataTagged& right,
59 #endif // __ESCRIPT_BINARYOP_H__
#define PASO_ONE
Definition: Paso.h:68
const DataMapType & getTagLookup() const
getTagLookup
Definition: DataTagged.h:762
void addTag(int tagKey)
addTag - does not modify the default value for this object. ** Not unit tested **
Definition: DataTagged.cpp:685
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataConstant.cpp:872
void binaryOpDataEEC(DataExpanded &result, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:752
void binaryOpDataEEE(DataExpanded &result, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:834
virtual DataTypes::RealVectorType & getTypedVectorRW(DataTypes::real_t dummy)
These versions use the type system rather than method name to determine return type.
Definition: DataExpanded.cpp:1526
void binaryOpDataReadyHelperTTT(DataTagged &res, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:559
DataConstant stores a single data point which represents the entire function space.
Definition: DataConstant.h:38
DataTypes::vec_size_type size_type
Definition: DataVectorAlt.h:50
boost::shared_ptr< SystemMatrix > SystemMatrix_ptr
Definition: SystemMatrix.h:41
void binaryOpDataEET(DataExpanded &result, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:327
#define MPI_SUM
Definition: EsysMPI.h:52
void binaryOpDataReadyHelperEEC(DataExpanded &res, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:710
bool hasNoSamples() const
Definition: DataAbstract.h:160
void binaryOpVectorLeftScalar(DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::real_t *left, const bool leftreset, const DataTypes::RealVectorType &right, typename DataTypes::RealVectorType::size_type rightOffset, escript::ES_optype operation, bool singlerightsample)
Definition: DataVectorOps.cpp:639
unsigned int getRank() const
Return the rank information for the point data.
Definition: DataAbstract.h:653
void binaryOpDataReadyHelperECE(DataExpanded &res, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:230
@ InputError
Definition: Paso.h:46
void binaryOpDataTCT(DataTagged &result, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:191
std::map< int, int > DataMapType
Definition: DataTagged.h:58
void binaryOpDataReadyHelperTCT(DataTagged &res, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:104
@ Breakdown
Definition: Paso.h:48
SolverResult Solver_BiCGStab(SystemMatrix_ptr A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: BiCGStab.cpp:78
Simulates a full dataset accessible via sampleNo and dataPointNo.
Definition: DataTagged.h:46
void binaryOpDataTTT(DataTagged &result, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:672
int getNumDPPSample() const
Return the number of data points per sample.
Definition: DataAbstract.h:612
Definition: DataException.h:28
index_t dim_t
Definition: DataTypes.h:65
Describes binary operations performed on instances of DataAbstract.
virtual DataTypes::RealVectorType & getTypedVectorRW(DataTypes::real_t dummy)
These versions use the type system rather than method name to determine return type.
Definition: DataConstant.cpp:865
int noValues(const ShapeType &shape)
Calculate the number of values in a datapoint with the given shape.
Definition: DataTypes.cpp:91
const DataTypes::ShapeType & getShape() const
Return the shape information for the point data.
Definition: DataAbstract.h:642
int getNumSamples() const
Return the number of samples.
Definition: DataAbstract.h:623
void binaryOpDataECE(DataExpanded &result, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:271
SolverResult
Definition: Paso.h:43
virtual DataTypes::RealVectorType & getTypedVectorRW(DataTypes::real_t dummy)
These versions use the type system rather than method name to determine return type.
Definition: DataTagged.cpp:1669
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataTagged.cpp:1676
@ MaxIterReached
Definition: Paso.h:45
Give a short description of what DataExpanded does.
Definition: DataExpanded.h:44
void binaryOpDataReadyHelperTTC(DataTagged &res, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:424
void binaryOpDataTTC(DataTagged &result, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:520
size_t getTagCount() const
Return the number of tags which have been given values (+the default)
Definition: DataTagged.cpp:1695
void binaryOpDataReadyHelperEET(DataExpanded &res, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:309
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataExpanded.cpp:1532
void binaryOpDataETE(DataExpanded &result, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:383
ES_optype
Definition: ES_optype.h:28
#define TOLERANCE_FOR_SCALARS
Definition: Solver.h:29
void binaryOpDataReadyHelperEEE(DataExpanded &res, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:791
#define MPI_DOUBLE
Definition: EsysMPI.h:47
void binaryOpVectorTagged(DataTypes::RealVectorType &res, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type DPPSample, const typename DataTypes::RealVectorType::size_type DPSize, const DataTypes::RealVectorType &left, const bool leftscalar, const DataTypes::RealVectorType &right, const bool rightscalar, const bool lefttagged, const DataTagged &tagsource, escript::ES_optype operation)
Definition: DataVectorOps.cpp:340
void binaryOpDataReadyHelperETE(DataExpanded &res, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:366
void binaryOpVectorRightScalar(DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::RealVectorType &left, typename DataTypes::RealVectorType::size_type leftOffset, const DataTypes::real_t *right, const bool rightreset, escript::ES_optype operation, bool singleleftsample)
Definition: DataVectorOps.cpp:500
Definition: AbstractContinuousDomain.cpp:23
DataTypes::RealVectorType::size_type getOffsetForTag(int tag) const
getOffsetForTag
Definition: DataTagged.cpp:995
Describes binary operations performed on DataVector.
void binaryOpDataCCC(DataConstant &result, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:66
bool isComplex() const
true if the components of datapoints are complex
Definition: DataAbstract.cpp:70
Definition: BiCGStab.cpp:26
@ NoError
Definition: Paso.h:44
void binaryOpDataReadyHelperCCC(DataConstant &res, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:32
void binaryOpVector(DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::RealVectorType &left, typename DataTypes::RealVectorType::size_type leftOffset, const bool leftreset, const DataTypes::RealVectorType &right, typename DataTypes::RealVectorType::size_type rightOffset, const bool rightreset, escript::ES_optype operation)
Definition: DataVectorOps.cpp:768
#define PASO_ZERO
Definition: Paso.h:69