CHANGELOG (summary of changes for each release)


version 0.8 (2008-04-04)
========================

* improved multiplication speed for odd moduli (via REDC modular reduction,
  and a few other tricks)
* major rewrite of profiling/tuning code -- tuning is now much faster and
  more accurate
* power series reciprocal via newton iteration (currently only efficient for
  high degree problems; currently only works for monic series)


version 0.7 (2008-03-04)
========================

* specialised code for squaring (KS, nussbaumer, FFT)


version 0.6 (2008-02-15)
========================

* middle products via Schonhage/Nussbaumer FFT
* zn_array_midmul_fft_precomp1_t for preconditioned middle products
* automatic tuning for KS vs FFT multiplication
* made wide_arith.h a standalone file


version 0.5 (2008-01-21)
========================

* Schonhage/Nussbaumer FFT multiplication code
* example program: bernoulli numbers mod p
* lots and lots of other things


version 0.4.1 (2007-12-18)
==========================

* fixed up warnings in tuning file for 32-bit machine
* added .dylib and .so support to makefile


version 0.4
===========

* added zn_mod_neg, zn_mod_mul, zn_mod_sub


version 0.3
===========

* added zn_array_midmul() (stub for middle products)
* added zn_array_copy()
* added zn_poly_version_string()
* "make install" now copies wide_arith.h as well as zn_poly.h;
  the dest directory is now <path>/include/zn_poly, not <path>/include


version 0.2
===========

* automatic tuning for KS1 vs KS2 vs KS4
* cycle counting on powerpc
* simple configure/build system
* generic MUL_WIDE etc definitions


version 0.1
===========

* initial release
