Wed Aug  7 10:15:59 1996  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.8
	
	* lib/container/DLList.[ch]: 
	* lib/container/SLList.[ch]: 
	* lib/container/SLObject.h: Handling of single linked lists has
 	  been sped up. From now on function SLList::append() works as
 	  fast as SLList::prepend().

Tue Aug  6 21:41:49 1996  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* bin/CNarray3.pl
	* lib/array/Array3.[ch]
	* lib/array/T_array3.[ch]P
	* lib/array/test/t3.c
	* doc/info/arrays.texi: New abstract base class CNArray3 of
	  3-dimensional arrays. With the help of the CNarray3.pl script, 
	  3-dimensional arrays for the types double, float, int, long, and
          CNObject* are provided. Thanks for supplying to Axel Nllchen
          <axl@comnets.rwth-aachen.de>. 

	* lib/stat/Confidence.[ch]
	* lib/stat/test/tConfidence.c
	* doc/info/eval.texi: New statistical evaluation class
	  CNConfidence which provides evaluation of (weighted) moments
	  with confidence intervalls. Thanks for supplying to Alexander
	  Speetzen <spee@comnets.rwth-aachen.de>.

	* lib/random/LCG.[ch]
	* doc/info/random.texi: The Linear Congruent random number
	  Generator has been enhanced. Furthermore, the documentation
	  about all implemented random number generators has been greatly
	  improved and lots of references to literature these generators
	  are based on have been included. Thanks for supplying to
	  Carmelita Grg <cg@comnets.rwth-aachen.de> and Ulrich 
	  Vornefeld <ulvo@comnets.rwth-aachen.de>.

	* lib/container/HashTable.h
	* lib/container/HashStatic.[ch]
	* lib/container/HashDynamic.[ch]
	* lib/container/test/tHash.c
	* doc/info/manage.texi: New member functions
	  reset_absolutely_w_obj() and delete_key_absolutely_w_obj() which
	  delete all keys (a single key resp.) from an hash table. These
 	  methods free the memory allocated for the key(s) stored in the hash
	  table and free the memory allocated for the object stored in the
 	  key(s).

	* lib/stat/DLRE.[ch] 
	* lib/stat/test/tDLRE.c
	* doc/info/eval.texi: Input values added via put() are now
 	  rounded in order to fit into the nearest discrete interval.
	
Thu Aug  1 21:15:30 1996  Martin Steppler  <steppler@comnets.rwth-aach;en.de>

	* bin/fuzzy/fuzzymain.c: getopt() fails under Linux. Added
 	  workaround for Linux.

Fri May  3 22:58:40 1996  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.7
	
	* lib/misc/Ref.[ch]
	* doc/info/misc.texi: New member functions CNRef::del,
 	  CNRef::decrease, CNRef::ref, CNRef::deref.

Wed Apr 24 17:20:53 1996  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.6

	* lib/misc/ParseArgs.[ch]
	* lib/misc/test/tParseArgs.{c|ref|sh}: New class CNParseArgs, 
	  which provides an easy to use interface for the interpretation 
	  and parsing of command line arguments. Thanks for supplying to
	  Matthias Frhlich <maf@comnets.rwth-aachen.de>.

	* lib/stat/Histogram.[ch]
	* lib/stat/test/tHistogram.{c|dat|ref|sh}: New class CNHistogram,
 	  which provides the evaluation of statistical data in form of
 	  histograms. Thanks for supplying to Matthias Frhlich
 	  <maf@comnets.rwth-aachen.de>.

	* lib/container/SLList.c: CNSLList::remove_object() and
 	  CNSLList::delete_object() now work correctly. Thanks for
 	  reporting to Sonja Schnabel <sos@comnets.rwth-aachen.de>.
	
	* doc/info/random.texi: Corrected example of CNDiracTab. Thanks
 	  for reporting to Alexander Speetzen <spee@comnets.rwth-aachen.de>.
	* doc/info/eval.texi: Added documentation of CNHistogram.
	* doc/info/misc.texi: Added documentation of CNParseArgs.
	
