X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/674cd11ec63b56561980249cb19a0db54bacfa86..3e248c3b5b309bc03eb5f70762d3f5671d51f996:/manual/mp-mpx.tex diff --git a/manual/mp-mpx.tex b/manual/mp-mpx.tex index 28c1424..ce370b8 100644 --- a/manual/mp-mpx.tex +++ b/manual/mp-mpx.tex @@ -91,7 +91,7 @@ the array, denoted $\mp(v .. \vl)$, is defined to be \[ \mp(v .. \vl) = \sum_{0 \le i < \vl - v} - 2^{\code{MPW_BITS} \cdot i} v[i] + 2^{\code{MPW_BITS} \cdot i} v[i] \] If the array is empty (i.e., $v = \vl$) then the number is zero. If the array is empty, or the final word is nonzero, then the representation is said @@ -152,7 +152,7 @@ largest integer such that \begin{listinglist} |#include | \\ |MPX_OCTETS(size_t |$o$|,| - |const mpw *|$v$|, const mpw *|$\vl$|);| + |const mpw *|$v$|, const mpw *|$\vl$|);| \end{listinglist} \fsec{Description} @@ -174,7 +174,7 @@ The result $o$ can be calculated from the number of bits~$b$ reported by \begin{listinglist} |#include | \\ |MPX_COPY(mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$\av$|, const mpw *|$\avl$|);| + |const mpw *|$\av$|, const mpw *|$\avl$|);| \end{listinglist} \fsec{Description} @@ -234,7 +234,7 @@ in an octet array of a particular size. \begin{listinglist} |#include | \\ |void mpx_storel(const mpw *|$v$|, const mpw *|$\vl$|,| - |void *|$p$|, size_t |$\sz$|);| + |void *|$p$|, size_t |$\sz$|);| \end{listinglist} \fsec{Description} @@ -251,7 +251,7 @@ byte first). \begin{listinglist} |#include | \\ |void mpx_loadl(mpw *|$v$|, mpw *|$\vl$|,| - |const void *|$p$|, size_t |$\sz$|);| + |const void *|$p$|, size_t |$\sz$|);| \end{listinglist} \fsec{Description} @@ -268,7 +268,7 @@ significant byte first). \begin{listinglist} |#include | \\ |void mpx_storeb(const mpw *|$v$|, const mpw *|$\vl$|,| - |void *|$p$|, size_t |$\sz$|);| + |void *|$p$|, size_t |$\sz$|);| \end{listinglist} \fsec{Description} @@ -285,7 +285,7 @@ byte last). \begin{listinglist} |#include | \\ |void mpx_loadb(mpw *|$v$|, mpw *|$\vl$|,| - |const void *|$p$|, size_t |$\sz$|);| + |const void *|$p$|, size_t |$\sz$|);| \end{listinglist} \fsec{Description} @@ -319,7 +319,7 @@ integer. \begin{tabbing} |#include | \\ |void mpx_lsl(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\ - \>|const mpw *|$\av$|, const mpw *|$\avl$|, size_t |$n$|);| + \>|const mpw *|$\av$|, const mpw *|$\avl$|, size_t |$n$|);| \end{tabbing} \end{listinglist} @@ -337,7 +337,7 @@ $n$~bits (i.e., multiplying it by~$2^n$). \begin{tabbing} |#include | \\ |void mpx_lsr(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\ - \>|const mpw *|$\av$|, const mpw *|$\avl$|, size_t |$n$|);| + \>|const mpw *|$\av$|, const mpw *|$\avl$|, size_t |$n$|);| \end{tabbing} \end{listinglist} @@ -369,7 +369,7 @@ destination partially overlap the sources. \begin{listinglist} |#include | \\ |void mpx_2c(mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$v$|, const mpw *|$\vl$|);| + |const mpw *|$v$|, const mpw *|$\vl$|);| \end{listinglist} \fsec{Description} @@ -385,9 +385,9 @@ $\dv .. \dvl$. The two arrays $v .. \vl$ and $\dv .. \dvl$ may be the same. \begin{tabbing} |#include | \\ |int mpx_ucmp(|\=|const mpw *|$\av$|, const mpw *|$\avl$|,| \\ - \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \\ + \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \\ |int MPX_UCMP(|\=|const mpw *|$\av$|, const mpw *|$\avl$|, |\synt{rel-op}|,| - \\ \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| + \\ \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \end{tabbing} \end{listinglist} @@ -420,8 +420,8 @@ The macro \code{MPX_UCMP} returns a nonzero result if $a \begin{tabbing} |#include | \\ |void mpx_uadd(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ - \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| + |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ + \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \end{tabbing} \end{listinglist} @@ -461,8 +461,8 @@ inline code rather than calling a function. \begin{tabbing} |#include | \\ |void mpx_usub(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ - \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| + |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ + \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \end{tabbing} \end{listinglist} @@ -471,7 +471,7 @@ inline code rather than calling a function. Subtracts one multiprecision integer from another. The difference of the two arguments $\mp(\av .. \avl) - \mp(\bv .. \bvl)$ is stored in $\dv .. \dvl$. The destination array may be equal to either or both source -arrays.\footnote{% +arrays.\footnote{% Subtracting a number from itself is a particularly poor way of clearing an integer to zero. A call to \code{MPX_ZERO} (page~\pageref{fn:MPX-ZERO}) is much more efficient.} % @@ -508,8 +508,8 @@ inline code rather than calling a function. \begin{tabbing} |#include | \\ |void mpx_umul(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ - \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| + |const mpw *|$\av$|, const mpw *|$\avl$|,| \\ + \>|const mpw *|$\bv$|, const mpw *|$\bvl$|);| \end{tabbing} \end{listinglist} @@ -528,9 +528,9 @@ destination array may not be equal to either source array. \begin{tabbing} |#include | \\ |void mpx_umuln(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\ - \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \\ + \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \\ |void MPX_UMULN(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\ - \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| + \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \end{tabbing} \end{listinglist} @@ -554,9 +554,9 @@ inline code rather than calling a function. \begin{tabbing} |#include | \\* |void mpx_umlan(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\* - \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \\ + \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \\ |void MPX_UMLAN(|\=|mpw *|$\dv$|, mpw *|$\dvl$|,| \\ - \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| + \> |const mpw *|$\av$|, const mpw *|$\avl$|, mpw |$n$|);| \end{tabbing} \end{listinglist} @@ -579,7 +579,7 @@ inline code rather than calling a function. \begin{listinglist} |#include | \\ |void mpx_usqr(mpw *|$\dv$|, mpw *|$\dvl$|,| - |const mpw *|$\av$|, const mpw *|$\avl$|);| + |const mpw *|$\av$|, const mpw *|$\avl$|);| \end{listinglist} \fsec{Description} @@ -600,8 +600,8 @@ itself. \begin{tabbing} |#include | \\ |void mpx_udiv(|\=|mpw *|$\qv$|, mpw *|$\qvl$|, mpw *|$\rv$|, mpw *|$\rvl$|,| -\\ \>|const mpw *|$\dv$|, const mpw *|$\dvl$|,| - |mpw *|$\mathit{sv}$|, mpw *|$\mathit{svl}$|);| +\\ \>|const mpw *|$\dv$|, const mpw *|$\dvl$|,| + |mpw *|$\mathit{sv}$|, mpw *|$\mathit{svl}$|);| \end{tabbing} \end{listinglist} @@ -628,7 +628,7 @@ In particular, this definition implies that $r$ has the same sign as $y$, which is a useful property when performing modular reductions. \shortverb\| -%%% Local Variables: +%%% Local Variables: %%% mode: latex %%% TeX-master: "catacomb" -%%% End: +%%% End: