DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦4b17d9e4d⟧ TextFile

    Length: 3236 (0xca4)
    Types: TextFile
    Names: »V«

Derivation

└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
    └─ ⟦9a14c9417⟧ »DATA« 
        └─⟦this⟧ 

TextFile

-- Copyright 1988 Verdix Corporation

------------------------------------------------------------------------------
-- User interface to the RTS time operator subprograms
--
-- Note: time_t record consists of two fields: day and sec.
-- Each day represents 86400.0 seconds.
------------------------------------------------------------------------------
WITH V_I_Types;
USE V_I_Types;
PACKAGE V_I_Timeop IS

   PRAGMA Suppress (All_Checks);
   PRAGMA Suppress (Exception_Tables);
   PRAGMA Not_Elaborated;

   --------------------------------------------------------------------------
   -- Normalizes time so that its seconds component is less than a day.
   --------------------------------------------------------------------------
   FUNCTION Normalize_Time (Time : Time_T) RETURN Time_T;

   --------------------------------------------------------------------------
   -- Time addition. Returned time is normalized.
   --------------------------------------------------------------------------
   FUNCTION Incr_Time (Left : Time_T; Right : Time_T) RETURN Time_T;
   FUNCTION "+"       (Left : Time_T; Right : Time_T) RETURN Time_T
       RENAMES Incr_Time;

   --------------------------------------------------------------------------
   -- Time subtraction. Returned time is normalized.
   --
   -- Assumption: left parameter is >= right parameter.
   --------------------------------------------------------------------------
   FUNCTION Decr_Time (Left : Time_T; Right : Time_T) RETURN Time_T;
   FUNCTION "-"       (Left : Time_T; Right : Time_T) RETURN Time_T
       RENAMES Decr_Time;

   --------------------------------------------------------------------------
   -- Time difference. The returned duration can exceed 86400.0 seconds.
   -- No check is made for overflow.
   --
   -- Assumption: left parameter is >= right parameter.
   --------------------------------------------------------------------------
   FUNCTION Time_Diff (Left : Time_T; Right : Time_T) RETURN Duration;
   FUNCTION "-"       (Left : Time_T; Right : Time_T) RETURN Duration
       RENAMES Time_Diff;

   --------------------------------------------------------------------------
   -- Time comparison. These functions assume their input parameters
   -- were previously normalized.
   --------------------------------------------------------------------------
   FUNCTION Time_Lt (Left : Time_T; Right : Time_T) RETURN Boolean;
   FUNCTION "<" (Left : Time_T; Right : Time_T) RETURN Boolean RENAMES Time_Lt;
   FUNCTION Time_Lte (Left : Time_T; Right : Time_T) RETURN Boolean;
   FUNCTION "<=" (Left : Time_T; Right : Time_T) RETURN Boolean
       RENAMES Time_Lte;

PRIVATE
   PRAGMA Interface (Ada, Normalize_Time);
   PRAGMA Interface_Name (Normalize_Time, "__NORMALIZE_TIME");
   PRAGMA Interface (Ada, Incr_Time);
   PRAGMA Interface_Name (Incr_Time, "__INCR_TIME");
   PRAGMA Interface (Ada, Decr_Time);
   PRAGMA Interface_Name (Decr_Time, "__DECR_TIME");
   PRAGMA Interface (Ada, Time_Diff);
   PRAGMA Interface_Name (Time_Diff, "__TIME_DIFF");
   PRAGMA Interface (Ada, Time_Lt);
   PRAGMA Interface_Name (Time_Lt, "__TIME_LT");
   PRAGMA Interface (Ada, Time_Lte);
   PRAGMA Interface_Name (Time_Lte, "__TIME_LTE");
END V_I_Timeop;