Mon Mar  4 19:31:53 1996  Martin Steppler  <steppler@comnets/rwth-aachen.de>

	* Release 1.5
	
	* lib/container/[SD]LIterator.[ch]
	* lib/container/text/tDL.c: New member function set_position().

	* lib/misc/IniFile.[ch]: Using PureSoftware's Purify all memory
	  leaks have been removed.

	* BatchMeans.[ch]
	* Batches.[ch]
	* DLRE.[ch]
	* DLREF.[ch]
	* DLREG.[ch]
	* DLREP.[ch]
	* LRE.[ch]
	* LREF.h
	* LREG.h
	* Moments.[ch]
	* MomentsTime.[ch]
	* Statistics.[ch]: Added new member functions get_name() and
	  get_desc() to CNStatistics. Removed redundant code from derived
	  classes. 'CNString name, text;' are now protected members of 
	  CNStatistics.

Sun Jan 28 18:01:26 1996  Martin Steppler  <steppler@comnets/rwth-aachen.de>

	* lib/random/RNG.c: Random number generation should now work in
	  the same way on low and big endian machines.

Thu Jan  4 19:31:36 1996  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.4
	
	* lib/container/DLList.[ch]
	* lib/container/SLList.[ch]: Fix of serious bug:
 	  CNDLList::delete_all() and CNDLList::delete_all_w_obj() now 
	  reset all internal counters correctly. Thanks for reporting to 
	  Christian Plenge <chp@comnets.rwth-aachen.de>.

	* lib/random/RNG.[ch]: as_long(), as_float(), and as_double() have
 	  been made virtual in order to simplify the creation of own
 	  random number generators derived from this class.

Wed Dec 20 10:42:35 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.3

Tue Dec 19 18:35:20 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* config.h
	* lib/random/RNG.[ch]: Added new #define
 	  CNCL_LOW_ENDIAN_MACHINE. The same sequence of random numbers -
 	  provided the same generator seed is used - is now generated on
 	  both, big and low endian machine, e.g. SPARCstations and Linux
 	  PCs.

	* lib/container/Queue.h
	* lib/container/PrioQueueFIFO.[ch]
	* lib/container/QueueFIFO.[ch]
	* lib/container/QueueLIFO.[ch]
	* lib/container/QueueRandom.[ch]
	* lib/container/QueueSPT.[ch]
	* lib/container/Sink.[ch]
	* lib/container/test/tQueue.c: The new member function peek() has
	  been added, which retrieves an object from the queue. Unlike
	  get(), peek() does not remove the object from the queue.

	* lib/container/Stack.h: Added new member function pop() as an
  	  alias for pull().

	* lib/stat/Moments.[ch]: Added new member function put(double x_i,
 	  double w_i), where w_i is the input value of x_i. From now on
 	  statistical evaluation of a random weighted input sequence is
 	  possible.
	
	* lib/stat/MomentsTime.[ch]
	* lib/stat/test/tMomentsTime.c: The class CNMomentsTime has been
 	  added in order to provide statistical evaluation for
 	  time-weighted input sequences. 
	
Thu Nov 23 11:46:11 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* lib/container/SLList.[ch]
	* lib/container/SLIterator.[ch]
	* lib/container/SLObject.[ch]
	* lib/container/DLList.[ch]
	* lib/container/DLIterator.[ch]
	* lib/container/DLObject.[ch]
	* lib/container/test/tSL.c: The classes CNSLList, CNSLIterator,
	  and CNSLObject have been added in order to provide single linked 
	  lists. CNDLList, CNDLIterator, and CNDLObject have been derived
	  from their single linked list counter parts. tSL.c is a newly
	  created test program

	* lib/stat/BatchMeans.[ch]
	* lib/stat/Batches.[ch]
	* lib/stat/test/tBatches.c: New class CNBatchMeans has been added, 
 	  which should replace class CNBatches.
	
	  Differences between BatchMeans and Batches:
	  - BatchMeans is written in C++(!), is clean (purified!), faster,
	    and smaller
          - two constructors provide fixed length (nog * sog) and variable
            length (based on bayes error) evaluation
          - additional functions:
	      min_index(), max_index() // used for online evaluation
	      groups_done() // progress report
	      get_result()  // online evaluation
	      change_error()
	      p(), f(), g() // rel. prob., distr. function, compl. distr. func.
	      correlation() // 1st order correlation coefficient of group means
          - changed functions:
	      reset() // works in BatchMeans
	      print() // header contains more and other data
	      bayes_error() // debugged
          - some conceptual changes, which results in different output:
	      values on interval limits are sorted in the lower interval (in
	      accordance with the definition of F(x), G(x));
	      rel. probabilities are printed at the left interval limit and
	      belong to the whole interval (Batches did print them at the
	      right limit);
	
          New test program tBatches.c 

          Some necessary bugfixes in Batches.[hc]

          Removed files tvert95.dat and tvert99.dat (they aren't used
          anymore). The files tvert975.dat and tvert995.dat are still needed!

