mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 10:28:16 +02:00
50 lines
964 B
ObjectPascal
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.
|