- Dec 28, 2017
-
-
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
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.
-
- Dec 15, 2017
-
-
Raymond Toy authored
Make xoroshiro rng available in the core. Basic things work on x86 but not yet integrated in anyway.
-
Raymond Toy authored
Make some things work on x86: * Can create a random state and initialize it to the desired state * xoroshiro-chunk produces the correct values for the first few calls
-
Raymond Toy authored
Not yet tested or integrated.
-
Raymond Toy authored
Not yet integrated but the basic vop and other methods do work and produce the same output as the reference C code (not included).
-
- Dec 02, 2017
-
-
Raymond Toy authored
-
- Nov 16, 2017
-
-
Raymond Toy authored
[skip-ci]
-
Raymond Toy authored
-
- Nov 05, 2017
-
-
Raymond Toy authored
Compiler warns that indentation makes the scope of the for loop unclear. Indent the code to make it clear.
-
Raymond Toy authored
The char buffer size is potentially too small and it's possible to write past the end of the buffer with a large integer. Fixes a compiler warning.
-
Raymond Toy authored
Update CI to support linux and osx runners See merge request cmucl/cmucl!28
-
- Nov 04, 2017
-
-
Raymond Toy authored
# Conflicts: # .gitlab-ci.yml
-
Raymond Toy authored
-