Introduction
Introduction Statistics Contact Development Disclaimer Help
Manual: division algorithm - libzahl - big integer library
git clone git://git.suckless.org/libzahl
Log
Files
Refs
README
LICENSE
---
commit 88cd41d7355a3528e43c5a6754da59228c048dc9
parent 07674c3a8eb28b32529ebaf1df5546cd78ceb64d
Author: Mattias Andrée <[email protected]>
Date: Wed, 1 Jun 2016 19:38:15 +0200
Manual: division algorithm
Signed-off-by: Mattias Andrée <[email protected]>
Diffstat:
M doc/arithmetic.tex | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/doc/arithmetic.tex b/doc/arithmetic.tex
@@ -223,7 +223,7 @@ lend you a hand.
\noindent
Now to the weird ones that will more often than
-not award you a face-slap. % Hade positive punishment
+not award you a face-slap. % Had positive punishment
% been legal or even mildly pedagogical. But I would
% not put it past Coca-Cola.
@@ -306,7 +306,19 @@ not award you a face-slap. % Hade positive punishment
\}
\end{alltt}
-% TODO zdivmod's algorithm
+Currently, libzahl uses an almost trivial division
+algorithm. It operates on positive numbers. It begins
+by left-shifting the divisor as must as possible with
+letting it exceed the dividend. Then, it subtracts
+the shifted divisor from the dividend and add 1,
+left-shifted as much as the divisor, to the quotient.
+The quotient begins at 0. It then right-shifts
+the shifted divisor as little as possible until
+it no longer exceeds the diminished dividend and
+marks the shift in the quotient. This process is
+repeated on till the unshifted divisor is greater
+than the diminished dividend. The final diminished
+dividend is the remainder.
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.