- Jan 21, 2018
-
-
Raymond Toy authored
Don't need the progress meter; it just clutters up the logs with useless stuff [skip-ci]
-
Raymond Toy authored
Should be snapshot/bin/lisp
-
Raymond Toy authored
-
- Jan 13, 2018
-
- Dec 29, 2017
-
-
Raymond Toy authored
Make RANDOM compute the value the same way as the deftransform would do when the arg is a 32-bit integer. The deftransform is still currently disabled for random-xoroshiro, though.
-
Raymond Toy authored
Change random number generator from MT19937 to xoroshiro128+ Closes #48 See merge request cmucl/cmucl!29
-
Raymond Toy authored
-
Raymond Toy authored
Don't use the portable xoroshiro-gen on x86 and sparc!
-
Raymond Toy authored
-
Raymond Toy authored
-
- Dec 28, 2017
-
-
Raymond Toy authored
Add comment for %random-double-float to use xoroshiro-gen directly instead of random-chunk twice. A minor micro optimization.
-
Raymond Toy authored
The vop greatly speeds up the generator on sparc. The time to generate 10,000,000 single-floats (on a 1 GHz Ultrasparc 3i) is: mt19937: 1.32 sec xoroshiro: 1.03 sec So xoroshiro is 22% faster than mt19937.
-
Raymond Toy authored
-
Raymond Toy authored
Also compute the array offsets just once so we're consistent between loading and storing.
-
- Dec 27, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
Not yet working. Cross-compile works and generates appropriate code, but can't rebuild lisp using the cross-compiled lisp.
-
Raymond Toy authored
Set default value for state in VEC-INIT-XORO-STATE. If not given, initialize it to the correct array.
-
Raymond Toy authored
Break the constants in the jump function into 32-bit chunks so we operate on 32-bit integers instead of 64-bit integers. This is a minor optimization.
-
- Dec 21, 2017
-
-
Raymond Toy authored
* rand-xoroshiro.lisp: * Rename xoroshiro-jump to random-state-jump * Add documentation/comments. * tests/rng.lisp * Add tests for the RNG jump function.
-
- Dec 20, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
Not sure about inlining that; it makes random-chunk bigger and all callers of random-chunk bigger too. Nice speed win, however. A test of generating 50000000 single-float values shows xoroshiro128+ takes 0.58 sec vs 0.98 using MT19937 on my machine.
-
Raymond Toy authored
-
Raymond Toy authored
This changes the RNG to xoroshiro128+ for sparc.
-
Raymond Toy authored
These tests test the actual implementation details of the xoroshiro128+ generator, so conditionalize it for this generator.
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
Compile/load rand-xoroshiro if :random-xoroshiro is a feature.
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
Bootstrap files are from 21c directory instead of 21b.
-
Raymond Toy authored
-
- Dec 19, 2017
-
-
Raymond Toy authored
The xoroshiro128+ algorithm is defined using uint64_t types, but we hack it to store the state as double-float's. This is a bit confusing, so add a printer to print the state as an array of two uint64_t's. Adjust init-xoro-state to allow initializing the state using an array of 2 64-bit ints.
-
Raymond Toy authored
Custom printer to print the state as array of integers instead of doubles. Makes it easier to see and match what the C code does.
-
Raymond Toy authored
* Fix typos in names so we can call the functions. * Add jump function to allow generating new distinct sequences. * Add simple function to print the state using integers instead of doubles. (Untested.)
-
- Dec 17, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
- Dec 16, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
Don't need an array for the cached value; (unsigned-byte 32) is a specialized structure slot, so no consing. Some random cleanups and comments.
-