24 Nov 11:

- Significantly rearranged Divonne, e.g. unrolled the recursion
  on regions, for better parallelizability.

- Improved parallelization through DoSample.

- Automatic detection and usage of the free cores on a machine,
  or else set CUBACORES to the number of cores one wishes to
  utilize, with negative numbers meaning "up to" depending on
  availability (e.g. -2 means "use up to two free cores").


12 Aug 11:

- Version 3.0: Added parallelization, currently 'only' through
  the DoSample routine.  Uses fork/wait so integrands do not have
  to be reentrant.

  Specify number of cores in environment variable CUBACORES.
  C/C++/Fortran only, Mathematica users need to replace MapSample
  by ParallelMap or similar (as before).


18 Jun 11:

- Fixed problem with inner integration bounds depending on outer
  ones in the MathLink executables.


15 Feb 11:

- Moved partview to Qt 4.

- Rectified error reporting via longjmp, in particular avoiding
  sending $Failed twice in MathLink which would upset the
  following communications.


13 Sep 10:

- Added iteration number to integrand's optional parameters
  (Vegas and Suave).

- Fixed initialization problem when using state file in Vegas.

- Added tests for MathLink to configure.


20 Jul 10:

- Fixed severe bug in divonne/Split.c (wrong sign in SignedDelta
  macro).


14 Jul 10:

- Disabled optimization for gcc 4.2.x and 4.4.3, which would lead 
  to an Internal Compiler Error when compiling Cuba, see
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40237
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42956


21 Jun 10:

- Fixed problem with bashy syntax in tools/mcc.


8 Jun 10:

- All Cuba functions now reentrant, except for gridptr_ and griddim_
  in Vegas, which are intentionally preserved across calls.


19 May 10:

- Version 2.0: Changed invocations.

- Added void *userdata to be passed to integrator.

- Promoted integrand to int function, has to return 0 if successful,
  otherwise integrator terminates immediately.

- Moved all global variables (common blocks) to argument list.


12 Feb 10:

- Added Ranlux pseudo-random number generator.
  Luxury level 0 (mis)used for Mersenne Twister branch
  (but observe that Luxury level 24 = Luxury level 0).

- Changed external variable mersenneseed to
  struct { unsigned int level, seed; } cubarandom;


22 Jul 09:

- Fixed potential segfault in Split.c of Divonne, thanks to
  Andreas v. Manteuffel.


29 May 09:

- Added flushing of grids in Vegas through a negative grid number.


25 May 09:

- Removed explicit pointer reference from reallocatable
  "region_" array.


8 May 09:

- Improved memory handling in Divonne.


8 Apr 09:

- Version 1.6: Improved memory handling in Cuhre.
  Thanks to Valery Yundin for pointing out the problem.


6 Mar 09:

- Fixed segfault in Divonne if all samples from a region returned NaN.

- Reinstated fcc to fix static linkage problem with mcc 7.


10 Feb 09:

- Removed dependence on fcc script.


19 Jan 09:

- Added missing #include <stdlib.h> to partview.cpp.


15 Jan 09:

- Fixed problem with MathLink compilation for Mathematica 7.


5 Dec 08

- Version 1.5: Added possibility to set Mersenne Twister
  random seed.

- Introduced function MapSample to map the integrand over
  the points, whose default value Map can be replaced e.g.
  by ParallelMap.


15 Feb 08

- Added further check to Suave for sharp-edged functions.


15 Jan 08

- Fixed bug in makefile.in w.r.t. DESTDIR.


2 Jan 08

- Fixed minor bug in invocation of IniRandom in Suave.


19 Dec 07

- Version 1.4: Added new flag (bit 4), to turn off smoothing of
  the importance function for sharp-edged functions.

- Improved configure for Cygwin.  Now compiles MathLink
  executables `out of the box'.


30 Nov 07

- Fixed detection of variable-size arrays in configure.ac.

- Minor fixes for autoconf 2.60.


30 Aug 07

- Added passing of weight information to the integrand routine
  in Vegas and Suave.  Mathematica versions use $Weight.


7 Mar 07

- Documented the ll versions in the manual.


1 Mar 06

- Version 1.3: added long long int versions, i.e. all
  number-of-points-like quantities are now long long int
  instead of int.  The corresponding names are prefixed with
  "ll", e.g. llVegas.


5 Jan 06

- Corrected a number of declarations so that changing the "number"
  typedef in stddecl.h to a longer integer should work now.
  Note that this bugfix has NO EFFECT if the "number" typedef
  was not changed by hand!


31 Aug 05

- A small patch considerably reduces the "mysterious" problem
  in Vegas and Suave that further iterations on a more or less
  optimal grid would often degrade the grid.


2 Jun 05

- Added some #ifdefs to make the compile completely silent.

- Changed HUGE_VAL to DBL_MAX to avoid problems with icc.


7 Mar 05

- Extended Divonne's Korobov tables.

- partview now sorts the list of rectangles so that the smallest
  ones come on top.


2 Mar 05

- Fixed "mysterious" problem where Divonne would report a
  larger-than-requested error even though enough samples were
  available.


17 Feb 05

- Rewrote partview.cpp with tabbed window.

- Moved sources to src/{vegas,suave,divonne,cuhre}.
  The original names would get into the way of the Mathematica
  executables on OSX's case-insensitive file system.


15 Feb 05

- configure now disables compilation of demo-fortran if no
  Fortran compiler is found.


9 Feb 05

- Added some explicit typecasts and other tidbits such that
  Cuba compiles successfully also with a C++ compiler now.


7 Feb 05

- Added erf implementation in case some "C99 compliant" compiler
  like M$ Visual C++ in fact has no erf.


4 Feb 05

- Added partview.m for Mathematica.


3 Feb 05

- Added proper autoconf configure.

- Added cuba.F, a Fortran chooser which makes the invocation
  of the Cuba routines still simpler from Fortran.

- Straightened out the contexts of the MathLink executables.


2 Feb 05

- Substituted preprocessor variable NBATCH by run-time configurable
  global variable vegasbatch_.

- Added checks on ncomp.


1 Feb 05

- Added a partition viewer which displays the tesselation of the
  integration region on screen.  Needs Qt.


27 Jan 05

- Added a preprocessor flag NO_LONG_DOUBLE to disable the use
  of long doubles on systems that don't have it.


25 Jan 05

- Rearranged Vegas to sample in batches of NBATCH points to
  reduce memory consumption.


21 Jan 05

- Fixed bug in Divonne: Final result was wrong if not enough
  samples left for Phase 3.


19 Jan 05

- Updated manual re pseudo-random sampling.


17 Jan 05

- Introduced "number" typedef, might be useful when using wide ints.
  Not well tested, though.

- Substituted [sd]rand48 by Mersenne Twister generator.


14 Jan 05

- Added pseudo-rng (bit 3 in flags).

- Collected common declarations in stddecl.h.

- Better checking of dimension (e.g. in Divonne, all cases).


12 Jan 05

- Updated manual re vegas{grid,state}.


23 Dec 04

- Fixed a memory leak in Cuhre.


18 Nov 04

- Added vegasstate load/restore of internal state.


16 Jul 04

- Added vegasgrid.

