fpc/tests/test/testfpuc.pp
2016-08-14 14:09:24 +00:00

50 lines
964 B
ObjectPascal

{ %target=linux,freebsd,darwin,solaris,aix,android,haiku }
{$mode objfpc}
program testr;
uses sysutils;
function sprintf(buf,fmt : pchar) : longint; varargs;cdecl; external 'c';
{$ifdef haiku}
function cosh(f : double) : double; cdecl; external 'root';
function ccos(f : double) : double; cdecl; external 'root' name 'cos';
{$else}
function cosh(f : double) : double; cdecl; external 'm';
function ccos(f : double) : double; cdecl; external 'm' name 'cos';
{$endif}
Type
TTest = Class(TObject)
Constructor Create(Max : Integer);
end;
Constructor TTest.Create(Max : Integer);
Var
I,J : integer;
F : single;
buf : ansistring;
begin
For I:=1 to Max do
begin
F:=ccos(I/180*pi);
setlength(buf,100);
setlength(buf,sprintf(pchar(buf),'%d: f: %f and round f*10: ',i,f));
f:=f*10.0;
f:=cosh(f);
writeln(buf,round(F));
end;
end;
procedure DoTest;
begin
With TTest.Create(720) do
Free;
end;
begin
DoTest;
end.