Go to the documentation of this file.
14 #ifndef ESYS_LSM_BPULISTCONVERTER_H
15 #define ESYS_LSM_BPULISTCONVERTER_H
17 #include <boost/python.hpp>
29 template <
typename TmplValueType>
37 return boost::python::extract<value_type>(pyObject);
41 template<
typename TmplValue>
42 std::vector<TmplValue>
listToVector(
const boost::python::list &pythonList)
45 std::vector<TmplValue> vec;
47 vec.reserve(numElements);
48 for (
int i = 0; i < numElements; i++)
50 vec.push_back(extractor(pythonList[i]));
55 template<
typename TmplValue>
56 std::vector<TmplValue>
tupleToVector(
const boost::python::tuple &pythonTulple)
59 std::vector<TmplValue> vec;
61 vec.reserve(numElements);
62 for (
int i = 0; i < numElements; i++)
64 vec.push_back(extractor(pythonTulple[i]));
69 template<
typename TmplValue,
typename TmplExtractor>
70 std::vector<TmplValue>
listToVector(
const boost::python::list &pythonList, TmplExtractor extractor=TmplExtractor())
72 std::vector<TmplValue> vec;
74 vec.reserve(numElements);
75 for (
int i = 0; i < numElements; i++)
77 vec.push_back(extractor(pythonList[i]));
82 template <
typename TmplVector>
85 boost::python::list pythonList;
87 typename TmplVector::const_iterator it = vec.begin();
92 pythonList.append(*it);
std::vector< TmplValue > tupleToVector(const boost::python::tuple &pythonTulple)
Definition: ListConverter.h:56
bool test_group_comm(TML_Comm *comm, int rank)
Definition: test_comm.cpp:367
int len(const boost::python::object &pyOb)
Definition: Util.h:30
void setRad(double r)
Definition: BasicParticle.h:70
void forAllParticlesGet(P &, typename P::value_type(T::*rdf)() const)
Definition: pp_array.hpp:642
void forParticle(int, void(T::*rdf)())
Definition: pp_array.hpp:456
VEC3_INLINE double & X()
Definition: vec3.h:119
Definition: CheckPointable.cpp:17
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
virtual double pop_double()=0
VEC3_INLINE double & Z()
Definition: vec3.h:121
int rank() const
Definition: comm.cpp:56
bool test_group_pack(TML_Comm *comm, int rank)
Definition: test_pack.cpp:258
int main(int argc, char **argv)
Definition: test.cpp:27
void rebuild()
Definition: pp_array.hpp:242
virtual void append(int)=0
VEC3_INLINE double & Y()
Definition: vec3.h:120
bool test_group_sc(TML_Comm *comm, int rank)
Definition: tesp_sc.cpp:46
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
void forAllParticles(void(T::*rdf)())
Definition: pp_array.hpp:570
abstract base class for communicator
Definition: comm_world.h:31
std::vector< TmplValue > listToVector(const boost::python::list &pythonList)
Definition: ListConverter.h:42
int getID() const
Definition: BasicParticle.h:65
double getRad() const
Definition: BasicParticle.h:64
boost::python::list vectorToList(const TmplVector &vec)
Definition: ListConverter.h:83
Vec3 getPos() const
Definition: BasicParticle.h:62
bool test_group_cart(TML_Comm *comm, int rank)
Definition: test_cart.cpp:122
Basic Particle class. Contains only the "geometric part" of the particle, i.e. position and radius,...
Definition: BasicParticle.h:45
int size()
Definition: comm.cpp:69