2011-05-24  Louis-Noel Pouchet  <pouchet@cse.ohio-state.edu>

	* config/fm.m4: Use AC_SEARCH_LIBS instead of AC_CHECK_LIB.

2009-04-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/solver.c: Add fm_solver_min/max_bound, to return the integral
	min and max value of a given variable in a system.

	* fm/solution.c: Fix a potential bug in fm_point_included.

2008-10-31  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Release 0.5.0 is validated.

	* fm/solver.c,
	* fm/solution.c: Add missing #ifdef HAVE_LIBPIPLIB.

	* NEWS,
	* doc/fm.texi,
	* src/Makefile.am: Small (typo) fixes.

	* Makefile.am: Remove useless re-copy of config/fm.m4 in dist-hook.

2008-10-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Finalize the release of FM-0.5.0.

	* doc/fm.texi: Improve and update the documentation.
	* NEWS: Set the news for fm-0.5.0.

	* doc/doxygen.cfg,
	* README: Finalize the release.

2008-10-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/options.h,
	* fm/solver.c,
	* src/fm.c: Use autoscale mode for fm-solver binary.

2008-10-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* configure.ac: Bump to fm-0.5.0.

2008-10-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch changes the licence of FM, as version 0.5 will be
	released under the LGPL licence.

	* COPYING: Remove GPL licence.
	* COPYING.LESSER: Add LGPL licence.

	* fm/xmalloc.c,
	* fm/include/fm/error.h,
	* fm/include/fm/piptools.h,
	* fm/include/fm/rational.h,
	* fm/include/fm/solver.h,
	* fm/include/fm/list.h,
	* fm/include/fm/options.h,
	* fm/include/fm/compsol.h,
	* fm/include/fm/solution.h,
	* fm/include/fm/vector.h,
	* fm/include/fm/macros.h,
	* fm/include/fm/system.h,
	* fm/include/fm/common.h,
	* fm/vector.c,
	* fm/piptools.c,
	* fm/rational.c,
	* fm/xstrdup.c,
	* fm/solver.c,
	* fm/xstrerror.c,
	* fm/list.c,
	* fm/compsol.c,
	* fm/solution.c,
	* fm/system.c,
	* fm/Makefile.am,
	* fm/error.c,
	* tests/check_solver.sh,
	* tests/check_compsol.sh,
	* tests/fm_vector_test.c,
	* tests/Makefile.am,
	* tests/fm_io_test.c,
	* tests/fm_rational_test.c,
	* tests/fm_solver_test.c,
	* tests/check_io.sh,
	* tests/fm_compsol_test.c,
	* configure.ac,
	* config/fm.m4,
	* doc/Makefile.am,
	* bootstrap.sh,
	* src/fm.c,
	* src/fm_getconnected.c,
	* src/fm.h,
	* src/Makefile.am,
	* src/fm_minlexico.c,
	* Makefile.am: Update headers to LGPL.

2008-10-12  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds an auto-scale mode for fm-solver. If the option is
	specified, projection automatically reverts to FM_SIMPLIFY if the
	space of the current projection exceeds a given number of
	constraints.

	* fm/include/fm/options.h,
	* fm/solver.c: Add support of FM_SOLVER_AUTO_SIMPLIFY.

	* fm/system.c: small fix in fm_system_add_line.

2008-10-12  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solution.c: Fix a potential bug in fm_solution_to_system.

2008-09-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add function fm_solution_traverse, a generic
	polytope traverser. Works only if FM was applied on the solution
	set.

	* fm/solver.c: Remove security check for some code usefulness.

	* fm/vector.c: Remove a test in fm_vector_do_subsume: enable
	subsumption check also on equalities.

2008-08-06  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solution.c: fm_system_to_solution: deal properly with empty
	constraints.
	Bug reported by Christophe Alias.

2008-08-05  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/system.c: fm_solver_simplify: remove constant decrement when
	opposing constraint (not robust for rational systems).
	Bug reported by Christophe Alias.

2008-06-25  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solution.c: Fix a memory leak in fm_solution_to_system.
	Bug reported by Gabriel Miretti.

2008-05-14  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/options.h: New. File to collect macro definitions
	for FM options.

	* fm/include/fm/solution.h,
	* fm/include/fm/solver.h: Update accordingly.
	* fm/Makefile.am: Update accordingly.

