Division is truncated, not floored - libzahl - big integer library | |
git clone git://git.suckless.org/libzahl | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit bc8390c7615cf9a466420aa05130322488d54d7b | |
parent 437b35efd43f788a1edcf483e623d766642d1c29 | |
Author: Mattias Andrée <[email protected]> | |
Date: Sat, 14 May 2016 20:20:10 +0200 | |
Division is truncated, not floored | |
Signed-off-by: Mattias Andrée <[email protected]> | |
Diffstat: | |
M doc/bit-operations.tex | 17 ++++++++--------- | |
1 file changed, 8 insertions(+), 9 deletions(-) | |
--- | |
diff --git a/doc/bit-operations.tex b/doc/bit-operations.tex | |
@@ -40,15 +40,14 @@ $r = \phantom{0100}100001_2$ after calling {\tt zrsh(r, a, … | |
\vspace{1em} | |
{\tt zlsh(r, a, b)} is equivalent to $r \gets a \cdot 2^b$, | |
-and {\tt zrsh(r, a, b)} is equivalent to | |
-$r \gets \lfloor a \div 2^b \rfloor$, {\tt zlsh} and | |
-{\tt zrsh} are significantly faster than {\tt zpowu} | |
-and should be used whenever possible. {\tt zpowu} | |
-does not check if it is possible for it to use {\tt zlsh} | |
-instead, even if it would, {\tt zlsh} and {\tt zrsh} | |
-would still be preferable in most cases because it | |
-removes the need for {\tt zmul} and {\tt zdiv}, | |
-respectively. | |
+and {\tt zrsh(r, a, b)} is equivalent to $r \gets a \div 2^b$, | |
+with truncated division, {\tt zlsh} and {\tt zrsh} are | |
+significantly faster than {\tt zpowu} and should be used | |
+whenever possible. {\tt zpowu} does not check if it is | |
+possible for it to use {\tt zlsh} instead, even if it | |
+would, {\tt zlsh} and {\tt zrsh} would still be preferable | |
+in most cases because it removes the need for {\tt zmul} | |
+and {\tt zdiv}, respectively. | |
{\tt zlsh} and {\tt zrsh} are implemented in two steps: | |
(1) shift whole characters, that is, groups of aligned |