-- --
-- S p e c --
-- --
--- $Revision: 1.24 $ --
--- --
--- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
--- MA 02111-1307, USA. --
+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
+-- Boston, MA 02110-1301, USA. --
-- --
-- As a special exception, if other files instantiate generics from this --
-- unit, or you link this unit with other files to produce an executable, --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
type Time_Span is private;
Time_Span_First : constant Time_Span;
- Time_Span_Last : constant Time_Span;
- Time_Span_Zero : constant Time_Span;
- Time_Span_Unit : constant Time_Span;
+ Time_Span_Last : constant Time_Span;
+ Time_Span_Zero : constant Time_Span;
+ Time_Span_Unit : constant Time_Span;
Tick : constant Time_Span;
function Clock return Time;
function Microseconds (US : Integer) return Time_Span;
function Milliseconds (MS : Integer) return Time_Span;
- type Seconds_Count is new Integer range -Integer'Last .. Integer'Last;
+ function Seconds (S : Integer) return Time_Span;
+ pragma Ada_05 (Seconds);
+
+ function Minutes (M : Integer) return Time_Span;
+ pragma Ada_05 (Minutes);
+
+ -- Seconds_Count needs 64 bits, since Time has the full range of
+ -- Duration. The delta of Duration is 10 ** (-9), so the maximum
+ -- number of seconds is 2**63/10**9 = 8*10**9 which does not quite
+ -- fit in 32 bits.
+
+ type Seconds_Count is range -2 ** 63 .. 2 ** 63 - 1;
procedure Split (T : Time; SC : out Seconds_Count; TS : out Time_Span);
function Time_Of (SC : Seconds_Count; TS : Time_Span) return Time;
pragma Import (Intrinsic, ">=");
pragma Import (Intrinsic, "abs");
+ pragma Inline (Microseconds);
+ pragma Inline (Milliseconds);
+ pragma Inline (Nanoseconds);
+ pragma Inline (Seconds);
+ pragma Inline (Minutes);
+
end Ada.Real_Time;