Next: , Previous: Internals, Up: Top


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. Torbjörn's work is currently sponsored by CIAM, http://www.ciam.kth.se/.

Several other individuals and organizations have contributed to code that is in version of 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 divide and conquer division code, 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.

Ken Weber (Kent State University, Universidade Federal do Rio Grande do Sul) contributed 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.

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.

(This list is chronological, not ordered after significance. If you have contributed to GMP but are not listed above, please tell tege@swox.com about the omission!)

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