Does anyone know where I can find the source code of such a generator?
Thanks.
This is a discussion on Looking for source code of Lagged Fibonacci generator within the C Programming forums, part of the General Programming Boards category; Does anyone know where I can find the source code of such a generator? Thanks....
Does anyone know where I can find the source code of such a generator?
Thanks.
Tried Google yet?
Yea I did tried google. They mostly have theory on LFGs. If you were able to find some code, then do share.
I don't have any, but I'll poke around.
Lagged Fibonacci generator - Wikipedia, the free encyclopedia
First hit, scroll down to "usage".
Some open source implementations - go digging!
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
I support http://www.ukip.org/ as the first necessary step to a free Europe.
This was the best I found, outside Wikipedia:
From: What is wrong with perl's antique random number generator
Lagged Fibonacci Generator Generator
54.6312745966894Code:sub lfib{ my ($m, $r, $k, $op, $seed) = @_; my (@x, $i); srand($seed ||time); #initialise state with rand for (0 .. $r){ push @x, int(rand($m)); } my $fn = "sub { \$i = (\$i + 1) % $r; \$x[\$i] = (\$x[\$i] $op \$x[(\$i-$k) % $r]) % $m; (shift || 1.0) * \$x[\$i] / $m; }\n"; return eval($fn); } $rand = lfib(2**48, 607, 273, '+'); #additive LFib, period 2 ** 638 $rand2 = lfib(2**64, 1279, 861, '*');#multiplicative LFib, period 2 ** 1340 print &$rand(100) . "\n" . &$rand2() ."\n";
0.0627432743424777
Maybe this should use bignum, but it seems to work without.