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 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.