From bc8390c7615cf9a466420aa05130322488d54d7b Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 14 May 2016 20:20:10 +0200 Subject: Division is truncated, not floored MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- doc/bit-operations.tex | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'doc/bit-operations.tex') diff --git a/doc/bit-operations.tex b/doc/bit-operations.tex index be9fccb..c7e15c9 100644 --- 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, 2)}. \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 -- cgit v1.2.3-70-g09d2