Go to the documentation of this file.
21 #ifndef WrappedArray_20081202_H
22 #define WrappedArray_20081202_H
25 #include "boost/python/extract.hpp"
26 #include "boost/python/object.hpp"
39 bool isComplex()
const;
44 DataTypes::real_t getElt(
unsigned int i,
unsigned int j,
unsigned int k,
unsigned int m)
const;
50 DataTypes::cplx_t getEltC(
unsigned int i,
unsigned int j,
unsigned int k,
unsigned int m)
const;
53 void convertArray()
const;
55 void convertArrayR()
const;
56 void convertArrayC()
const;
57 template<
typename T>
void convertNumpyArray(
const T* array,
const std::vector<int>& strides)
const;
58 template<
typename T>
void convertNumpyArrayC(
const T* array,
const std::vector<int>& strides)
const;
59 const boost::python::object&
obj;
106 return (
dat_r!=0)?
dat_r[i]:(boost::python::extract<DataTypes::real_t>(
obj[i].attr(
"__float__")()));
162 return (
dat_r!=0)?
dat_r[i]:(boost::python::extract<DataTypes::real_t>(
obj[i]));
164 return (
dat_c!=0)?
dat_c[i]:(boost::python::extract<DataTypes::cplx_t>(
obj[i]));
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
DataTypes::real_t * dat_r
Definition: WrappedArray.h:66
void convertNumpyArrayC(const T *array, const std::vector< int > &strides) const
Definition: WrappedArray.cpp:300
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
DataTypes::cplx_t getEltC() const
Definition: WrappedArray.h:147
escript::DataTypes::ShapeType shape
Definition: WrappedArray.h:63
DataTypes::real_t getElt() const
Definition: WrappedArray.h:89
DataTypes::cplx_t * dat_c
Definition: WrappedArray.h:67
int getRank(const DataTypes::ShapeType &shape)
Return the rank (number of dimensions) of the given shape.
Definition: DataTypes.h:225
Definition: WrappedArray.h:33
bool isComplex() const
Definition: WrappedArray.h:71
#define ESCRIPT_MAX_DATA_RANK
Definition: Data.h:39
bool converted
Definition: WrappedArray.h:61
WrappedArray(const boost::python::object &obj_in)
Definition: WrappedArray.cpp:153
int rank
Definition: WrappedArray.h:60
unsigned int getRank() const
Definition: WrappedArray.h:77
void convertArrayR() const
Definition: WrappedArray.cpp:417
Definition: DataException.h:28
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:44
~WrappedArray()
Definition: WrappedArray.cpp:543
void convertNumpyArray(const T *array, const std::vector< int > &strides) const
Definition: WrappedArray.cpp:359
int noValues(const ShapeType &shape)
Calculate the number of values in a datapoint with the given shape.
Definition: DataTypes.cpp:91
void convertArray() const
Definition: WrappedArray.cpp:531
DataTypes::cplx_t scalar_c
Definition: WrappedArray.h:65
void convertArrayC() const
Definition: WrappedArray.cpp:474
bool iscomplex
Definition: WrappedArray.h:62
const boost::python::object & obj
Definition: WrappedArray.h:59
Definition: AbstractContinuousDomain.cpp:23
vec_size_type getRelIndex(const DataTypes::ShapeType &shape, vec_size_type i)
Compute the offset (in 1D vector) of a given subscript with a shape.
Definition: DataTypes.h:240
DataTypes::real_t scalar_r
Definition: WrappedArray.h:64
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
const DataTypes::ShapeType & getShape() const
Definition: WrappedArray.h:83