escript  Revision_
Macros
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()

◆ CHECK_DO_CRES

#define CHECK_DO_CRES   escriptParams.getResolveCollective()

◆ MAKELAZYBIN

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

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

◆ MAKELAZYBINSELF

#define MAKELAZYBINSELF (   R,
 
)
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)
#define AUTOLAZYON
Definition: Data.cpp:61
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)

◆ MAKELAZYOP2

#define MAKELAZYOP2 (   X,
  Y,
 
)
Value:
do {\
if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
{\
DataLazy* c=new DataLazy(borrowDataPtr(),X,Y,Z);\
return Data(c);\
}\
}while(0)
#define AUTOLAZYON
Definition: Data.cpp:61
Data represents a collection of datapoints.
Definition: Data.h:63
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,
 
)
Value:
do {\
if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
{\
DataLazy* c=new DataLazy(borrowDataPtr(),X,Y);\
return Data(c);\
}\
}while(0)
#define AUTOLAZYON
Definition: Data.cpp:61
Data represents a collection of datapoints.
Definition: Data.h:63
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");}

◆ THROWONCOMPLEXA

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