From 6ac79f9e170deebb1c0872f7bead501543b604ca Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sat, 30 Dec 2006 23:10:36 +0100 Subject: [PATCH] Bug fixes. --- 7-ram/7-ram.tex | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/7-ram/7-ram.tex b/7-ram/7-ram.tex index c49cf5b..69b3f4b 100644 --- a/7-ram/7-ram.tex +++ b/7-ram/7-ram.tex @@ -237,10 +237,10 @@ z \>Rozcvièka: {\I nejpravìj¹í jednièka} ve~dvojkovém èísle (hodnota, nikoliv pozice): \alik{ - x&=\0\1\9\9\9\0\1\1\0\0\9\9\9\0 \cr - x - 1&=\0\1\9\9\9\0\1\0\1\1\9\9\9\1 \cr - x \land (x - 1)&=\0\1\9\9\9\0\1\0\0\0\9\9\9\0 \cr - x \oplus (x \land (x - 1))&=\0\0\9\9\9\0\0\1\0\0\9\9\9\0 \cr} + x&=\0\1\9\9\9\0\1\1\0\0\0\0\0\0 \cr + x - 1&=\0\1\9\9\9\0\1\0\1\1\0\0\0\1 \cr + x \land (x - 1)&=\0\1\9\9\9\0\1\0\0\0\0\0\0\0 \cr + x \oplus (x \land (x - 1))&=\0\0\9\9\9\0\0\1\0\0\0\0\0\0 \cr} \>Nyní uká¾eme, jak RAM pou¾ívat jako vektorový poèítaè, který umí paralelnì poèítat se v¹emi prvky vektoru, pokud se dají zakódovat do~jediného slova. @@ -259,7 +259,7 @@ prolo \:$\(x)$ -- seète v¹echny slo¾ky vektoru (pøedpokládáme, ¾e se vejdou do~$b$~bitù): \numlist\nalpha -\:sèítáním modulo $\1^{n+1}$ (uvìdomte si, ¾e $\1\0^{n+1}\bmod \1^{n+1}=1$) +\:vymodulením èíslem $\1^{b+1}$ (to funguje, proto¾e $\1\0^{b+1}\bmod \1^{b+1}=1$), nebo \:násobením vhodnou konstantou: \setbox0=\hbox{~$x_{n-1}$} \slotwd=\wd0 @@ -283,7 +283,7 @@ $\hrulefill$\cr \rule \[r_{n-1}] \dd \[r_2] \[r_1] \[s_n] \dd \[s_3] \[s_2] \[s_1] \cr } -Zde je výsledkem je dokonce vektor v¹ech èásteèných souètù: +Zde je výsledkem dokonce vektor v¹ech èásteèných souètù: $s_k=\sum_{i=0}^{k-1}x_i$, $r_k=\sum_{i=k}^{n-1}x_i$. \endlist @@ -297,13 +297,12 @@ $x_i(\alpha,x)$ -- spoèítá, kolik slo¾ek vektoru~$x$ je men¹ích ne¾~$\alpha$: - -\alik{\(\alpha,x) = \(\(\(\alpha),x))\cr} +$$\(\alpha,x) = \(\(\(\alpha),x)).$$ \:$\(\alpha,x)$ -- zatøídí hodnotu $\alpha$ do~setøídìného vektoru~$x$: @@ -312,11 +311,11 @@ zat existující hodnoty). \:$\(\alpha)$ -- vytvoøí vektor, jeho¾ slo¾ky jsou bity zadaného èísla -(jinými slovy prolo¾í bity $b$~nulami). +(jinými slovy prolo¾í bity bloky $b$~nul). -Nejdøíve èíslo~$\alpha$ replikuje, pak anduje vhodnou bitovou maskou, +Nejdøíve èíslo~$\alpha$ replikujeme, pak andujeme vhodnou bitovou maskou, aby v~$i$-té slo¾ce zùstal pouze $i$-tý bit a ostatní se vynulovaly, -a pak provede $\$ s~vektorem samých nul. +a pak provedeme $\$ s~vektorem reprezentovaným touté¾ bitovou maskou. \:$\_\varphi(\alpha)$ -- podobnì jako pøedchozí operace, ale bity je¹tì prohází podle nìjaké pevné funkce $\varphi$: @@ -326,7 +325,7 @@ Sta \:$\(x)$ -- dostane vektor nul a jednièek a vytvoøí èíslo, jeho¾ bity jsou právì slo¾ky vektoru (jinými slovy ¹krtne nuly mezi bity): -Pøedstavím si, ¾e slo¾ky èísla jsou o~jeden bit krat¹í a provedu \. +Pøedstavíme si, ¾e slo¾ky èísla jsou o~jeden bit krat¹í a provedeme \. Napøíklad pro $n=4$ a $b=4$: \setbox0=\hbox{$x_3$} @@ -351,7 +350,8 @@ to nevad \>Nyní je¹tì nìkolik operací s~normálními èísly. Zatím pøedpokládejme, ¾e pro~$b$-bitová èísla na~vstupu budeme mít k~dispozici $b^2$-bitový -pracovní prostor. +pracovní prostor, tak¾e budeme moci pou¾ívat vektory s~$b$ slo¾kami +po~$b$ bitech. \itemize\ibull @@ -376,9 +376,9 @@ pos \alpha\oplus(\alpha-1)&= \0\9\9\9\0\1\1\1\1\1\cr } -\:$\(\alpha)$ -- Most Significant Bit (nejpravìj¹í): +\:$\(\alpha)$ -- Most Significant Bit (pozice nejvy¹¹í jednièky): -Z~\ pomocí zrcadlení. +Z~\ pomocí zrcadlení (operací \). \endlist -- 2.39.2