You got two pull requests from me and I am also maintaining (and improving) your code on a separate fork
I would be especially interested in help with coding the Burnikel-Ziegler division algorithm; I think that would be my at the top of my list of improvements.
Implementing Burnikel-Ziegler will not improve the speed of your division as long as you do not have efficient multiplication in place.
From my perspective the way to go is
- get your act together on the base-case division (which is what you are currently working on). That includes, sorry to repeat myself here, reaping the low hanging fruits first and transfer the division routines I sent you last year into your lib.
- once you have that, and it is passing all tests, look into Karatsuba multiplication. This is the simplest of all efficient multiplication algorithms.
- once you have that, and it is passing all tests, you can look into divide & conquer divisions like Burnikel-Ziegler.
I personally would not implement Burnikel-Ziegler but rather the Jebelean D&C division - it is simpler in implementation, easier to understand and as fast as Burnikel-Ziegler.
Cheers,
MathMan