=== randtoolbox: an R package for random number generation and testing ===

Version 2.0.4
=============
- remove gcc check in configure.ac file generating config files
(follow guideline of r-exts).
- remove useless autoconf macro and simplifies configure.ac. 

WARNING FIX
- remove sscanf in favor of strtoul or strtoull or _strtoui64
for set.generator().
- remove sprintf in favor of a dedicated ulltostr
for get.description().

Version 2.0.3
=============
- re-enable the use of set.generator(name="congruRand",...).
- remove almost all URL and/or replace by DOI or text.

WARNING FIX
- remove the following warning in some C functions: a function declaration 
without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

BUG FIX
- correct the dimnames of sobol() outputs, reported by Arnald Puy.

Version 2.0.2
=============

NOTE FIX 
- remove an escaped LaTeX special in pseudoRNG.Rd.
- remove math rendering problems for Stirling numbers in 
colltest.Rd and colltestsparse.Rd.

Version 2.0.1
=============

BUG FIX
- two errors appearing in USBAN memory tests. Previous output
when re-building fullpres.Rnw was
LowDiscrepancy-sobol-orig1111.c:1418:32: runtime error: 
left shift of 1 by 31 places cannot be represented in type 'int'
LowDiscrepancy-sobol-orig1111.c:1440:57: runtime error: 
left shift of 1 by 31 places cannot be represented in type 'int'


Version 2.0.0
=============
- remove Fortran code for Halton and Sobol sequences 
(the latter was under the ACM licence).
- scrambling for Sobol sequences is temporarily disabled:
the Fortran version of Sobol sequences can be found on R-forge
in randsobolfortran package.

Version 1.31.2
=============
- last version with both Fortran and C code (never released on CRAN).

Version 1.31.1
=============
BUG FIX
- clean up test files because tests/test-sobol-scram.R failed 
on i386-pc-solaris2.10 (32-bit). Output was
 > umat <- sobol(n=1e5, dim=1111)
  Error: cannot allocate vector of size 423.8 Mb

Version 1.31.0
=============

NEW FEATURES
- add new test files.
- increase argument checks in QRNG.
- allows to start QRNG from 0, see https://arxiv.org/abs/2008.08051 by Art Owen,
a warning is not raised when start != 0.
- update vignettes.

WARNING FIXES
- fix warnings of autoconf for configure files showed by 
> autoreconf --warnings=obsolete (previous output was)
configure.ac:310: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:310: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:310: warning: The macro `AC_FD_MSG' is obsolete.
configure.ac:321: warning: The macro `AC_CONFIG_HEADER' is obsolete.
- fix invalid URLs (from http to https)

BUG FIX
- correctly generate a seed for Sobol mixed sequences.

Version 1.30.1
=============
- update the man page for quasi random sequences.
- allow the use of randomized seed for Sobol sequences (either from
scrambling argument or mixed argument).

BUGS FIX
- bug fixes on array limit issues in Fortran code (in INITSOBOL).
- warning fix on unused variable in Fortran code (in SGENSCRMU).
- bug fixes on multiple defintion issues (for WELL_get_set_entry_point, 
WELLrng, setSeed4WELL) in C header files, thanks to Brian Ripley.
- scrambling = 1, 3 for Sobol sequences may generate 0.0, so randomizing
the seed is performed in that case.

Version 1.30.0 
=============
- disable the use of set.generator(name="congruRand",...).
- clean up C code.

Version 1.20 (never released on CRAN)
=============
- translate Fortran code of Diethelm Wuertz for Halton sequence into C.
- by default halton() use the C code slightly faster than the Fortran code.
- start to translate Fortran code of Diethelm Wuertz for Sobol sequence into C.
- add defensive programming for QMC.

BUGS FIX
- scrambling = 1, 3 for Sobol sequences (provided by Makoto Matsumoto and Mutsuo Saito). 
- mixed = TRUE for QMC sequences. 
- correct use of 64-bit integer type
- correct failures in if statements (length > 1 in coercion to logical) 
in quasiRNG.R and pseudoRNG.R

NOTE FIX
- usage of R_useDynamicSymbols to preclude compilation
NOTEs, better registration of native routines and reduced
symbol visibility.

Versions 1.17 and 1.17.1
=============
- change DESCRIPTION file.
- update NAMESPACE for R 3.3.0.
- update the LICENSE file.
- raise a warning when scrambling for Sobol sequences is incorrect.

BUG REPORT 
(by Dan Souther, Kemal Dincer Dingec, Marius Hofert, Nicolas Chopin, Andrei Kostyrka)
- scrambling = 1, 3 for Sobol sequences.
(by Hiroyuki Kawakatsu)
- mixed = TRUE for QMC sequences. 

Version 1.16
=============
- change title and other minor things in vignettes.

Version 1.15
=============

- remove the use of 'long long' in some C code.
- update LICENCE file.
- move autoconf files to tools directory.
- no longer use a4 paper format in vignette.

Version 1.14
=============

- change licence from BSD_2_clause to BSD_3_clause.
- minor change.

Version 1.13
=============

- this version is one of the last versions working with
package rngWELL >= 0.11-0.
- change licence from BSD to BSD_2_clause.

