mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 17:01:01 +08:00
[multiple changes]
2009-11-30 Arnaud Charlet <charlet@adacore.com> * s-tassta.adb: Update comment. 2009-11-30 Robert Dewar <dewar@adacore.com> * a-ngelfu.adb: Minor code reorganization. From-SVN: r154780
This commit is contained in:
parent
196b199369
commit
94855a14a1
@ -1,3 +1,11 @@
|
||||
2009-11-30 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* s-tassta.adb: Update comment.
|
||||
|
||||
2009-11-30 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* a-ngelfu.adb: Minor code reorganization.
|
||||
|
||||
2009-11-30 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* osint.ads, prj.adb, prj.ads: Minor reformatting
|
||||
|
@ -68,9 +68,8 @@ package body Ada.Numerics.Generic_Elementary_Functions is
|
||||
-- FP type.
|
||||
|
||||
function Local_Atan
|
||||
(Y : Float_Type'Base;
|
||||
X : Float_Type'Base := 1.0)
|
||||
return Float_Type'Base;
|
||||
(Y : Float_Type'Base;
|
||||
X : Float_Type'Base := 1.0) return Float_Type'Base;
|
||||
-- Common code for arc tangent after cycle reduction
|
||||
|
||||
----------
|
||||
@ -721,20 +720,35 @@ package body Ada.Numerics.Generic_Elementary_Functions is
|
||||
----------------
|
||||
|
||||
function Local_Atan
|
||||
(Y : Float_Type'Base;
|
||||
X : Float_Type'Base := 1.0)
|
||||
return Float_Type'Base
|
||||
(Y : Float_Type'Base;
|
||||
X : Float_Type'Base := 1.0) return Float_Type'Base
|
||||
is
|
||||
Z : Float_Type'Base;
|
||||
Raw_Atan : Float_Type'Base;
|
||||
|
||||
begin
|
||||
Z := (if abs Y > abs X then abs (X / Y) else abs (Y / X));
|
||||
-- Z := (if abs Y > abs X then abs (X / Y) else abs (Y / X));
|
||||
|
||||
Raw_Atan :=
|
||||
(if Z < Sqrt_Epsilon then Z
|
||||
elsif Z = 1.0 then Pi / 4.0
|
||||
else Float_Type'Base (Aux.Atan (Double (Z))));
|
||||
-- Raw_Atan :=
|
||||
-- (if Z < Sqrt_Epsilon then Z
|
||||
-- elsif Z = 1.0 then Pi / 4.0
|
||||
-- else Float_Type'Base (Aux.Atan (Double (Z))));
|
||||
|
||||
-- Replace above with IF statements for now (ASIS gnatelim problem???)
|
||||
|
||||
if abs Y > abs X then
|
||||
Z := abs (X / Y);
|
||||
else
|
||||
Z := abs (Y / X);
|
||||
end if;
|
||||
|
||||
if Z < Sqrt_Epsilon then
|
||||
Raw_Atan := Z;
|
||||
elsif Z = 1.0 then
|
||||
Raw_Atan := Pi / 4.0;
|
||||
else
|
||||
Raw_Atan := Float_Type'Base (Aux.Atan (Double (Z)));
|
||||
end if;
|
||||
|
||||
if abs Y > abs X then
|
||||
Raw_Atan := Half_Pi - Raw_Atan;
|
||||
|
@ -743,9 +743,7 @@ package body System.Tasking.Stages is
|
||||
function State
|
||||
(Int : System.Interrupt_Management.Interrupt_ID) return Character;
|
||||
pragma Import (C, State, "__gnat_get_interrupt_state");
|
||||
-- Get interrupt state. Defined in a-init.c
|
||||
-- The input argument is the interrupt number,
|
||||
-- and the result is one of the following:
|
||||
-- Get interrupt state for interrupt number Int. Defined in init.c
|
||||
|
||||
Default : constant Character := 's';
|
||||
-- 's' Interrupt_State pragma set state to System (use "default"
|
||||
|
Loading…
x
Reference in New Issue
Block a user