2008-05-14  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add fm_solution_count, to count the number of
	integer point in a polytope.

	* fm/system.c,
	* fm/solution.c,
	* fm/compsol.c,
	* fm/solver.c: Add some missing protective guards in case of NULL
	entry.

2008-04-25  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solution.c: Fix a bug in fm_solution_point_included.

2008-04-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/system.h,
	* fm/system.c: Add bufferized allocation for fm_system_add_line.

2008-04-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/vector.h,
	* fm/vector.c: Export fm_vector_compute_key function.

	* fm/include/fm/system.h,
	* fm/system.c: Add fm_system_remove_duplicate function: removes
	identical lines from the input system. Fix vector key computation
	in fm_system_add_line.

2008-02-15  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/vector.c,
	* fm/include/fm/solver.h,
	* fm/include/fm/compsol.h,
	* fm/rational.c,
	* fm/piptools.c,
	* fm/solver.c,
	* fm/list.c,
	* fm/solution.c,
	* fm/compsol.c,
	* fm/system.c,
	* doc/fm.texi: Improve documentation.

	* doc/mainpage.dox,
	* doc/doxygen.cfg: New. Doxygen documentation configuration
	* configure.ac,
	* doc/Makefile.am: Update to generate Doxygen doc. Bump (back)
	to 0.4.0.

	* NEWS,
	* README: Update.

2008-02-06  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/include/fm/solution.h,
	* fm/include/fm/system.h,
	* fm/solver.c,
	* fm/solution.c,
	* fm/system.c: Add fm_system_simplify and fm_solution_simplify,
	offer the service as an option inside the solver.

	* configure.ac: Bump to 0.4.1-testing.

2008-01-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* config/fm.m4: Update check of libpiplib to libpiplib64.

2008-01-04  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/piptools.c,
	* fm/include/fm/piptools.h: Fix prototype names. Add check_tools_msg.

2008-01-03  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/piptools.h: Remove include of config.h.
	* config/fm.m4: Fix prefix check.

2007-12-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/piptools.h,
	* fm/piptools.c: New. Unit dedicated to piplib tools (emptiness test).
	This unit is compiled only if piplib is available.

	* fm/Makefile.am: Update accordingly.

	* configure.ac,
	* config/fm.m4: Offer --with-piplib

2007-12-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* doc/fm.texi: Create base texinfo file for FM.
	* doc/Makefile.am: Update accordingly.

2007-12-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/include/fm/list.h,
	* fm/include/fm/solution.h,
	* fm/solver.c,
	* fm/list.c,
	* fm/compsol.c,
	* fm/solution.c: Move type List to s_fm_list_t, and functions
	list_* to fm_list_*.

2007-12-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* trunk: Create trunk directory.

2007-09-21  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* configure.ac: Bump to fm-0.4.0pre.

2007-08-17  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/system.c,
	* fm/include/fm/system.h: Add fm_system_getconnected, to compute
	connected variables.

2007-07-12  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solver.c: Fix a huge bug in compute_val.

2007-05-04  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/compsol.h,
	* fm/compsol.c: Improve. Add support of free variables removal.

2007-05-04  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/checker.sh: Delete. Replace by
	* tests/check_compsol.sh,
	* tests/check_io.sh,
	* tests/check_solver.sh: These.

	* tests/fm_compsol_test.c,
	* tests/banerjee-1.test.sol,
	* tests/banerjee-2.test.sol,
	* tests/banerjee-3.test.sol,
	* tests/deptest-1.test.sol: New. Add test files for compsol.

	* tests/Makefile.am: Update accordingly.

2007-05-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/compsol.h,
	* fm/compsol.c: Enable compsol initialization from a solution_t.
	* fm/solution.c: Add implicit equalities detection for solution_t.

2007-04-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/solver.c,
	* fm/solution.c: Minor fixes for memory leak hunting.
	* src/fm.c: Remove trailing whitespace.

2007-02-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/compsol.h,
	* fm/compsol.c: New. Compacted representation for solution sets.
	Compute echelon form of an input matrix, and maintain a (strongly
	convex) polyhedron and a list of equalities to be equivalent to
	the original system.

	* fm/Makefile.am: Update accordingly.

	* src/Makefile.am,
	* fm/include/fm/solver.h,
	* fm/include/fm/system.h,
	* fm/include/fm/solution.h,
	* fm/solver.c,
	* fm/system.c,
	* fm/solution.c: Small fixes.

