Improve source code clarity of return times for discrete systems
Overall better organize tests for return times
Fix return times for continuous systems, which never really worked well and was also super slow. To this end we have
Re-written the source code from scratch.
Offer two algoritms: linear interpolation, or integrator-based interpolation with minimization for finding closest point and then rootfinding for finding the crossings.
Linear interpolation works only for spheres (in the future one could contribute code for rectangle crossing I guess.
High precision interpolation uses Optim.jl and Roots.jl.
Serious tests are now also done for continuous systems.
Performance increase for continuous systems: TODO; write by how much.
Only todo left is to make it work for hyperrectangles in continuous systems.
This PR aims to:
Only todo left is to make it work for hyperrectangles in continuous systems.