Skip to content

0.5.0 "The Only Card I Need"

Latest
Compare
Choose a tag to compare
@tommyettinger tommyettinger released this 09 Dec 08:20
· 94 commits to main since this release

This release fixes some omissions in Deserializer, but most importantly changes the "default" generator used by distributions to AceRandom instead of WhiskerRandom. AceRandom doesn't have the correlation issues that WhiskerRandom does after just a few generations (32 should be more than enough for Ace, but Whisker never decorrelates), it has a longer expected period and actually has a guaranteed minimum period (2 to the 64). It's also about the same speed as WhiskerRandom, though likely a tiny bit slower if only generating longs with nextLong().

The previous release didn't get a GitHub release, so I'll include some notes for it too. FlowRandom is new; it isn't especially fast, but it does what LaserRandom and MizuchiRandom really struggle with: It has two long states, a period of 2 to the 64, and 2 to the 64 streams, with the ones tested all apparently decorrelated enough to pass a tough test. LaserRandom has half as many streams and they are all highly correlated; MizuchiRandom isn't terribly fast and also has half as many valid streams, though they aren't correlated if you skip invalid streams. LineWobble had some GWT compatibility issues, which are fixed now. It also has new wobbling functions added, such as trobble(), a trigonometric wobble that takes advantage of the tables in digital's TrigTools.

OK, I hope this works for everyone!