Open rpep opened 5 years ago
The title of the merge request is hilarious. Keep going :)
I'd make the RK4 arrays sequential to make the memory layout more compact, so something like (this won't compile I think, needs more thought)
class Integrator { Integrator(size_t N) = 0; // No constructor so people can't use the base class public: ... };
The compiler gives me an error where the base class constructor is not virtual so I can't make = 0
to the constructor.
We should not close this PR. But I'm not sure if someone would like to keep developing this full C backend, it's a lot of work :O
Not ready to merge; just for test running.
The motivation behind this:
Simplify building by creating a library (shared? static?) of the C/C++ code seperate to the Python interface, and automate Cython file discovery to make it much easier to develop new tools.
Reduce code duplication by wrapping C functions once and exposing via pxd.
Move more Python code into Cython.
Profile and find the slowest parts for realistic examples
Give better support for compiling against other libraries; i.e. MKL if available vs FFTW - Should we use CMake rather than Make to simplify discovery or leave it to the user?