mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 11:59:27 +02:00
* fixed test (typecast floating point constants to float)
git-svn-id: trunk@5892 -
This commit is contained in:
parent
93c86bbaf2
commit
8e5a5d3f2b
@ -33,7 +33,7 @@ begin
|
|||||||
for i:=1 to dim do
|
for i:=1 to dim do
|
||||||
begin
|
begin
|
||||||
// Generate constant array above output
|
// Generate constant array above output
|
||||||
write(sin(i*10/180.0*pi),',');
|
write(sin(i*10/float(180.0)*pi),',');
|
||||||
if i mod 4 = 0 then writeln;
|
if i mod 4 = 0 then writeln;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ writeln('Testing SIN');
|
|||||||
for i:=1 to dim do
|
for i:=1 to dim do
|
||||||
begin
|
begin
|
||||||
Ref:=sinus[i];
|
Ref:=sinus[i];
|
||||||
Value:=sin(i*10/180.0*pi);
|
Value:=sin(i*10/float(180.0)*pi);
|
||||||
Delta := Value - Ref;
|
Delta := Value - Ref;
|
||||||
if Abs(Delta) > 1E-15 then
|
if Abs(Delta) > 1E-15 then
|
||||||
begin
|
begin
|
||||||
@ -55,8 +55,8 @@ for i:=1 to dim do
|
|||||||
writeln('Testing COS');
|
writeln('Testing COS');
|
||||||
for i:=1 to dim do
|
for i:=1 to dim do
|
||||||
begin
|
begin
|
||||||
Ref := sin(pi/2-i*10/180*pi);
|
Ref := sin(pi/2-i*10/float(180)*pi);
|
||||||
Value := cos(i*10/180*pi);
|
Value := cos(i*10/float(180)*pi);
|
||||||
Delta := Value - Ref;
|
Delta := Value - Ref;
|
||||||
if Abs(Delta) > 1E-15 then
|
if Abs(Delta) > 1E-15 then
|
||||||
begin
|
begin
|
||||||
@ -71,8 +71,8 @@ for i:=1 to dim do
|
|||||||
begin
|
begin
|
||||||
{ if i=9 then Ref := MaxFloat
|
{ if i=9 then Ref := MaxFloat
|
||||||
else if i=27 then Ref := -Maxfloat
|
else if i=27 then Ref := -Maxfloat
|
||||||
else } Ref:=sin(i*10/180*pi)/cos(i*10/180*pi);
|
else } Ref:=sin(i*10/float(180)*pi)/cos(i*10/float(180)*pi);
|
||||||
Value := tan(i*10/180*pi);
|
Value := tan(i*10/float(180)*pi);
|
||||||
Delta := Value - Ref;
|
Delta := Value - Ref;
|
||||||
if Abs(Delta) > 1E-15 then
|
if Abs(Delta) > 1E-15 then
|
||||||
begin
|
begin
|
||||||
@ -86,7 +86,7 @@ writeln('Testing ARCTAN...');
|
|||||||
for i:=1 to 8 do
|
for i:=1 to 8 do
|
||||||
begin
|
begin
|
||||||
Ref := i*10;
|
Ref := i*10;
|
||||||
Value := arctan(tan(i*10/180*pi))/pi*180;
|
Value := arctan(tan(i*10/float(180)*pi))/pi*float(180);
|
||||||
Delta := Value - Ref;
|
Delta := Value - Ref;
|
||||||
if Abs(Delta) > 1E-14 then
|
if Abs(Delta) > 1E-14 then
|
||||||
begin
|
begin
|
||||||
@ -99,7 +99,7 @@ for i:=1 to 8 do
|
|||||||
for i:=-1 downto -8 do
|
for i:=-1 downto -8 do
|
||||||
begin
|
begin
|
||||||
Ref := i*10;
|
Ref := i*10;
|
||||||
Value := arctan(tan(i*10/180*pi))/pi*180;
|
Value := arctan(tan(i*10/float(180)*pi))/pi*float(180);
|
||||||
Delta := Value - Ref;
|
Delta := Value - Ref;
|
||||||
if Abs(Delta) > 1E-14 then
|
if Abs(Delta) > 1E-14 then
|
||||||
begin
|
begin
|
||||||
@ -111,8 +111,8 @@ for i:=-1 downto -8 do
|
|||||||
writeln('Testing SINCOS');
|
writeln('Testing SINCOS');
|
||||||
for i:=1 to dim do
|
for i:=1 to dim do
|
||||||
begin
|
begin
|
||||||
sincos(pi/2-i*10/180*pi,Ref2,Dummy);
|
sincos(pi/2-i*10/float(180)*pi,Ref2,Dummy);
|
||||||
sincos(i*10/180*pi,Dummy,Value2);
|
sincos(i*10/float(180)*pi,Dummy,Value2);
|
||||||
Delta := Value2 - Ref2;
|
Delta := Value2 - Ref2;
|
||||||
if Abs(Delta) > 1E-15 then
|
if Abs(Delta) > 1E-15 then
|
||||||
begin
|
begin
|
||||||
@ -123,24 +123,24 @@ for i:=1 to dim do
|
|||||||
|
|
||||||
|
|
||||||
writeln('Tan +/- 90 deg test:');
|
writeln('Tan +/- 90 deg test:');
|
||||||
writeln('tan(89.999):',tan(89.999/180*pi));
|
writeln('tan(89.999):',tan(89.999/float(180)*pi));
|
||||||
writeln('tan(90.000):',tan(90.000/180*pi));
|
writeln('tan(90.000):',tan(90.000/float(180)*pi));
|
||||||
|
|
||||||
writeln('tan(-89.999):',tan(-89.999/180*pi));
|
writeln('tan(-89.999):',tan(-89.999/float(180)*pi));
|
||||||
writeln('tan(-90.000):',tan(-90.000/180*pi));
|
writeln('tan(-90.000):',tan(-90.000/float(180)*pi));
|
||||||
|
|
||||||
writeln('ArcTan2 kwadrants:');
|
writeln('ArcTan2 kwadrants:');
|
||||||
writeln('Kwadrant 1 ( 1, 1):',arctan2( 1, 1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 1 ( 1, 1):',arctan2( 1, 1)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 2 (-1, 1):',arctan2( 1,-1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 2 (-1, 1):',arctan2( 1,-1)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 3 (-1,-1):',arctan2(-1,-1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 3 (-1,-1):',arctan2(-1,-1)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 4 ( 1,-1):',arctan2(-1, 1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 4 ( 1,-1):',arctan2(-1, 1)/pi*float(180):5:1,' deg');
|
||||||
|
|
||||||
writeln('ArcTan2 special cases:');
|
writeln('ArcTan2 special cases:');
|
||||||
writeln('Kwadrant X ( 0, 0):',arctan2( 0, 0)/pi*180:5:1,' deg');
|
writeln('Kwadrant X ( 0, 0):',arctan2( 0, 0)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 1 ( 1, 0):',arctan2( 0, 1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 1 ( 1, 0):',arctan2( 0, 1)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 2 ( 0, 1):',arctan2( 1, 0)/pi*180:5:1,' deg');
|
writeln('Kwadrant 2 ( 0, 1):',arctan2( 1, 0)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 3 (-1, 0):',arctan2( 0,-1)/pi*180:5:1,' deg');
|
writeln('Kwadrant 3 (-1, 0):',arctan2( 0,-1)/pi*float(180):5:1,' deg');
|
||||||
writeln('Kwadrant 4 ( 0,-1):',arctan2(-1, 0)/pi*180:5:1,' deg');
|
writeln('Kwadrant 4 ( 0,-1):',arctan2(-1, 0)/pi*float(180):5:1,' deg');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user