escript  Revision_
BinaryDataReadyOps.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 #ifndef __ESCRIPT_BINARYOP_H__
19 #define __ESCRIPT_BINARYOP_H__
20 
21 #include "system_dep.h"
22 #include "DataTypes.h"
23 #include "DataConstant.h"
24 #include "DataExpanded.h"
25 #include "DataVectorOps.h"
26 #include "DataTagged.h"
27 
36 namespace escript {
37 
38 void binaryOpDataCCC(DataConstant& result, const DataConstant& left, const DataConstant& right,
39  escript::ES_optype operation);
40 void binaryOpDataTCT(DataTagged& result, const DataConstant& left, const DataTagged& right,
41  escript::ES_optype operation);
42 void binaryOpDataTTC(DataTagged& result, const DataTagged& left, const DataConstant& right,
43  escript::ES_optype operation);
44 void binaryOpDataTTT(DataTagged& result, const DataTagged& left, const DataTagged& right,
45  escript::ES_optype operation);
46 void binaryOpDataEEC(DataExpanded& result, const DataExpanded& left, const DataConstant& right,
47  escript::ES_optype operation);
48 void binaryOpDataECE(DataExpanded& result, const DataConstant& left, const DataExpanded& right,
49  escript::ES_optype operation);
50 void binaryOpDataEEE(DataExpanded& result, const DataExpanded& left, const DataExpanded& right,
51  escript::ES_optype operation);
52 void binaryOpDataETE(DataExpanded& result, const DataTagged& left, const DataExpanded& right,
53  escript::ES_optype operation);
54 void binaryOpDataEET(DataExpanded& result, const DataExpanded& left, const DataTagged& right,
55  escript::ES_optype operation);
56 
57 } // end of namespace
58 
59 #endif // __ESCRIPT_BINARYOP_H__
60 
PASO_ONE
#define PASO_ONE
Definition: Paso.h:68
escript::DataTagged::getTagLookup
const DataMapType & getTagLookup() const
getTagLookup
Definition: DataTagged.h:762
escript::DataTagged::addTag
void addTag(int tagKey)
addTag - does not modify the default value for this object. ** Not unit tested **
Definition: DataTagged.cpp:685
escript::DataConstant::getTypedVectorRO
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataConstant.cpp:872
escript::binaryOpDataEEC
void binaryOpDataEEC(DataExpanded &result, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:752
escript::binaryOpDataEEE
void binaryOpDataEEE(DataExpanded &result, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:834
escript::DataExpanded::getTypedVectorRW
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
escript::binaryOpDataReadyHelperTTT
void binaryOpDataReadyHelperTTT(DataTagged &res, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:559
escript::DataConstant
DataConstant stores a single data point which represents the entire function space.
Definition: DataConstant.h:38
escript::DataTypes::DataVectorAlt< real_t >::size_type
DataTypes::vec_size_type size_type
Definition: DataVectorAlt.h:50
escript::binaryOpDataEET
void binaryOpDataEET(DataExpanded &result, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:327
MPI_SUM
#define MPI_SUM
Definition: EsysMPI.h:54
escript::binaryOpDataReadyHelperEEC
void binaryOpDataReadyHelperEEC(DataExpanded &res, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:710
escript::DataAbstract::hasNoSamples
bool hasNoSamples() const
Definition: DataAbstract.h:160
escript::binaryOpVectorLeftScalar
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
escript::DataAbstract::getRank
unsigned int getRank() const
Return the rank information for the point data.
Definition: DataAbstract.h:653
escript::binaryOpDataReadyHelperECE
void binaryOpDataReadyHelperECE(DataExpanded &res, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:230
paso::InputError
@ InputError
Definition: Paso.h:47
escript::binaryOpDataTCT
void binaryOpDataTCT(DataTagged &result, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:191
escript::DataTagged::DataMapType
std::map< int, int > DataMapType
Definition: DataTagged.h:58
paso::SystemMatrix_ptr
boost::shared_ptr< SystemMatrix< T > > SystemMatrix_ptr
Definition: SystemMatrix.h:42
escript::binaryOpDataReadyHelperTCT
void binaryOpDataReadyHelperTCT(DataTagged &res, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:104
Solver.h
paso::Breakdown
@ Breakdown
Definition: Paso.h:49
escript::DataTagged
Simulates a full dataset accessible via sampleNo and dataPointNo.
Definition: DataTagged.h:46
escript::binaryOpDataTTT
void binaryOpDataTTT(DataTagged &result, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:672
escript::DataAbstract::getNumDPPSample
int getNumDPPSample() const
Return the number of data points per sample.
Definition: DataAbstract.h:612
escript::DataException
Definition: DataException.h:28
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:66
BinaryDataReadyOps.h
Describes binary operations performed on instances of DataAbstract.
escript::DataConstant::getTypedVectorRW
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
DataExpanded.h
escript::DataTypes::noValues
int noValues(const ShapeType &shape)
Calculate the number of values in a datapoint with the given shape.
Definition: DataTypes.cpp:91
escript::DataAbstract::getShape
const DataTypes::ShapeType & getShape() const
Return the shape information for the point data.
Definition: DataAbstract.h:642
escript::DataAbstract::getNumSamples
int getNumSamples() const
Return the number of samples.
Definition: DataAbstract.h:623
paso::Solver_BiCGStab
SolverResult Solver_BiCGStab(SystemMatrix_ptr< double > A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: BiCGStab.cpp:77
escript::binaryOpDataECE
void binaryOpDataECE(DataExpanded &result, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:271
paso::SolverResult
SolverResult
Definition: Paso.h:44
escript::DataTagged::getTypedVectorRW
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
escript::DataTagged::getTypedVectorRO
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataTagged.cpp:1676
SystemMatrix.h
paso::MaxIterReached
@ MaxIterReached
Definition: Paso.h:46
escript::DataExpanded
Give a short description of what DataExpanded does.
Definition: DataExpanded.h:44
escript::binaryOpDataReadyHelperTTC
void binaryOpDataReadyHelperTTC(DataTagged &res, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:424
escript::binaryOpDataTTC
void binaryOpDataTTC(DataTagged &result, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:520
escript::DataTagged::getTagCount
size_t getTagCount() const
Return the number of tags which have been given values (+the default)
Definition: DataTagged.cpp:1695
escript::binaryOpDataReadyHelperEET
void binaryOpDataReadyHelperEET(DataExpanded &res, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:309
DataConstant.h
escript::DataExpanded::getTypedVectorRO
virtual const DataTypes::RealVectorType & getTypedVectorRO(DataTypes::real_t dummy) const
Definition: DataExpanded.cpp:1532
escript::binaryOpDataETE
void binaryOpDataETE(DataExpanded &result, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:383
escript::ES_optype
ES_optype
Definition: ES_optype.h:30
TOLERANCE_FOR_SCALARS
#define TOLERANCE_FOR_SCALARS
Definition: Solver.h:29
escript::binaryOpDataReadyHelperEEE
void binaryOpDataReadyHelperEEE(DataExpanded &res, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:791
MPI_DOUBLE
#define MPI_DOUBLE
Definition: EsysMPI.h:49
escript::binaryOpVectorTagged
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
escript::binaryOpDataReadyHelperETE
void binaryOpDataReadyHelperETE(DataExpanded &res, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:366
escript::binaryOpVectorRightScalar
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
escript
Definition: AbstractContinuousDomain.cpp:23
DataTypes.h
escript::DataTagged::getOffsetForTag
DataTypes::RealVectorType::size_type getOffsetForTag(int tag) const
getOffsetForTag
Definition: DataTagged.cpp:995
DataVectorOps.h
Describes binary operations performed on DataVector.
DataTagged.h
escript::binaryOpDataCCC
void binaryOpDataCCC(DataConstant &result, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:66
escript::DataAbstract::isComplex
bool isComplex() const
true if the components of datapoints are complex
Definition: DataAbstract.cpp:70
system_dep.h
paso
Definition: BiCGStab.cpp:25
paso::NoError
@ NoError
Definition: Paso.h:45
escript::binaryOpDataReadyHelperCCC
void binaryOpDataReadyHelperCCC(DataConstant &res, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:32
paso::Performance
Definition: performance.h:56
escript::binaryOpVector
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
PASO_ZERO
#define PASO_ZERO
Definition: Paso.h:69