These are chat archives for symengine/symengine

14th
Jul 2015
Francesco Biscani
@bluescarni
Jul 14 2015 10:07
@certik I have committed the fix for the thread_pool issue to the master branch
Ondřej Čertík
@certik
Jul 14 2015 17:40
@bluescarni awesome!
@isuruf I don't think we need to test it in Debug mode ---- if tests pass with Teuchos::RCP which tests everything, then our RCP (which only tests a few things in Debug mode) will pass as well. In fact, I was even thinking of removing all checks from our RCP, as it is meant to be only used in Release build when speed matters.
Isuru Fernando
@isuruf
Jul 14 2015 18:08
Okay.
About the python memory leaks,
Only way to do it would be to delete it manually at the end. For that 'del' doesn't seem to work. I had to define a _dealloc_ method and call it.
Isuru Fernando
@isuruf
Jul 14 2015 18:43
Also for matrix python wrappers, should bounds checking be done in python?
Ondřej Čertík
@certik
Jul 14 2015 23:50
@isuruf so bounds checking in lower level C++ code should be something that's only done in Debug mode, for performance reasons. High level code, like Python, then needs to do bounds checking in Release mode as well, so that it never segfaults (that's the idea of Python).
So then the idea is to use Python with SymEngine in Debug mode and make sure you never get a Teuchos exception or assert failure. And the idea is to check bounds with assert statements in C++. The way to achieve not getting a C++ Debug time exception is to make sure that things are bounds checked in the Cython wrappers. Then, once you switch to Release mode, you get a nicely performing C++ core, and then Python wrappers do all the checking.