x64 and Windows support for ndarray#37
x64 and Windows support for ndarray#37classner wants to merge 9 commits into
Conversation
* Reactivated all tests. * Checked and extended the tests so that all are passing on Windows.
|
Sorry I've let this linger so long. I'm going to merge over your Windows build-support changes largely as they are, but I'm going to spend some time re-doing the 64-bit size changes - I think we need to use I'll also be adding some assert statements to verify that |
|
Build system changes finally merged. I'll do the integer type changes next (but after the Boost.NumPy integer type changes). |
|
Ok, great! :) Sure, I'll have a look at it as well as re-verifying the tests on Windows and Linux |
|
I went through the code and find the changes elegant and well-working. It nearly worked directly with Windows, with one nasty bug. Let's go through it:
With these changes, compilation and tests worked. Looking forward to have the x64 version from master on Windows! :) |
|
I've put in fixes for all three issues you found, with the last one just really a workaround - I've switched to Could you verify that this now works for you? And, if you have some time in the future, I may open up a new issue for the |
|
Ok, I went over this again, and found your implementation of PyConverter.h clean and safe. There's just one compilation issue: in PyConverter.h, line 265 currently is: and should be With that change, everything works as expected! As much as I'd like to, I don't expect to have the time to dig deeper into the PyLong_AsUnsignedLongLong issue. With some luck, this gets resolved by the Python developers in a future release anyway. |
|
Merged to master! Once again, sorry this took so incredibly long, and thanks for your contribution! |
Dear ndarray team,
we are using Boost.NumPy and the ndarray project in a big data context at our lab. So I made the effort and made both projects x64 Python compatible, as well as the ndarrays 64bit indexed (similar to eigen3). I was mainly working on Windows and had to test the projects, so at the same time I extended the SCons build system to work with Windows.
After all changes, both projects build without any internal warnings (the numpy interface deprecation warning left aside) and are working flawlessly on Windows and Linux. All tests are passing.
The changes here are extensive, but focus on x64 indexing for the arrays. The number of dimensions is still left to be an integer, as well as the int fftw-interface is still used (but can now also easily be replaced by the x64 interface).
I am ready to answer questions and hope it is a useful contribution to the project!
Best,
Christoph