2007-02-12  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/system.h,
	* fm/system.c: Add fm_system_reduce, which returns a fresh system
	where linearly dependent columns are eliminated regarding the
	replacement vectors provided. Add fm_system_equalities_find, which
	reduces (in place) inequalities to equalities, and put them at the
	top of the system.

	* fm/include/fm/solver.h,
	* fm/solver.c: Add fm_solver_gauss, a Gaussian elimination
	method. Add fm_solver_linind, to produce a set of replacement
	vectors for linearly dependent columns.

2007-01-19  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/system.h,
	* fm/system.c: Add fm_system_swap_column.

2006-12-02  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* configure.ac,
	* NEWS,
	* README: Bump to fm-0.3.

2006-12-02  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/vector.c: Fix a minor bug in fm_vector_read.

2006-12-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/macros.h,
	* fm/include/fm/common.h,
	* fm/vector.c,
	* fm/rational.c,
	* fm/solver.c,
	* fm/solution.c: Small fixes, to remove all links between "int"
	and "z_type_t". The code is now 64-bit compliant.

2006-10-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add fm_solution_dup.

	* fm/system.c: Add guard in fm_system_free.

2006-10-03  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add fm_system_to_solution.

	* fm/include/fm/system.h,
	* fm/system.c: Add fm_system_to_z.

	* fm/vector.c: Fix a huge bug in fm_vector_to_z.

2006-09-24  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add
	fm_solution_to_system_at, which extract an fm_system_t formated
	matrix with the first dimensions of the solution (supplied in
	argument).

2006-09-24  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/vector.h,
	* fm/vector.c: Add fm_vector_is_scalar_cst, which checks if a
	constraint has only one non-null coefficient (except the scalar).

2006-09-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/solver.c: Add support of MaxLexico computation.

2006-09-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/solver.c: Remove memory leak in min/max computation.

2006-09-06  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/macros.h,
	* fm/include/fm/common.h,
	* fm/vector.c,
	* fm/rational.c,
	* fm/solver.c,
	* fm/solution.c: Implement last research results. See my Master Thesis.

	* tests/deptest-1.test.ref,
	* tests/banerjee-3.test.ref: Update tests.

	* configure.ac,
	* NEWS,
	* README: Bump to fm-0.2.0.

2006-06-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/vector.h,
	* fm/vector.c: Add vector_expand_at function.

	* configure.ac: Bump to fm-0.1.3pre.

2006-06-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Bump to fm-0.1.2.

	* configure.ac,
	* README,
	* NEWS: Bump to fm-0.1.2.

	* fm/include/fm/solution.h,
	* fm/solution.c: Change solution_to_system to reduce memory footprint.

	* fm/include/fm/vector.h,
	* fm/vector.c: Add vector_expand capability.

	* fm/solver.c: Reduce memory footprint.

	* tests/deptest-1.test.ref,
	* tests/banerjee-2.test.ref,
	* tests/banerjee-3.test.ref,
	* doc/sample.out: Update accordingly.

	* tests/checker.sh: Improve checker

2006-06-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/macros.h: Remove brackets in macros (replace them
	with parenthesis).

2006-06-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solution.h,
	* fm/solution.c: Add a converter from solution_t to system_t.

	* fm/include/fm/vector.h,
	* fm/vector.c: Add a vector shrinker.

2006-06-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/solver.h,
	* fm/solver.c: Add fm_solver_solution_at function, to limit the
	size of the output solution.

2006-06-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Bump to fm-0.1.1.

	* configure.ac: Bump to the next minor revision.
	* NEWS: Update informations.

	* fm/include/fm/solver.h: Add new options for solver.
	* fm/solver.c: Fix huge bugs in the algorithm (termination
	condition was false).

	* fm/include/fm/vector.h,
	* fm/vector.c: Add a function to set an int at a given pos, and to
	oppose a vector.

	* fm/include/fm/system.h,
	* fm/system.c: Add a function to convert equalities to
	inequalities in the given system.

	* tests/fm_solver_test.c: Use FM_SOLVER_NORMALIZE_EQ option.
	* fm/solution.c: Improve printer.

	* tests/io.out.test,
	* tests/deptest-1.test.ref: Update accordingly.

2006-06-05  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch corresponds to the first release of the project: 0.1.0.

	* fm/include/fm/solver.h,
	* fm/solver.c: Add support of FM_SOLVER_MEMSIZE option.

	* fm/include/fm/solution.h,
	* fm/include/fm/system.h,
	* fm/system.c,
	* fm/solution.c: Change prototype of functions fm_XX_write to
	fm_XX_print.

	* tests/fm_io_test.c,
	* tests/fm_solver_test.c,
	* src/fm.c: Update accordingly.

	* tests/Makefile.am,
	* fm/Makefile.am: Add missing file.

	* Makefile.am: Remove trailing whitespace.