Sun Nov 12 20:10:47 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.2

	* doc/info/*.texi: The complete documentation is now up to date.
	
	* lib/container/DLIterator.h: Bugfix in reset(). reset() can from
 	  now on be used, even if the iterator has not aleady been
 	  initialized.
	
	* lib/Object.h: Changed definition of
	      typedef const CNClass * const CNClassDesc;
          to
	      typedef const CNClass * CNClassDesc;

Wed Oct 18 14:53:41 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* bin/fuzzy/Makefile: Added '-lm' to variable LIBS, in order to
	  link correctly under SunOS 4.1.3 with shared libg++ 2.7.0.

	* lib/misc/Coord.c: Bugfix: Assignment operator now works as
 	  expected. Default scale factor set to 1.0.

Sat Oct  7 19:51:22 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* lib/events/EventHeapSched.c: Bugfix: All elements of the heap
	  are initialized to zero in the constructor in order to prevent
	  uninintialized memory reads.

Tue Oct  3 10:09:14 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* make.subdirs: Bugfix: Renamed rule 'sub-tar-rev' to
 	  'all-sub-tar-rev'. Due to this renaming the makefile in
 	  'examples/gist' is from now on not left out, when the
 	  release tar file is created. Thanks for reporting to
 	  Ming Li <ming_li@otter.cs.yorku.ca>.

Mon Oct  2 10:46:29 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* Release 1.1

	* lib/stat/DLRE{F,G,P}.[ch]:
	  CNDLREF::CNDLREF()
		* new parameter Fmin [default = 0.0] introduced;
 		  DLRE::status is set to END, if cur_f_lev is
 		  lower than Fmin
	  CNDLREF::rtc()	
		* checks Fmin
		* sets reason for status END [MIN, OK, LAST]
		* tries to estimate batch size n0 until next rtc() call
		* uses cur_level_index to avoid recalculation of levels
 		  already fulfilling all error conditions
	  CNDLREF::print()	
		* outputs reason of status END
	  CNDLREG::CNDLREG()	
		* new parameter Gmin [default = 0.0] introduced;
 		  DLRE::status is set to END, if cur_g_lev is
 		  lower than Gmin
	  CNDLREG::rtc()	
		* checks Gmin
		* sets reason for status END [MIN, OK, LAST]
		* tries to estimate batch size n0 until next rtc() call
		* uses cur_level_index to avoid recalculation of levels
 		  already fulfilling all error conditions
	  CNDLREG::print()	
		* outputs reason of status END
	  CNDLREP::CNDLREP()  
		* new parameter force_rminusa_ok [default = FALSE]
		  introduced; it is used to force the large sample
		  condition `r-a>=10'; it is set to FALSE by default
		  because there are cases where it cannot be fulfilled,
		  and some others where it would result in a long
		  simulation time (although any other condition is
		  already fulfilled).
	  CNDLREP::rtc()	
		* tries to estimate batch size n0 until next rtc() call
 		  (uses slightly other algorithm than DLRE[FG]
	  CNDLREP::print()	
		* outputs when large sample condition `r-a>=10' wasn't
		  forced
	  rtc - algorithm:
		In previous version the constructor of DLRE[FGP]
		calculated the batch size n0 once for the whole
 		simulation with the following formula:
			n0 = 2.0 / [ relerr * relerr ];
		Now n0 is set to 1000 in the constructor of DLRE[FGP]
		(since one of the large sample conditions requires at
		least 1000 samples) and recalculated every time rtc()
		is called. In all three possible cases (r<100; r-a<10;
		d>relerr) the actual deviation, the number of samples
		and the current position on the x-axis are taken into
		account, to calculate a new batch size. Of course a
		minimum n0 is forced and to be secure a maximum (that
		is the current number of samples) is provided
		too. There are obviously a number of parameters which
		might be somehow optimized. Experiments showed that
		the new method usually required dramatically less
		rtc() calls than the previous one. Most times even the
		number of samples needed was lower than with the old
		method. Together with the use of cur_level_index (in
		DLRE[FG]) to avoid recalculation of levels already
		fulfilling all error conditions, the new method should
		result in less calculation time in the rtc() function
		during a simulation.

	* lib/stat/Moments.[ch]: Replaced 'char *name' by 'CNString name'.
  	  From now on there will not be a memory leak, when assigning a
 	  CNMoments object to another one. Thanks for reporting to Kris
 	  Struyve <kris.struyve@intec.rug.ac.be>.

	* lib/events/Event.h: Modified in order to compile correctly under
	  HP/UX. Thanks for reporting to Kris Struyve
	  <kris.struyve@intec.rug.ac.be>.

	* lib/container/HashIterator.h: Modified in order to compile
	  correctly under HP/UX. Thanks for reporting to Kris Struyve
	  <kris.struyve@intec.rug.ac.be>.

	* lib/stat/LRE.[hc]: Renamed MAX and MIN to CNMIN and CNMAX in
	  order to compile correctly under HP/UX. Thanks for reporting to
	  Kris Struyve <kris.struyve@intec.rug.ac.be>.
	
	* lib/misc: New classes CNRef, CNRefObj, CNRefNamed, and CNPtr.

	* lib/misc/test/tRef.c: New test program for the new classes above.
	
	* lib/misc/Coord.[ch]: Added assignment operator.

	* lib/container/KeyString.h: Removed forward reference to
	  CNString, which caused problems under Linux. Thanks for
	  reporting to Ming Li <ming_li@otter.cs.yorku.ca>.

	* doc/info/*.texi: Various updates to the documentation.

Tue Sep 19 20:34:56 1995  Martin Steppler  <steppler@comnets.rwth-aachen.de>

	* lib/CNCL.h: #define ERROR replaced by CNERROR

Wed Jul  5 14:47:56 1995  CNCL Admin  <cncl-adm@lorien>

	* Release 0.29
	  Prerelease for GCC 2.7.0

Thu May 18 11:34:13 1995  CNCL Admin  <cncl-adm@wyvern>

	* Release 0.28
	  Updated SDL classes [NOT PUBLIC!]
	  Changes to event scheduler classes
	  Changes to RNG classes
	  Changes to CNString, CNKeyString
	  New classes CNGetOpt, CNIniFile

Fri Jan 20 16:10:32 1995  CNCL Admin  <cncl-adm@wyvern>

	* Release 0.27
	  Improved classes for persistent objects.
	  Several bug fixes and improvements.

Mon Nov 21 16:01:54 1994  CNCL Admin  (cncl-adm@wyvern)

	* Release 0.26
          Some changes to allow compilation on a variety of platforms
	  New configuration header file <CNCL/config.h>
	  Solaris/GCC 2.6.1 port

Wed Oct 19 16:32:42 1994  CNCL-Admin  (cncl-adm@wyvern)

	* Release 0.25
	  New scheduler, new persistent classes

Mon Aug  1 15:24:51 1994  CNCL-Admin  (cncl-adm@wyvern)

	* Release 0.23
	  Now supports GCC 2.6.0

Fri Jul 22 11:18:58 1994  CNCL-Admin  (cncl-adm@wyvern)

	* Release 0.22

