Data.cpp File Reference

#include "Data.h"
#include "DataExpanded.h"
#include "DataConstant.h"
#include "DataTagged.h"
#include "DataEmpty.h"
#include "DataLazy.h"
#include "FunctionSpaceFactory.h"
#include "AbstractContinuousDomain.h"
#include "UnaryFuncs.h"
#include "FunctionSpaceException.h"
#include "EscriptParams.h"
#include "esysUtils/blocktimer.h"
#include <fstream>
#include <algorithm>
#include <vector>
#include <functional>
#include <sstream>
#include <boost/python/dict.hpp>
#include <boost/python/extract.hpp>
#include <boost/python/long.hpp>
#include "WrappedArray.h"

Defines

#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)

Functions

template<class ARR>
boost::python::tuple pointToTuple1 (const DataTypes::ShapeType &shape, ARR v, unsigned long offset)
template<class ARR>
boost::python::tuple pointToTuple2 (const DataTypes::ShapeType &shape, ARR v, unsigned long offset)
template<class ARR>
boost::python::tuple pointToTuple3 (const DataTypes::ShapeType &shape, ARR v, unsigned long offset)
template<class ARR>
boost::python::tuple pointToTuple4 (const DataTypes::ShapeType &shape, ARR v, unsigned long offset)
template<class ARR>
boost::python::tuple pointToTuple (const DataTypes::ShapeType &shape, ARR v)
Data escript::operator+ (const Data &left, const Data &right)
 Operator+ Takes two Data objects.
Data escript::operator- (const Data &left, const Data &right)
 Operator- Takes two Data objects.
Data escript::operator* (const Data &left, const Data &right)
 Operator* Takes two Data objects.
Data escript::operator/ (const Data &left, const Data &right)
 Operator/ Takes two Data objects.
Data escript::operator+ (const Data &left, const boost::python::object &right)
 Operator+ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.
Data escript::operator- (const Data &left, const boost::python::object &right)
 Operator- Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.
Data escript::operator* (const Data &left, const boost::python::object &right)
 Operator* Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.
Data escript::operator/ (const Data &left, const boost::python::object &right)
 Operator/ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.
Data escript::operator+ (const boost::python::object &left, const Data &right)
 Operator+ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.
Data escript::operator- (const boost::python::object &left, const Data &right)
 Operator- Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.
Data escript::operator* (const boost::python::object &left, const Data &right)
 Operator* Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.
Data escript::operator/ (const boost::python::object &left, const Data &right)
 Operator/ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.
ostream & escript::operator<< (std::ostream &o, const Data &data)
 Output operator.
Data escript::C_GeneralTensorProduct (Data &arg_0, Data &arg_1, int axis_offset=0, int transpose=0)
 Compute a tensor product of two Data objects.

Define Documentation

#define AUTOLAZYON   escriptParams.getAUTOLAZY()

#define MAKELAZYBIN ( R,
 ) 

Value:

if (isLazy() || R.isLazy() || (AUTOLAZYON && (isExpanded() || R.isExpanded()))) \
  {\
    DataLazy* c=new DataLazy(m_data,R.borrowDataPtr(),X);\
    return Data(c);\
  }

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

#define MAKELAZYBIN2 ( L,
R,
 ) 

Value:

if (L.isLazy() || R.isLazy() || (AUTOLAZYON && (L.isExpanded() || R.isExpanded()))) \
  {\
    DataLazy* c=new DataLazy(L.borrowDataPtr(),R.borrowDataPtr(),X);\
    return Data(c);\
  }

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

#define MAKELAZYBINSELF ( R,
 ) 

Value:

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);\
  }

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

#define MAKELAZYOP (  ) 

#define MAKELAZYOP2 ( X,
Y,
 ) 

Value:

if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
  {\
    DataLazy* c=new DataLazy(borrowDataPtr(),X,Y,Z);\
    return Data(c);\
  }

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

#define MAKELAZYOPOFF ( X,
 ) 

Value:

if (isLazy() || (AUTOLAZYON && m_data->isExpanded())) \
  {\
    DataLazy* c=new DataLazy(borrowDataPtr(),X,Y);\
    return Data(c);\
  }

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


Function Documentation

template<class ARR>
boost::python::tuple @11::pointToTuple ( const DataTypes::ShapeType shape,
ARR  v 
) [inline, static]

template<class ARR>
boost::python::tuple @11::pointToTuple1 ( const DataTypes::ShapeType shape,
ARR  v,
unsigned long  offset 
) [inline, static]

template<class ARR>
boost::python::tuple @11::pointToTuple2 ( const DataTypes::ShapeType shape,
ARR  v,
unsigned long  offset 
) [inline, static]

template<class ARR>
boost::python::tuple @11::pointToTuple3 ( const DataTypes::ShapeType shape,
ARR  v,
unsigned long  offset 
) [inline, static]

template<class ARR>
boost::python::tuple @11::pointToTuple4 ( const DataTypes::ShapeType shape,
ARR  v,
unsigned long  offset 
) [inline, static]


Generated on Mon Aug 10 10:04:43 2009 for ESYS13 by  doxygen 1.5.6