tests/perl/common/src/random.perl

#!/usr/local/bin/perl 
# $Id: random.perl,v 1.2 2003/12/30 01:21:23 davidw Exp $
# http://www.bagley.org/~doug/shootout/

# END COMMENT
use strict;

use constant IM => 139968;
use constant IA => 3877;
use constant IC => 29573;

my $LAST = 42;
sub gen_random { ($_[0] * ($LAST = ($LAST * IA + IC) % IM)) / IM }

my $N = ($ARGV[0] || 1) - 1;
gen_random(100.0) while ($N--);
printf "%.9f\n", gen_random(100.0);

Generated by GNU enscript 1.6.3.