* fixed trunc, now it's working at least for longint range

This commit is contained in:
florian 2003-04-26 17:20:16 +00:00
parent dc4694eb15
commit 96df8384cd

View File

@ -75,7 +75,7 @@
{$define FPC_SYSTEM_HAS_TRUNC} {$define FPC_SYSTEM_HAS_TRUNC}
{$warning FIX ME} {$warning FIX ME, trunc is working only for longint}
function trunc(d : extended) : int64;assembler;[internconst:in_const_trunc]; function trunc(d : extended) : int64;assembler;[internconst:in_const_trunc];
{ input: d in fr1 } { input: d in fr1 }
{ output: result in r3 } { output: result in r3 }
@ -89,9 +89,9 @@
asm asm
fctiwz f1,f1 fctiwz f1,f1
stfd f1,temp stfd f1,temp
lwz r3,temp xor r4,r4,r4
lwz r4,4+temp lwz r3,4+temp
end ['R3','F1']; end ['R3','R4','F1'];
{$define FPC_SYSTEM_HAS_ROUND} {$define FPC_SYSTEM_HAS_ROUND}
@ -296,7 +296,10 @@ end ['R0','R3','F0','F1','F2','F3'];
{ {
$Log$ $Log$
Revision 1.17 2003-04-23 21:28:21 peter Revision 1.18 2003-04-26 17:20:16 florian
* fixed trunc, now it's working at least for longint range
Revision 1.17 2003/04/23 21:28:21 peter
* fpc_round added, needed for int64 currency * fpc_round added, needed for int64 currency
Revision 1.16 2003/01/16 11:29:11 olle Revision 1.16 2003/01/16 11:29:11 olle