+ helper routine for <int64> mod <in64> added

This commit is contained in:
florian 2000-02-09 22:19:24 +00:00
parent e22cb380d4
commit 17f8a06883

View File

@ -153,6 +153,39 @@
end;
end;
function modint64(n,z : int64) : int64;[public,alias: 'FPC_MOD_INT64'];
var
signed : boolean;
r,nq,zq : qword;
begin
if n=0 then
HandleErrorFrame(200,get_frame);
if n<0 then
begin
nq:=-n;
signed:=true;
end
else
begin
signed:=false;
nq:=n;
end;
if z<0 then
begin
zq:=qword(-z);
signed:=not(signed);
end
else
zq:=z;
r:=zq mod nq;
if signed then
modint64:=-int64(r)
else
modint64:=r;
end;
{ multiplies two qwords
the longbool for checkoverflow avoids a misaligned stack
}
@ -433,7 +466,10 @@
{
$Log$
Revision 1.18 2000-02-09 16:59:30 peter
Revision 1.19 2000-02-09 22:19:24 florian
+ helper routine for <int64> mod <in64> added
Revision 1.18 2000/02/09 16:59:30 peter
* truncated log
Revision 1.17 2000/01/27 15:43:02 florian
@ -447,5 +483,4 @@
Revision 1.14 2000/01/07 16:41:34 daniel
* copyright 2000
}