mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 18:09:27 +02:00
* another improvement of pi handling
This commit is contained in:
parent
cc9534cf41
commit
020bbc8913
@ -1063,6 +1063,21 @@ implementation
|
||||
{$maxfpuregisters 0}
|
||||
{$endif fpc}
|
||||
|
||||
function getpi : bestreal;
|
||||
begin
|
||||
{$ifdef x86}
|
||||
{ x86 has pi in hardware }
|
||||
result:=pi;
|
||||
{$else x86}
|
||||
{$ifdef cpuextended}
|
||||
result:=extended(MathPiExtended);
|
||||
{$else cpuextended}
|
||||
result:=double(MathPi);
|
||||
{$endif cpuextended}
|
||||
{$endif x86}
|
||||
end;
|
||||
|
||||
|
||||
function tinlinenode.det_resulttype:tnode;
|
||||
|
||||
function do_lowhigh(const t:ttype) : tnode;
|
||||
@ -1844,7 +1859,7 @@ implementation
|
||||
in_pi_real :
|
||||
begin
|
||||
if block_type=bt_const then
|
||||
setconstrealvalue(pi)
|
||||
setconstrealvalue(getpi)
|
||||
else
|
||||
resulttype:=pbestrealtype^;
|
||||
end;
|
||||
@ -2342,18 +2357,9 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
function tinlinenode.first_pi : tnode;
|
||||
function tinlinenode.first_pi : tnode;
|
||||
begin
|
||||
{$ifdef x86}
|
||||
{ x86 has pi in hardware }
|
||||
result:=crealconstnode.create(pi,pbestrealtype^);
|
||||
{$else x86}
|
||||
{$ifdef cpuextended}
|
||||
result:=crealconstnode.create(extended(MathPiExtended),pbestrealtype^);
|
||||
{$else cpuextended}
|
||||
result:=crealconstnode.create(double(MathPi),pbestrealtype^);
|
||||
{$endif cpuextended}
|
||||
{$endif x86}
|
||||
result:=crealconstnode.create(getpi,pbestrealtype^);
|
||||
end;
|
||||
|
||||
|
||||
@ -2465,7 +2471,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.157 2005-01-23 21:09:12 florian
|
||||
Revision 1.158 2005-01-23 21:47:14 florian
|
||||
* another improvement of pi handling
|
||||
|
||||
Revision 1.157 2005/01/23 21:09:12 florian
|
||||
+ added pi bit pattern to the compiler, so pi should always be correct
|
||||
|
||||
Revision 1.156 2004/12/05 12:28:11 peter
|
||||
|
Loading…
Reference in New Issue
Block a user