= M4RI =

== Description ==

M4RI: Library for matrix multiplication, reduction and inversion over
GF(2).  (See also m4ri/README for a brief overview.)

== License ==

 * GNU General Public License Version 2 or later (see src/COPYING)

== Upstream Contact ==

 * Authors: Martin Albrecht et al.
 * Email:   <m4ri-devel@googlegroups.com>
 * Website: http://m4ri.sagemath.org

== Dependencies ==

 * libPNG

== Special Update/Build Instructions ==
 * Delete the upstream Mercurial repositories (file m4ri/.hgtags, directory m4ri/.hg).
 * Delete the directory m4ri/autom4te.cache (if present).
 * Delete m4ri.vcproj (and perhaps other unnecessary baggage).
 * Touch m4ri/configure to make sure it is newer than its sources.

== Releases/Changelog ==

=== libm4ri-20130416 (Martin Albrecht, 22 March 2013) ===
 * #14335: new upstream release

=== libm4ri-20121224 (Martin Albrecht, 21 December 2012) ===
 * #13858: new upstream release

=== libm4ri-20120613 (Martin Albrecht, 7 June 2012) ===
 * #12840: new upstream release
 * remove old headers before installing new ones

=== libm4ri-20111004.p2 (John Palmieri, 23 March 2012) ===
 * #12311: Remove the script testcc.sh:
   just use the version in the PATH (i.e., in SAGE_ROOT/spkg/bin)

=== libm4ri-20111004.p1 (Keshav Kini, 2012-03-18) ===
 * #12694: Normalize directory structure

=== libm4ri-20111004.p0 (Simon King, December 10th, 2011) ===
 * #12131: Use --libdir, to make the package work on openSUSE.

=== libm4ri-20111004 (Martin Albrecht, October 4th, 2011) ===
 * new upstream release

=== libm4ri-20110901 (Martin Albrecht, August 29th 2011) ===
 * new upstream release dealing with CFLAGS better
 * dropped dist/ subdir

=== libm4ri-20110715 (Martin Albrecht, July 6th 2011) ===
 * split M4RI and M4RIE in separate packages

=== libm4ri-20100817 (Martin Albrecht, August 18th 2010) ===
 * Including M4RIE, an extension to M4RI for small extensions of GF(2).
 * Enable tuning code to detect "cache sizes"

=== libm4ri-20100701.p1 (Leif Leonhardy, July 13th 2010) ===
 * Committed Martin Albrecht's changes of July 13th (minor fixes, see #9475).
 * SPKG.txt:
   - Added "License" and "Special Update/Build Instructions" sections,
     fixed some typos, some additions.
 * spkg-install:
   - Fixed old typo (CLFAGS), fixed syntax error due to missing spaces that
     prevented SAGE_FAT_BINARY working.
   - Renamed $SSE2_SUPPORT to $DISABLE_SSE2.
   - Removed $SAGE_LOCAL/include from preprocessor search path since M4RI
     doesn't depend on any Sage package (similarly for library search path).
   - Removed redundant --includedir=... from configure.
   - Some restructuring.
 * spkg-check:
   - Replaced "make" by "$MAKE".
   - *Append* "-m64" to $CFLAGS rather than overwrite them if $SAGE64 is "yes".
 * Removed extra baggage (see "Special Update/Build Instructions" above).
 * (Note: There was no official p0. The above changes are all #9475.)

=== libm4ri-20100701 (Martin Albrecht, July 11th, 2010) ===
 * new upstream release
   + refactoring (function names now match what the function is doing)
   + heuristic algorithm choice for RREF
   + OpenMP tuning and fixes
   + new option to suppress SSE2 instructions
 * respecting SAGE_FAT_BINARY (cf. #9381)
 * adding spkg-check (cf. #9281)

=== libm4ri-20091119 (Martin Albrecht, November 19th, 2009) ===
 * portability improvements in configure.ac, cf. http://trac.sagemath.org/sage_trac/ticket/7375#comment:6

=== libm4ri-20091101 (Martin Albrecht, November 1st, 2009) ===
 * new upstream release
   + switched to LQUP instead of PLUQ for better performance
   + because of this and other improvements much better handling of sparse-ish matrices
   + overall better performance for elimination
   + better performance for mzd_transpose
   + dropped the check for the numer of CPUs from configure which was unused and not cross platform
   + optional tuning code to calculate cache sizes (not enabled by default)
   + some refactoring
   + mzd_row_add_offset() fixed a segfault

=== libm4ri-20090615 (Martin Albrecht, June 15th, 2009) ===
 * new upstream release with bugfixes and new functionality (nullspace)

=== libm4ri-20090512 (Martin Albrecht, May 12th, 2009) ===
 * new upstream release with API changes

=== libm4ri-20090128 (Martin Albrecht, January 28th, 2009) ===
 * new upstream release with bug fixes and performance enhancements

=== libm4ri-20080904 (Martin Albrecht, September 4th, 2008) ===
 * new upstream release with bug fixes and portability enhancements

=== libm4ri-20080901 (Martin Albrecht, September 1st, 2008) ===
 * new upstream release

=== libm4ri-20080831 (Martin Albrecht, August 31th, 2008) ===
 * new upstream release

=== libm4ri-20080624 (Martin Albrecht, August 6th, 2008) ===
 * new upstream release

=== libm4ri-20080601 (Martin Albrecht, June 1st, 2008) ===
 * new upstream release

=== libm4ri-20080521 (Martin Albrecht, May 21th, 2008) ===
 *  new upstream release

=== libm4ri-20071224.p3 (Michael Abshoff, May 18th, 2008) ===
 * add 64 bit OSX build support

=== libm4ri-20071224.p2 ===
 * Details lost to history

