commit aeb5e44a98cb4158528206c079654357b1c75b16
Author: Mattias Andrée <maandree_AT_kth.se>
AuthorDate: Wed Nov 30 10:15:59 2016 +0100
Commit: Mattias Andrée <maandree_AT_kth.se>
CommitDate: Wed Nov 30 10:15:59 2016 +0100
Fix errors in the manual (most of them found by Ivan Zuboff)
Signedoffby: Mattias Andrée <maandree_AT_kth.se>
diff git a/doc/exercises.tex b/doc/exercises.tex
index 3a9df19..9a18b99 100644
 a/doc/exercises.tex
+++ b/doc/exercises.tex
_AT_@ 596,7 +596,7 @@ ptest_llt(z_t n)
$M_n$ is composite if $n$ is composite, therefore,
if you do not expect primeonly values on $n$, the
performance can be improve by using some other
+performance can be improved by using some other
primality test (or this same test if $n$ is a
Mersenne number) to first check that $n$ is prime.
diff git a/doc/miscellaneous.tex b/doc/miscellaneous.tex
index 8750595..420d6a7 100644
 a/doc/miscellaneous.tex
+++ b/doc/miscellaneous.tex
_AT_@ 101,7 +101,7 @@ sum of a set of numbers.
Another form of assignment available in libzahl is
copyassignment. This done using {\tt zset}. As
easily observable, {\tt zset} is named like
{\tt zseti}, {\tt zsetu}, and {\tt zsetu}, but
+{\tt zseti}, {\tt zsetu}, and {\tt zsets}, but
without the inputtype suffix. The lack of a
inputtype suffix means that the input type is
{\tt z\_t}. {\tt zset} copies value of second
diff git a/doc/notimplemented.tex b/doc/notimplemented.tex
index 59b3efb..9688189 100644
 a/doc/notimplemented.tex
+++ b/doc/notimplemented.tex
_AT_@ 3,25 +3,25 @@
In this chapter we maintain a list of
features we have chosen not to implement,
but would fit into libzahl had we not have
+but would fit into libzahl, had we not have
our priorities straight. Functions listed
herein will only be implemented if it is
shown that it would be overwhelmingly
advantageous. For each feature, a sample
implementation or a mathematical expression
on which you can base your implemention
is included. The sample implementations create
temporary integer references, this is to
simplify the examples. You should try to
use dedicated variables; in case of recursion,
a robust program should store temporary
variables on a stack, so they can be
clean up if something happens.

Research problems, like primefactorisation
and discrete logarithms do not fit in the
scope of bignum libraries. % Unless they are extraordinarily bloated with vague missionscope, like systemd.
And therefore do not fit into libzahl,
+on which you can base your implementation is
+included. The sample implementations create
+temporary integer references to simplify the
+examples. You should try to use dedicated
+variables; in case of recursion, a robust
+program should store temporary variables on
+a stack, so they can be cleaned up if
+something happens.
+
+Research problems, like prime factorisation
+and discrete logarithms, do not fit in the
+scope of bignum libraries % Unless they are extraordinarily bloated with vague missionscope, like systemd.
+and therefore do not fit into libzahl,
and will not be included in this chapter.
Operators and functions that grow so
ridiculously fast that a tiny lookup table
_AT_@ 330,7 +330,7 @@ method can be derived from the observation
\vspace{1em}
\noindent
The resulting algorithm can be expressed
+The resulting algorithm can be expressed as
\begin{alltt}
void
_AT_@ 690,10 +690,10 @@ in an integer, counting the sign bit:
\end{alltt}
\noindent
It requires a compiler extension, if missing,
there are other ways to computer the population
count for a word: manually bitbybit, or with
a fully unrolled
+It requires a compiler extension; if it's not
+available, there are other ways to computer the
+population count for a word: manually bitbybit,
+or with a fully unrolled
\begin{alltt}
int s;
_AT_@ 706,7 +706,7 @@ a fully unrolled
\label{sec:Hamming distance}
A simple way to compute the Hamming distance,
the number of differing bits, between two
+the number of differing bits between two
numbers is with the function
\begin{alltt}
_AT_@ 767,13 +767,13 @@ sideeffects.
\label{sec:Reference duplication}
This could be useful for creating duplicates
with modified sign. But only if neither
+with modified sign, but only if neither
{\tt r} nor {\tt a} will be modified whilst
both are in use. Because it is unsafe,
fairly simple to create an implementation
with acceptable performance — {\tt *r = *a},
— and probably seldom useful, this has not
be implemented.
+been implemented.
\begin{alltt}
void
diff git a/doc/numbertheory.tex b/doc/numbertheory.tex
index 10c485b..b4c2ece 100644
 a/doc/numbertheory.tex