NOTE FIX
- remove NOTES appearing in R CMD check.

Version 1.12
=============

NEW FEATURES
- add new test files.
- increase the possible dimension of Halton sequences.

WARNING FIX in Fortran files
- remove an array over-run (reported by Brian Ripley) and tab 
characters in LowDiscrepancy.f.

Version 1.11
=============

- this version is one of the last versions working with
package rngWELL == 0.10-x.

NOTES FIXES
- this version use packageStartupMessage function for the .onAttach
rather than the cat function. 
- remove a printf in KnuthTAOCP2002.c

WARNING FIXES in C files
- remove warnings with Wall and pedantic gcc options. For this
purpose, files randtoolbox/src/Makevars and rngWELL/src/Makevars
now contain a line, uncommenting which includes Wall and pedantic.

See https://stat.ethz.ch/pipermail/r-sig-mac/2008-August/005251.html


BUG FIX
- the package crashes when the dimension was 0 in RNG functions, 
reported by David LeBauer.

Version 1.10
=============

NEW FEATURES
- update the man page pseudoRNG.Rd and quasiRNG.Rd with MT19937
and other minor improvements.
- on loading, the package print the overview man page.

WARNING FIXES
- fix some warnings following the release of R 2.13.0: 
the Makefile and the man page of runifInterface.
- fix a warning in the MT19937 file.

BUG FIX
- remove implicit type declaration in the LowDiscrepancy fortran file,
which causes errors with GCC 4.6 compilers.

Version 1.09
=============

NEW FEATURES
- start runif interface for congruential generator and WELL RNG,
- vignette contains two chapters,
- start to test true randomness (not included in this version),
- increase the speed and accuracy of Halton and Sobol sequences.

STRUCTURAL CHANGE
- Before version 1.09, there was a lot of different (and incompatible) 
licences in this package, namely, GPL, BSD, public domain, etc... 
(cf. 1.08-version DESCRIPTION file of this package). 
- From 1.09, all this code of this package is under the new BSD licence. 
A copy of the BSD licence is available at 
https://opensource.org/licenses/bsd-license.php
- extract Pierre L'Ecuyer's code from randtoolbox and 
put it in a dedicated package rngWELL,
- depends now on rngWELL.

AUTHORS
- all the code of this package except the ones listed below was written by Yohan Chalabi,
Christophe Dutang, Petr Savicky and Diethelm Wuertz.
- the code for SF-Mersenne Twister belongs to M. Matsumoto and M. Saito, 
which is under the new BSD licence. 
- the code for Knuth-TAOCP-2002 generator belongs to D. E. Knuth. 
This code is in the public domain and freely copyable.

BUG FIX
- normal transformation of Halton and Sobol sequences is correct.

BUG REPORT
- Halton and Sobol sequences did not work on 64bit architecture when
using normal transformation reported by Anirban Mukherjee,
- Sobol sequences for dimension > 2 need to be tested.

Version 1.08 (never released on CRAN)
=============

NEW FEATURES
- add function get.primes,
- table of primes moved from randtoolbox.c to primes.h and compressed
  by storing half difference from the previous prime instead of each
  prime (except for 2 and 3),
- start runifinterface.

Version 1.07
=============

NEW FEATURES
- integrate code for Halton, Sobol sequence from fBasics (Rmetrics),
- randoolbox is now part of Rmetrics project (available on R-forge),
- increase the speed of congruRand.

BUG FIXES
- fix setSeed function,
- a warning shows up on 64 bit architecture.

BUG REPORT
- setting the seed with WELL's RNGs was not correct, 
reported by Petr Savicky.

Version 1.06
=============

BUG FIX
- the degree of freedom is now correct for the order test.

BUG REPORT
- Astley Lin reports that the degree-of-freedom(df) of 
chi-square test is wrong for the order test.

Version 1.05
=============

NEW FEATURES
- add new WELL generators based on L'Ecuyer's code,
- add the Sobol and Halton sequences from fOptions package.

BUG FIX
- it compiles on 64bit linux both on CRAN and R-forge.

Version 1.04
=============

BUG REPORT
- the package does not compil on Fedora 8 x86_64 boxes,
reported by Brian Ripley.

Version 1.03
=============

NEW FEATURES
- add the WELL generator thanks to the code of P. L'Ecuyer,
- SFMT now allows for different mersenne exponents as well as parameter sets,
- increase the possible dimension for Torus algorithm from 1000 to 100 000,
- add the RAN_ARRAY generator of Knuth TAOCP (2002),
- the function setRandSeed has be renamed by setSeed,
- update the vignette.

Version 1.02
=============

NEW FEATURES
- more random generation tests such as collision test and order test,
- poker test is generalized to any dimension,
- some auxiliary functions,
- a detailed vignette on generating and testing random generation.

BUG FIXES
- on windows, when the seed was not fixed by the user, we use the machine
time. But we use only seconds of machine time not micro second like on 
unix-like system. Hence a call like this
> for(i in 1:10) print(congruRand(1))
produces the same output. Now it is fixed.

Version 1.01 (never released on CRAN)
=============

NEW FEATURES
- add withtorus option for SFMT function,
- improve output of tests.

Version 1.00
=============

- Initial release based on the torus package (which is no longer available).

