  This is a draft of a book about algorithms for performing arithmetic, and
their implementation on modern computers. We are concerned with software more
than hardware - we do not cover computer architecture or the design of computer
hardware. Instead we focus on algorithms for efficiently performing arithmetic
operations such as addition, multiplication and division, and their connections
to topics such as modular arithmetic, greatest common divisors, the Fast
Fourier Transform (FFT), and the computation of elementary and special
functions. The algorithms that we present are mainly intended for
arbitrary-precision arithmetic. They are not limited by the computer word size,
only by the memory and time available for the computation. We consider both
integer and real (floating-point) computations. The book is divided into four
main chapters, plus an appendix. Our aim is to present the latest developments
in a concise manner. At the same time, we provide a self-contained introduction
for the reader who is not an expert in the field, and exercises at the end of
each chapter. Chapter titles are: 1, Integer Arithmetic; 2, Modular Arithmetic
and the FFT; 3, Floating-Point Arithmetic; 4, Elementary and Special Function
Evaluation; 5 (Appendix), Implementations and Pointers. The book also contains
a bibliography of 236 entries, index, summary of notation, and summary of
complexities.
