[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

# Appendix A Contributors

Torbjörn Granlund wrote the original GMP library and is still the main developer. Code not explicitly attributed to others, was contributed by Torbjörn. Several other individuals and organizations have contributed GMP. Here is a list in chronological order on first contribution:

Gunnar Sjödin and Hans Riesel helped with mathematical problems in early versions of the library.

Richard Stallman helped with the interface design and revised the first version of this manual.

Brian Beuning and Doug Lea helped with testing of early versions of the library and made creative suggestions.

John Amanatides of York University in Canada contributed the function
`mpz_probab_prime_p`

.

Paul Zimmermann wrote the REDC-based mpz_powm code, the Schönhage-Strassen FFT multiply code, and the Karatsuba square root code. He also improved the Toom3 code for GMP 4.2. Paul sparked the development of GMP 2, with his comparisons between bignum packages. The ECMNET project Paul is organizing was a driving force behind many of the optimizations in GMP 3. Paul also wrote the new GMP 4.3 nth root code (with Torbjörn).

Ken Weber (Kent State University, Universidade Federal do Rio Grande do Sul)
contributed now defunct versions of `mpz_gcd`

, `mpz_divexact`

,
`mpn_gcd`

, and `mpn_bdivmod`

, partially supported by CNPq (Brazil)
grant 301314194-2.

Per Bothner of Cygnus Support helped to set up GMP to use Cygnus’ configure. He has also made valuable suggestions and tested numerous intermediary releases.

Joachim Hollman was involved in the design of the `mpf`

interface, and in
the `mpz`

design revisions for version 2.

Bennet Yee contributed the initial versions of `mpz_jacobi`

and
`mpz_legendre`

.

Andreas Schwab contributed the files ‘`mpn/m68k/lshift.S`’ and
‘`mpn/m68k/rshift.S`’ (now in ‘`.asm`’ form).

Robert Harley of Inria, France and David Seal of ARM, England, suggested clever improvements for population count. Robert also wrote highly optimized Karatsuba and 3-way Toom multiplication functions for GMP 3, and contributed the ARM assembly code.

Torsten Ekedahl of the Mathematical department of Stockholm University provided significant inspiration during several phases of the GMP development. His mathematical expertise helped improve several algorithms.

Linus Nordberg wrote the new configure system based on autoconf and implemented the new random functions.

Kevin Ryde worked on a large number of things: optimized x86 code, m4 asm
macros, parameter tuning, speed measuring, the configure system, function
inlining, divisibility tests, bit scanning, Jacobi symbols, Fibonacci and Lucas
number functions, printf and scanf functions, perl interface, demo expression
parser, the algorithms chapter in the manual, ‘`gmpasm-mode.el`’, and
various miscellaneous improvements elsewhere.

Kent Boortz made the Mac OS 9 port.

Steve Root helped write the optimized alpha 21264 assembly code.

Gerardo Ballabio wrote the ‘`gmpxx.h`’ C++ class interface and the C++
`istream`

input routines.

Jason Moxham rewrote `mpz_fac_ui`

.

Pedro Gimeno implemented the Mersenne Twister and made other random number improvements.

Niels Möller wrote the sub-quadratic GCD and extended GCD code, the quadratic Hensel division code, and (with Torbjörn) the new divide and conquer division code for GMP 4.3. Niels also helped implement the new Toom multiply code for GMP 4.3 and implemented helper functions to simplify Toom evaluations for GMP 5.0. He wrote the original version of mpn_mulmod_bnm1.

Alberto Zanoni and Marco Bodrato suggested the unbalanced multiply strategy, and found the optimal strategies for evaluation and interpolation in Toom multiplication.

Marco Bodrato helped implement the new Toom multiply code for GMP 4.3 and implemented most of the new Toom multiply and squaring code for 5.0. He is the main author of the current mpn_mulmod_bnm1 and mpn_mullo_n. Marco also wrote the functions mpn_invert and mpn_invertappr.

David Harvey suggested the internal function `mpn_bdiv_dbm1`

, implementing
division relevant to Toom multiplication. He also worked on fast assembly
sequences, in particular on a fast AMD64 `mpn_mul_basecase`

.

Martin Boij wrote `mpn_perfect_power_p`

.

(This list is chronological, not ordered after significance. If you have contributed to GMP but are not listed above, please tell gmp-devel@gmplib.org about the omission!)

The development of floating point functions of GNU MP 2, were supported in part by the ESPRIT-BRA (Basic Research Activities) 6846 project POSSO (POlynomial System SOlving).

The development of GMP 2, 3, and 4 was supported in part by the IDA Center for Computing Sciences.

Thanks go to Hans Thorsen for donating an SGI system for the GMP test system environment.

[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

This document was generated on *February 16, 2012* using *texi2html 5.0*.