Data.cpp File Reference
`#include "Data.h"`
`#include "AbstractContinuousDomain.h"`
`#include "DataConstant.h"`
`#include "DataEmpty.h"`
`#include "DataExpanded.h"`
`#include "DataLazy.h"`
`#include "DataTagged.h"`
`#include "EscriptParams.h"`
`#include "FunctionSpaceException.h"`
`#include "FunctionSpaceFactory.h"`
`#include "BinaryDataReadyOps.h"`
`#include <algorithm>`
`#include <fstream>`
`#include <functional>`
`#include <sstream>`
`#include <vector>`
`#include <iostream>`
`#include <boost/python/dict.hpp>`
`#include <boost/python/extract.hpp>`
`#include <boost/python/long.hpp>`
`#include "WrappedArray.h"`

## Macros

#define | THROWONCOMPLEX if (m_data->isComplex()){throw DataException("Operation does not support complex objects");}
#define | THROWONCOMPLEXA(Z) if (Z.isComplex()){throw DataException("Operation does not support complex objects");}
#define | AUTOLAZYON escriptParams.getAutoLazy()
#define | MAKELAZYOP(X)
#define | MAKELAZYOPOFF(X, Y)
#define | MAKELAZYOP2(X, Y, Z)
#define | MAKELAZYBINSELF(R, X)
#define | MAKELAZYBIN(R, X)
#define | MAKELAZYBIN2(L, R, X)
#define | CHECK_DO_CRES escriptParams.getResolveCollective()

## Macro Definition Documentation

## AUTOLAZYON

#define AUTOLAZYON escriptParams.getAutoLazy()

Referenced by escript::C_GeneralTensorProduct(), and escript::condEval().

## CHECK_DO_CRES

#define CHECK_DO_CRES escriptParams.getResolveCollective()

Referenced by escript::Data::inf(), escript::Data::Lsup(), and escript::Data::sup().

## MAKELAZYBIN

#define MAKELAZYBIN | ( |  | R,
|  |  | X
| ) |  |

Value:
do {\
if (isLazy() || R.isLazy() || (AUTOLAZYON && (isExpanded() || R.isExpanded()))) \
{\
DataLazy* c=new DataLazy(m_data,R.borrowDataPtr(),X);\
return Data(c);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:63
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::Data::powD().

## MAKELAZYBIN2

#define MAKELAZYBIN2 | ( |  | L,
|  |  | R,
|  |  | X
| ) |  |

Value:
do {\
if (L.isLazy() || R.isLazy() || (AUTOLAZYON && (L.isExpanded() || R.isExpanded()))) \
{\
/* if (L.isComplex() || R.isComplex()) \
{\
throw DataException("Lazy operations on complex not supported yet");\
}\
*/ DataLazy* c=new DataLazy(L.borrowDataPtr(),R.borrowDataPtr(),X);\
return Data(c);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:63
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::operator*(), escript::operator+(), escript::operator-(), and escript::operator/().

## MAKELAZYBINSELF

#define MAKELAZYBINSELF | ( |  | R,
|  |  | X
| ) |  |

Value:
do {\
if (isLazy() || R.isLazy() || (AUTOLAZYON && (isExpanded() || R.isExpanded()))) \
{\
DataLazy* c=new DataLazy(m_data,R.borrowDataPtr(),X);\
/* m_data=c->getPtr();*/ set_m_data(c->getPtr());\
return (*this);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::Data::operator*=(), escript::Data::operator+=(), escript::Data::operator-=(), and escript::Data::operator/=().

## MAKELAZYOP

#define MAKELAZYOP | ( |  | X | ) |

Value:
do {\
if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
{\
DataLazy* c=new DataLazy(borrowDataPtr(),X);\
return Data(c);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:63
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::Data::abs(), escript::Data::acos(), escript::Data::acosh(), escript::Data::antihermitian(), escript::Data::antisymmetric(), escript::Data::asin(), escript::Data::asinh(), escript::Data::atan(), escript::Data::atanh(), escript::Data::cos(), escript::Data::cosh(), escript::Data::erf(), escript::Data::exp(), escript::Data::hermitian(), escript::Data::log(), escript::Data::log10(), escript::Data::maxval(), escript::Data::minval(), escript::Data::neg(), escript::Data::oneOver(), escript::Data::sign(), escript::Data::sin(), escript::Data::sinh(), escript::Data::sqrt(), escript::Data::symmetric(), escript::Data::tan(), escript::Data::tanh(), escript::Data::whereNegative(), escript::Data::whereNonNegative(), escript::Data::whereNonPositive(), and escript::Data::wherePositive().

## MAKELAZYOP2

#define MAKELAZYOP2 | ( |  | X,
|  |  | Y,
|  |  | Z
| ) |  |

Value:
do {\
if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
{\
DataLazy* c=new DataLazy(borrowDataPtr(),X,Y,Z);\
return Data(c);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:63
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::Data::swapaxes().

## MAKELAZYOPOFF

#define MAKELAZYOPOFF | ( |  | X,
|  |  | Y
| ) |  |

Value:
do {\
if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
{\
DataLazy* c=new DataLazy(borrowDataPtr(),X,Y);\
return Data(c);\
}\
}while(0)
AUTOLAZYON
#define AUTOLAZYON
Definition: Data.cpp:61
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:63
escript::DataLazy
Wraps an expression tree of other DataObjects. The data will be evaluated when required.
Definition: DataLazy.h:47

Referenced by escript::Data::trace(), escript::Data::transpose(), escript::Data::whereNonZero(), and escript::Data::whereZero().

## THROWONCOMPLEX

#define THROWONCOMPLEX if (m_data->isComplex()){throw DataException("Operation does not support complex objects");}

Referenced by escript::Data::bessel(), escript::Data::besselFirstKind(), escript::Data::besselSecondKind(), escript::Data::calc_maxGlobalDataPoint(), escript::Data::calc_minGlobalDataPoint(), escript::Data::eigenvalues_and_eigenvectors(), escript::Data::getValueOfGlobalDataPointAsTuple(), escript::Data::matrixInverse(), escript::Data::maxGlobalDataPoint(), escript::Data::maxval(), escript::Data::maxval_nonlazy(), escript::Data::minGlobalDataPoint(), escript::Data::minval(), escript::Data::minval_nonlazy(), escript::Data::pos(), escript::Data::setTupleForGlobalDataPoint(), and escript::Data::sign().

## THROWONCOMPLEXA

#define THROWONCOMPLEXA | ( |  | Z | ) | if (Z.isComplex()){throw DataException("Operation does not support complex objects");}