2021-10-06  Philippe Michel  <philippe.michel7@free.fr>

	* neuralnetsse.c, mm_malloc.h(-) Makefile.am, ../configura.ac:
	Modify preferred choices for aligned memory allocation. Try
	posix_memalign(), then _aligned_malloc(), then a system/compiler
	_mm_malloc() ; don't provide the latter any more.

2018-05-12  Philippe Michel  <philippe.michel7@sfr.fr>

	* simd.h, neuralnetsse.c, neuralnet.c, inputs.c: Add ARM NEON
	instructions support.

2016-01-03  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnetsse.c: Use FMA3 instructions in a few places if
	available and enabled. The speed gain is modest.

2014-10-12  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnetsse.c: Use knowledge of the limited range of possible
	values for base inputs to accelerate neural networks computations.

2014-10-05  Philippe Michel  <philippe.michel7@sfr.fr>

	* cache.c: Use MurmurHash3 for evaluations cache addressing
	instead of the current hashing function. Key computation is faster
	and hit rate (very slightly) better.

2013-06-22  Michael Petch  <mpetch@gnubg.org>

	* ChangeLog, Makefile.am, inputs.c, neuralnet.c, neuralnet.h,
	neuralnetsse.c, +simd.h, -sse.h. Rename sse.h to simd.h. Rename
	USE_SSE_VECTORIZE to USE_SIMD_INSTRUCTIONS, rename SSE_Supported
	to SIMD_Supported, rename DISABLE_SSE_TEST to DISABLE_SIMD_TEST,
	rename SSE_CFLAGS to SIMD_CFLAGS, rename file sse.h to simd.h

	Make sse/simd usage more consistent

2013-06-15  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnetsse.c, sse.h, inputs.c, ../configure.ac: Use AVX
	instructions when built with "configure --enable-simd=avx"

2013-04-15  Philippe Michel  <philippe.michel7@sfr.fr>

	* cache.c, cache.h, ../eval.c: Use 32 bits variables for keys
	instead of long integers. This is what the hashing functions,
	taken from an external source, expect.

2011-12-31  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnetsse.c: Fixes error in sigmoid approximation. In
	addition, uses reciprocal instead of division only if compiled
	with -ffast-math to keep output identical to non-SSE code.

2011-07-14  Philippe Michel  <philippe.michel7@sfr.fr>

	* cache.c, cache.h: On Intel CPUs, use Gcc builtins for locking
	instead of Glib atomic ops. The latter don't work (on RHEL 6) with
	more than 20-25 cores. Gcc builtins seem fine up to 48 at least
	and bring a small speed improvement in all cases.

2011-05-13  Philippe Michel  <philippe.michel7@sfr.fr>

	* inputs.c (new file), Makefile.am: baseInputs() computation using
	SSE.

2011-04-19  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnet.c, neuralnetsse.c: Reorder frequent tests to put the
	most likely branch first.

2011-03-22  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnet.c, neuralnet.h : Remove unused NeuralNetResize(),
	simplify NeuralNetCreate(). Use of untrained nets has been removed
	for some time.

2011-02-08  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnetsse.c, neuralnet.h : Øystein Johansen's patch to handle
	a different number of hidden nodes with SSE.

2010-10-29  Philippe Michel  <philippe.michel7@sfr.fr>

	* neuralnet.c: On FreeBSD, check sse from sysctl
	Picked from FreeBSD port patches.

Tue Feb 20 21:25:01 GMT 2007  Jim Segrave <jes@j-e-s.net>

	* neuralnet.c: skip sse check if __x86_64 is defined

Fri Apr 29 21:16:41 CEST 2004  Jon Kinsey

	* neuralnetsse.c: Split out SSE code to separate file

Wed May  4 18:10:43 GMT  2005  Jim Segrave <jes@jes-2.demon.nl>

	* sse.h: add CVS tag

Fri Apr 29 21:16:41 CEST 2004  Jon Kinsey

	* neuralnet.c: Minor improvements to new code
	* sse.h: New file with sse specific defines

Thu Apr 28 22:35:53 2005  Øystein Johansen <oysteim@gnubg.org>

	* neuralnet.c (Evaluate128, EvaluateFromBase128, NeuralNetEvaluate128):

	New functions for vectorized evaluation of neural networks
	with 128 hidden	nodes.

Fri Feb 25 11:16:41 CEST 2004  Jon Kinsey

	* neuralnet.c Relegate BLAS code as proved slower

Mon May  3 15:16:41 CEST 2004  Joern Thyssen  <jth@gnubg.org>

	* mt19937ar.c (init_genrand): add mti as parameter to init_genrand.

Thu Apr 22 21:14:32 CEST 2004  Joern Thyssen  <jth@gnubg.org>

	* mt19937int.[ch]: replaced by mt19937ar.[ch]
	* mt19937ar.[ch]: upgrade Mersenne-Twister from
	<URL:http://www.math.keio.ac.jp/matumoto/emt.html>.

Thu Dec 18 23:35:48 2003  Joern Thyssen  <jth@gnubg.org>

	* neuralnet.c: implement Olivier Baur's faster sigmoid
	(note that it should probably not be used until the net
	has been retrained)
	* neuralnet.c (Evaluate, EvaluateFromBase): implement
	net propagation as matrix x vector using BLAS from ATLAS.

