mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-05 20:50:34 +01:00
test for fpu overflow
This commit is contained in:
parent
19913b716c
commit
4a4d7cd40d
28
tests/test/tfpuover.pp
Normal file
28
tests/test/tfpuover.pp
Normal file
@ -0,0 +1,28 @@
|
||||
{$define FAIL}
|
||||
|
||||
var
|
||||
x1,y1,z : double;
|
||||
|
||||
function x : double;
|
||||
begin
|
||||
x :=((x1+y1)*(x1-y1))*((x1+y1)*(x1-y1));
|
||||
end;
|
||||
function y : double;
|
||||
begin
|
||||
y :=((x1*y1)/(x1+y1)){$ifdef FAIL}*((x1+y1)*(x1-y1)){$endif};
|
||||
end;
|
||||
|
||||
begin
|
||||
x1:=2;
|
||||
y1:=3;
|
||||
{ Explanation a addnote needs the same number of fpu regs
|
||||
that the max fpu need of left and right node, unless
|
||||
these two numbers are equal:
|
||||
this is the reason of the symetric form of this test code PM }
|
||||
z:=((((x+y)*(x-y))+((x+y)*(x-y)))+(((x+y)*(x-y))+((x+y)*(x-y)))+
|
||||
(((x+y)*(x-y))+((x+y)*(x-y)))+(((x+y)*(x-y))+((x+y)*(x-y))))+
|
||||
((((x+y)*(x-y))+((x+y)*(x-y)))+(((x+y)*(x-y))+((x+y)*(x-y)))+
|
||||
(((x+y)*(x-y))+((x+y)*(x-y)))+(((x+y)*(x-y))+((x+y)*(x-y))));
|
||||
Writeln('z = ',z);
|
||||
end.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user