+++ b/doc/numbertheory.tex
_AT_@ 145,7 +145,7 @@ definion ensures
\noindent
and analogously for $\frac{b}{\gcd(a,\,b)}$. Note however,
the convension $\gcd(0, 0) = 0$ is adhered. Therefore,
before dividing with $\gcd{a, b}$ you may want to check
+before dividing with $\gcd(a, b)$ you may want to check
whether $\gcd(a, b) = 0$. $\gcd(a, b)$ is calculated
with {\tt zgcd(a, b)}.
_AT_@ 179,7 +179,7 @@ $\max x : 2^x \vert z$ is returned by {\tt zlsb(z)}
\section{Primality test}
\label{sec:Primality test}
A primality of an integer can be test with
+The primality of an integer can be tested with
\begin{alltt}
enum zprimality zptest(z_t w, z_t a, int t);
_AT_@ 235,7 +235,7 @@ test with witness return.
\hspace{2ex}
\begin{minipage}{\linewidth}
 \STATE $k \xleftarrow{\$} \textbf{Z}_{a  2} \setminus \textbf{Z}_{2}$
+ \STATE $k \xleftarrow{\$} \textbf{Z}_{a  2} \setminus \textbf{Z}_{2}$ \textcolor{c}{\{Uniformly random assignment.\}}
\STATE $x \gets k^d \mod a$
\STATE {\bf continue} {\bf if} $x = 1$ \OR $x = a  1$
\STATE {\bf repeat} $r$ {\bf times or until} $x = 1$ \OR $x = a  1$
diff git a/doc/whatislibzahl.tex b/doc/whatislibzahl.tex
index b0e80f5..2bf1c52 100644
 a/doc/whatislibzahl.tex
+++ b/doc/whatislibzahl.tex
_AT_@ 141,8 +141,9 @@ Unlike other bignum libraries, errors in libzahl are
caught using {\tt setjmp}. This ensure that it can be
used in robust applications, catching errors does not
become a mess, and it minimises the overhead of
catching errors. Errors are only checked when they can
occur, not also after each function return.
+catching errors. Typically, errors can be checked when
+they can occur and after each function return; however,
+here they can be checked only when they can occur.
Additionally, libzahl tries to keep the functions'
names simple and natural rather than technical or
_AT_@ 193,8 +194,8 @@ threadsafe.
libzahl is also only designed for POSIX systems.
It will probably run just fine on any modern
system. But it makes some assumption that POSIX
stipulates or are unpractical not to implement
for machines that should support POSIX (or even
+stipulates or are unpractical to leave out from
+machines that should support POSIX (or even
support modern software):
\begin{itemize}
_AT_@ 214,12 +215,12 @@ strictly necessary for it to be an CPUintrinsic,
but that would be favourable for performance.)
\end{itemize}
Because of the prevalence of theses properties
+Because of the prevalence of these properties
in contemporary machines, and the utilisation of
these properties in software, especially software
for POSIX and popular platforms with similar
properties, any new generalpurpose machine most
have these properties lest, it but useless with
+properties, any new generalpurpose machine must
+have these properties, lest it be useless with
today's software. Therefore, libzahl can make
the assumption that the machine has these
properties. If the machine does not have these
Received on Wed Nov 30 2016  10:16:12 CET
This archive was generated by hypermail 2.3.0
: Wed Nov 30 2016  10:24:16 CET