Fri Jan 10 19:13:15 2003  Joern Thyssen  <jth@gnubg.org>

	* hash.h: enlage cache to hold cubeful equities as well
	(and possibly cubeless ones).

Thu Dec 19 22:53:52 2002  Joern Thyssen  <jth@freeshell.org>

	* hash.h: add new fields (statistics) to hash.

Mon Aug  5 13:48:34 2002  Gary Wong  <gtw@gnu.org>

	* mt19937int.c (sgenrand): Fudge the seed so that it fits the
	example in the manual more closely.

Mon Jul 29 13:15:22 2002  Gary Wong  <gtw@gnu.org>

	* mt19937int.c (sgenrand): Upgrade to Makoto Matsumoto's
	latest initialisation code.  Reported by Eli
	Liang <elientzeliang@hotmail.com>.

Thu Jul  4 18:50:27 2002  Jørn Thyssen  <jthyssen@dk.ibm.com>

	* hash.c (CacheStat): only assign parameters if not NULL.

Wed Jul  3 13:56:25 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* New cache code. Faster, and higher hit %. You can revert by
	compiling with '-DGARY_CACHE'

Sat May  4 13:33:14 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* neuralnet.c (NeuralNetCreateDirect): add initialization for
	savedBase, savedIBase.

Fri Apr 26 19:23:53 2002  Øystein Johansen <oeysteij@online.no>

        * neuralnet.c: Add neural net speedup from fibs2html

Wed Feb  6 10:03:53 2002  Gary Wong  <gtw@research.att.com>

	* neuralnet.c (CheckRC): Use time() as a seed for irandinit().

Fri Feb  1 10:49:00 2002  Gary Wong  <gtw@research.att.com>

	* neuralnet.c (NeuralNetCreateDirect): New function.

Thu Aug 23 10:57:16 2001  Gary Wong  <gtw@research.att.com>

	* dynarray.c, hash.c, heap.c, list.c: #include <stddef.h>, to get
	definition of NULL.

Thu Apr  5 14:20:57 2001  Gary Wong  <gtw@research.att.com>

	* dynarray.c (DynArrayAdd): Fix realloc size parameter.

Mon Mar 19 10:47:31 2001  Gary Wong  <gtw@research.att.com>

	* hash.c: Ignore NULL parameters.

Thu Feb 22 11:42:57 2001  Gary Wong  <gtw@research.att.com>

	* buffer.c: Check whether <sys/uio.h> exists.

Tue Feb 13 13:12:19 2001  Gary Wong  <gtw@research.att.com>

	* neuralnet.c (NeuralNetCreate): Fix initial random weights
	(allow negative values).

Tue Jan 16 13:34:39 2001  Gary Wong  <gtw@research.att.com>

	* hash.c (CacheResize): Recreate the original size if the new
	allocation fails.

Tue Nov 14 13:03:23 2000  Gary Wong  <gtw@research.att.com>

	* isaacs.h: Remove definitions which polluted the namespace
	(and weren't even used).

Fri Nov 10 13:45:53 2000  Gary Wong  <gtw@research.att.com>

	* neuralnet.c (sigmoid): Optimisations.
	(NeuralNetCreate, NeuralNetResize): Use irand() instead of rand_r(),
	for better quality random numbers and improved portability.

Fri Sep 29 14:08:05 2000  Joseph Heled  <pepe@internet.co.nz>

	* config.h: undef VERSION and PACKAGE before setting them.

Wed Aug  2 13:26:08 2000  Joseph Heled  <pepe@internet.co.nz>

	* neuralnet.c: Improve sigmoid accuracy by using a table lookup for
	the first two digits and using (exp(x) = 1 + x) for x < 0.1.

Thu Jul 27 18:20:58 2000  Gary Wong  <gary@cs.arizona.edu>

	* event.c: Define nothing on systems that can't support it.
	* buffer.c: Define nothing on systems that can't support it.
	* fifo.c (FifoIOVec): Do not define on systems that can't support it.

Sat Mar 11 20:09:10 2000  Gary Wong  <gary@cs.arizona.edu>

	* neuralnet.c (NeuralNetDifferentiate): New function.

Fri Jan 14 09:34:52 2000  Gary Wong  <gary@cs.arizona.edu>

	* fifo.c: replaced bcopy with memcpy.

Sat Jan  8 17:57:54 2000  Gary Wong  <gary@cs.arizona.edu>

	* event.c: removed syslog code (unportable and unnecessary).

Thu Jan  6 22:24:39 2000  Gary Wong  <gary@cs.arizona.edu>

	* neuralnet.c (NeuralNetLoadBinary, NeuralNetLoadBinary): New
	functions.

Mon Jan  3 03:40:48 2000  Gary Wong  <gary@cs.arizona.edu>

	* rand_r.c (rand_r): New function.

Sun Jan  2 11:33:58 2000  Gary Wong  <gary@cs.arizona.edu>

	* hash.c (CacheResize): New function.