2006-06-04  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds lexico-smallest computation capability, and fixes
	some little bugs.

	* fm/rational.c,
	* fm/include/fm/rational.h: Add fm_rational_cmp and
	fm_rational_assign_int functions.

	* fm/include/fm/solver.h,
	* fm/solver.c: Add computation of lexico-smallest set of values,
	for a given system.

	* Makefile.am,
	* fm/solution.c,
	* fm/Makefile.am,
	* fm/vector.c: Small fixes.

	* tests/deptest-1.test,
	* tests/deptest-1.test.ref: New. Add a new test.
	* tests/checker.sh: Update accordingly.

	* fm/include/fm/macros.h: Add Z_INC and Z_DEC macros.

	* src/fm_minlexico.c: New. Add a binary for lexico-smallest
	computation.
	* README,
	* src/Makefile.am: Update accordingly.

	* src/fm.c,
	* configure.ac,
	* fm/include/fm/system.h: Remove trailing whitespaces.

	* tests/fm_solver_test.c,
	* tests/banerjee-1.test.ref,
	* tests/banerjee-2.test.ref,
	* tests/banerjee-3.test.ref,
	* tests/banerjee-4.test.ref: Update test with lexico-smallest
	computation.

2006-06-02  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds a working and efficient version of Fourier-Motzkin
	elimination algorithm. Further tests have to be done.

	* fm/include/fm/vector.h
	* fm/include/fm/rational.h: Inline functions.

	* fm/rational.c,
	* fm/vector.c: Fixes and updates.

	* fm/include/fm/system.h,
	* fm/include/fm/solution.h,
	* fm/include/fm/solver.h,
	* fm/system.c,
	* fm/solver.c,
	* fm/solution.c: New. Add Fourier-Motzkin elimination algorithm.
	* src/fm.c: Add command-line solver capability.

	* fm/include/fm/list.h,
	* fm/list.c: Add add_unique_head feature, and fixes.

	* tests/fm_vector_test.c,
	* tests/fm_io_test.c,
	* tests/fm_solver_test.c: New. Add test programs.

	* tests/banerjee-1.test,
	* tests/banerjee-2.test,
	* tests/banerjee-3.test,
	* tests/banerjee-1.test.ref,
	* tests/banerjee-2.test.ref,
	* tests/banerjee-3.test.ref: New. Add solver tests.

	* tests/io.in.test,
	* tests/io.out.test: New. Add I/O tests.

	* doc/sample.in,
	* doc/sample.out: Add samples.

	* doc/Makefile.am,
	* src/Makefile.am,
	* fm/Makefile.am,
	* tests/Makefile.am,
	* tests/checker.sh: Update accordingly.

	* README,
	* NEWS: Add some informations.

2006-05-31  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* fm/include/fm/rational.h,
	* fm/rational.c: Add rational number class.

	* fm/include/fm/vector.h,
	* fm/vector.c: Add rational vector class.

	* fm/Makefile.am: Update accordingly.

	* tests/fm_vector_test.c,
	* tests/fm_rational_test.c: Add corresponding tests.

	* tests/Makefile.am: Update accordingly.

	* fm/include/fm/macros.h: Add useful macros to work on Z.
	* fm/include/fm/common.h: Add z_type_t for Z type.

2006-05-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Initial checkin of the project.

	* tests/Makefile.am,
	* tests/empty.test,
	* tests/checker.sh,
	* fm/xmalloc.c,
	* fm/include/fm/error.h,
	* fm/include/fm/list.h,
	* fm/include/fm/foo.h,
	* fm/include/fm/common.h,
	* fm/foo.c,
	* fm/Makefile.am,
	* fm/xstrdup.c,
	* fm/error.c,
	* fm/xstrerror.c,
	* fm/list.c,
	* configure.ac,
	* config/fm.m4,
	* doc/Makefile.am,
	* AUTHORS,
	* bootstrap.sh,
	* src/fm.c,
	* src/fm.h,
	* src/Makefile.am,
	* ChangeLog,
	* COPYING,
	* Makefile.am,
	* NEWS,
	* README: New. Core skeleton of the project.
