Pseudo-random numbers/Xorshift star: Difference between revisions
Content added Content deleted
(Added Go) |
Thundergnat (talk | contribs) m (→{{header|Raku}}: More sensible default and constraints on seed) |
||
Line 203: | Line 203: | ||
<lang perl6>class Xorshift-star { |
<lang perl6>class Xorshift-star { |
||
has $!seed |
has $!seed; |
||
has $!state; |
has $!state; |
||
constant mask64 = 2⁶⁴ - 1; |
constant mask64 = 2⁶⁴ - 1; |
||
constant const = 0x2545F4914F6CDD1D; |
constant const = 0x2545F4914F6CDD1D; |
||
submethod BUILD( :$seed ) { $!seed = $seed } |
submethod BUILD ( Int :$seed where * > 0 = 1 ) { $!seed = $seed } |
||
method TWEAK { $!state = $!seed +& mask64 } |
method TWEAK { $!state = $!seed +& mask64 } |