Pseudo-random numbers/PCG32: Difference between revisions

m
→‎{{header|Perl}}: added the "next_float" method
m (→‎{{header|Perl}}: made PCG32 a real class)
m (→‎{{header|Perl}}: added the "next_float" method)
Line 799:
$self->{state} = ($state * const + $self->{incr}) & mask64;
($shift >> $rotate) | $shift << (32 - $rotate) & mask32;
}
 
sub next_float {
my ($self) = @_;
$self->next_int / 2**32;
}
}
Line 809 ⟶ 814:
my %h;
$rng = PCG32->new(seed => 987654321, incr => 1);
$h{(int 5 * $rng->next_int) >> 32next_float}++ for 1 .. 100_000;
say "$_ $h{$_}" for sort keys %h;</lang>
{{out}}
2,747

edits