provided code
This commit is contained in:
19
src/tests/lib.pm
Normal file
19
src/tests/lib.pm
Normal file
@@ -0,0 +1,19 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use tests::random;
|
||||
|
||||
sub shuffle {
|
||||
my ($in, $cnt, $sz) = @_;
|
||||
$cnt * $sz == length $in or die;
|
||||
my (@a) = 0...$cnt - 1;
|
||||
for my $i (0...$cnt - 1) {
|
||||
my ($j) = $i + random_ulong () % ($cnt - $i);
|
||||
@a[$i, $j] = @a[$j, $i];
|
||||
}
|
||||
my ($out) = "";
|
||||
$out .= substr ($in, $_ * $sz, $sz) foreach @a;
|
||||
return $out;
|
||||
}
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user