BinaryDataReadyOps.h
Go to the documentation of this file.
/*****************************************************************************
*
* Copyright (c) 2003-2020 by The University of Queensland
* http://www.uq.edu.au
*
* Primary Business: Queensland, Australia
* Licensed under the Apache License, version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
* Development 2012-2013 by School of Earth Sciences
* Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
* Development from 2019 by School of Earth and Environmental Sciences
**
*****************************************************************************/
#ifndef __ESCRIPT_BINARYOP_H__
#define __ESCRIPT_BINARYOP_H__
#include "system_dep.h"
#include "DataTypes.h"
#include "DataConstant.h"
#include "DataExpanded.h"
#include "DataVectorOps.h"
#include "DataTagged.h"
namespace escript {
void binaryOpDataCCC(DataConstant& result, const DataConstant& left, const DataConstant& right,
escript::ES_optype operation);
void binaryOpDataTCT(DataTagged& result, const DataConstant& left, const DataTagged& right,
escript::ES_optype operation);
void binaryOpDataTTC(DataTagged& result, const DataTagged& left, const DataConstant& right,
escript::ES_optype operation);
void binaryOpDataTTT(DataTagged& result, const DataTagged& left, const DataTagged& right,
escript::ES_optype operation);
void binaryOpDataEEC(DataExpanded& result, const DataExpanded& left, const DataConstant& right,
escript::ES_optype operation);
void binaryOpDataECE(DataExpanded& result, const DataConstant& left, const DataExpanded& right,
escript::ES_optype operation);
void binaryOpDataEEE(DataExpanded& result, const DataExpanded& left, const DataExpanded& right,
escript::ES_optype operation);
void binaryOpDataETE(DataExpanded& result, const DataTagged& left, const DataExpanded& right,
escript::ES_optype operation);
void binaryOpDataEET(DataExpanded& result, const DataExpanded& left, const DataTagged& right,
escript::ES_optype operation);
} // end of namespace
#endif // __ESCRIPT_BINARYOP_H__
PASO_ONE
#define PASO_ONE
Definition: Paso.h:68
escript::DataTagged::getTagLookup
const DataMapType & getTagLookup() const
getTagLookup
Definition: DataTagged.h:776
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:52
escript::DataTypes::DataVectorAlt< real_t >::size_type
DataTypes::vec_size_type size_type
Definition: DataVectorAlt.h:92
paso::SystemMatrix_ptr
boost::shared_ptr< SystemMatrix > SystemMatrix_ptr
Definition: SystemMatrix.h:55
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:52
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:174
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:667
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:74
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:72
escript::binaryOpDataReadyHelperTCT
void binaryOpDataReadyHelperTCT(DataTagged &res, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
Definition: BinaryDataReadyOps.cpp:104
system_dep.h
Solver.h
paso::Breakdown
@ Breakdown
Definition: Paso.h:76
paso::Solver_BiCGStab
SolverResult Solver_BiCGStab(SystemMatrix_ptr A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: BiCGStab.cpp:92
escript::DataTagged
Simulates a full dataset accessible via sampleNo and dataPointNo.
Definition: DataTagged.h:59
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:626
escript::DataException
Definition: DataException.h:41
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:93
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:656
escript::DataAbstract::getNumSamples
int getNumSamples() const
Return the number of samples.
Definition: DataAbstract.h:637
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:57
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:73
escript::DataExpanded
Give a short description of what DataExpanded does.
Definition: DataExpanded.h:58
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:41
TOLERANCE_FOR_SCALARS
#define TOLERANCE_FOR_SCALARS
Definition: Solver.h:43
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:47
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
paso
Definition: BiCGStab.cpp:26
paso::NoError
@ NoError
Definition: Paso.h:72
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:69
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