Hi all,

I recently started fiddling with schoolbook division routines and came
up with the implementation at:

https://github.com/wbhart/division

Oddly enough, this beats what we have in MPIR by:

* 20% for 6 x 3 division
* 10% for 20 x 10 division
* breaks even at 40 x 20 division
* -1% for 60 x 30 division
* -10% for 80 x 40 division

I've no idea why it starts to fall behind after some time. However,
the algorithm is so simple (see the function div_basecase in
division.c) that it can surely be easily assembly optimised.

I have not written out the proof in full that this implementation
works, but I have convinced myself on paper that it is likely correct,
and also written some very basic test code (included).

If I can write out the full proof and write an assembly optimised
version, I think we can use it in MPIR to speed up division
substantially.

There is a simpler version of this which also works (not included) and
it is not much slower. So I can use that elsewhere. In that case the
proof is trivial.

Bill.

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to