in reply to generate random number without using any built in function in perl?
#! perl -slw use strict; use Data::Dump qw[ pp ]; use threads; use threads::shared; my $rand :shared = chr(0)x4; async( sub { use bytes; my $tid = shift; --vec( $rand,$tid,8) while 1; }, $_ )->detach for 0 .. 3; our $M //= 24; our $N //= 1e4; my %stats; ++$stats{ unpack( 'V', $rand ) % $M } for 1 .. $N; pp \%stats; __END__ C:\test>rand { "0" => 499, 1 => 380, 2 => 296, 3 => 450, 4 => 373, 5 => 395, 6 => 465, 7 => 445, 8 => 423, 9 => 465, 10 => 446, 11 => 515, 12 => 433, 13 => 424, 14 => 441, 15 => 423, 16 => 364, 17 => 308, 18 => 403, 19 => 373, 20 => 516, 21 => 368, 22 => 352, 23 => 443, }
|
|---|