26 lines
491 B
Text
26 lines
491 B
Text
{$ifdef fpc}{$mode objfpc}{$endif}
|
|
|
|
interface
|
|
|
|
function LCGRandom: extended; overload;inline;
|
|
function LCGRandom(const range:longint):longint;overload;inline;
|
|
|
|
implementation
|
|
|
|
function IM:cardinal;inline;
|
|
begin
|
|
RandSeed := RandSeed * 134775813 + 1;
|
|
Result := RandSeed;
|
|
end;
|
|
|
|
function LCGRandom: extended; overload;inline;
|
|
begin
|
|
Result := IM * 2.32830643653870e-10;
|
|
end;
|
|
|
|
function LCGRandom(const range:longint):longint;overload;inline;
|
|
begin
|
|
Result := IM * range shr 32;
|
|
end;
|
|
|
|
end.
|