- Thank you received: 0
Passing Element Vectors for C++ to Python
4 years 10 months ago #2269
by NilsHM
Passing Element Vectors for C++ to Python was created by NilsHM
Hello everyone!
We are trying to pass individual element vectors from our C++ extension MyCollect to Python. The C++ extension code is in the attachments.
In Minimum.py a small test case is given.
From py:print() we can see that the output values are being overwritten during the iteration over all elements, although the element vectors should be written for every element individually. Also the values that MyCollect returns are nonsense.
Does anyone know what's going wrong or how to fix these problems?
Thanks and best regards.
Nils
We are trying to pass individual element vectors from our C++ extension MyCollect to Python. The C++ extension code is in the attachments.
In Minimum.py a small test case is given.
From py:print() we can see that the output values are being overwritten during the iteration over all elements, although the element vectors should be written for every element individually. Also the values that MyCollect returns are nonsense.
Does anyone know what's going wrong or how to fix these problems?
Thanks and best regards.
Nils
Attachments:
4 years 10 months ago #2270
by joachim
Replied by joachim on topic Passing Element Vectors for C++ to Python
Hi Nils,
you allocate your element vectors at LocalHeap. This memory is gone after your IterateElements kernel function, and your FlatVector pointers point to garbage.
Use a vector of Vector<double> entries, which take care of dynamic memory allocation.
Joachim
you allocate your element vectors at LocalHeap. This memory is gone after your IterateElements kernel function, and your FlatVector pointers point to garbage.
Use a vector of Vector<double> entries, which take care of dynamic memory allocation.
Joachim
Attachments:
The following user(s) said Thank You: NilsHM
Time to create page: 0.096 seconds