git-svn-id: https://spexeah.com:8443/svn/Asuro@918 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
36
src/include/rand.pas
Normal file
36
src/include/rand.pas
Normal file
@ -0,0 +1,36 @@
|
||||
unit rand;
|
||||
|
||||
interface
|
||||
|
||||
function rand32 : uint32;
|
||||
function rand16 : uint16;
|
||||
function rand8 : uint8;
|
||||
procedure srand(seed : uint32);
|
||||
|
||||
implementation
|
||||
|
||||
var
|
||||
next : uint32 = 1;
|
||||
|
||||
function rand32 : uint32;
|
||||
begin
|
||||
next:= next * 1103515245 + 12345;
|
||||
rand32:= (next div 65536) mod 32768;
|
||||
end;
|
||||
|
||||
function rand16 : uint16;
|
||||
begin
|
||||
rand16:= rand32 AND $FFFF;
|
||||
end;
|
||||
|
||||
function rand8 : uint8;
|
||||
begin
|
||||
rand8:= rand32 AND $FF;
|
||||
end;
|
||||
|
||||
procedure srand(seed : uint32);
|
||||
begin
|
||||
next:= seed;
|
||||
end;
|
||||
|
||||
end.
|
Reference in New Issue
Block a user