| Changes in version 1.2.3 |
| ------------------------ |
| |
| * Fixed bug in convertBytesToLong method in the BinaryUtils class. |
| |
| * Added OSGi bundle metadata (contributed by Dave LeBlanc). |
| |
| * Updated documentation to explain why setSeed does nothing for any of the |
| RNGs. |
| |
| |
| Changes in version 1.2.2 |
| ------------------------ |
| |
| * Fixed serialisation of MersenneTwisterRNG and CellularAutomatonRNG. |
| |
| * Made XORShiftRNG and CMWC4096RNG thread-safe. |
| |
| * Added source JAR to distribution. |
| |
| |
| Changes in version 1.2.1 |
| ------------------------ |
| |
| * Converted internal state of XORShiftRNG from an array to five separate |
| fields. This results in improved performance. Optimisation suggested by Jos |
| Hirth. |
| |
| * Optimised the Probability class so that it doesn't make an RNG call when the |
| probability is 1. |
| |
| * Added swapSubstring method to enable efficient exchange of data between two |
| BitStrings. |
| |
| |
| Changes in verison 1.2 |
| ---------------------- |
| |
| * Added two new fast PRNGs (CMWC and XOR). CMWC provides a very long period |
| and the XOR RNG is twice as fast as the Mersenne Twister. See |
| http://school.anhb.uwa.edu.au/personalpages/kwessen/shared/Marsaglia03.html |
| for descriptions. |
| |
| * Fixed RandomDotOrgSeedGenerator so that it can generate seeds > 1kb in size. |
| |
| * Changed RandomDotOrgSeedGenerator so that it uses HTTPS for communicating |
| with the website (ISSUE#9). |
| |
| * Introduced the Probability class, a new numeric type. This immutatble value |
| type encapsulates a probability value between zero and one. The class |
| enforces the 0..1 bounds and provides convenient methods for working with |
| probabilities. |
| |
| * Added Rational type to enable arithmetic on rational numbers without loss of |
| precision. |
| |
| * Added restrictRange methods to Maths class. These adjust a given value so |
| that it falls between specified minimum and maximum values. |
| |
| * Made caching of BigInteger factorials thread-safe. |
| |
| |
| Changes in version 1.1 |
| ---------------------- |
| |
| * PermutationGenerator and CombinationGenerator now implement |
| java.lang.Iterable (ISSUE#1). |
| |
| * Moved PermutationGenerator and CombinationGenerator into new combinatorics |
| package. |
| |
| * Moved NumberGenerator and its implementations into new number package. |
| |
| * Added demo program for different probability distributions (ISSUE#2). |
| |
| * Added method to the DataSet class for calculating the harmonic mean. |
| |
| * RNGs no longer log any information to stdout (ISSUE#7) by default. |
| The DefaultSeedGenerator class will log the seeds that it generates |
| only if the org.uncommons.maths.random.debug System property is set to true. |
| |
| * Relaxed restriction on the maximum size of the element set used by |
| CombinationGenerator. The maximum was 20 but bigger sets are now permitted |
| as long as the total number of combinations is no more than 2^63 (ISSUE#8). |
| |
| * Added a cache for BigInteger factorial values. This avoids expensive |
| recalculation in code that repeatedly computes factorials. |
| |
| |
| Changes in version 1.0.2 |
| ------------------------ |
| |
| * Added generator for exponential distribution. |
| |
| * Fixed possibility of out-of-range values in continuous uniform generator. |
| |
| * Modified AESCounterRNG to allow seed size (AES key size) to be specified. |
| Defaults to 128-bits. 192-bits and 256-bits are supported but they require |
| the unlimited strength cryptography policy files (available from Sun) to be |
| installed on the local machine. |
| |
| |
| Changes in version 1.0.1 |
| ------------------------ |
| |
| * Added minimum, maximum and median methods to DataSet class. |
| |
| * Fixed logic around zero-length combinations and permutations. |
| |
| * Improved unit test coverage. |