DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7ca2b3c71⟧ Ada Source

    Length: 17408 (0x4400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Universal, pragma Module_Name 4 1115, pragma Subsystem Ada_Management, seg_02846d

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with System;

package Universal is

    pragma Subsystem (Ada_Management, Closed);
    pragma Module_Name (4, 1115);

    type Integer is private;
    type Float   is private;

    -- UNIVERSAL.INTEGER operators

    --  function "=" (LEFT, RIGHT: INTEGER) return BOOLEAN;
    function "<"  (Left, Right : Integer) return Boolean;
    function "<=" (Left, Right : Integer) return Boolean;
    function ">"  (Left, Right : Integer) return Boolean;
    function ">=" (Left, Right : Integer) return Boolean;

    function "+"   (Left : Integer) return Integer;
    function "-"   (Left : Integer) return Integer;
    function "abs" (Left : Integer) return Integer;

    function "+"   (Left, Right : Integer)                    return Integer;
    function "-"   (Left, Right : Integer)                    return Integer;
    function "*"   (Left, Right : Integer)                    return Integer;
    function "/"   (Left, Right : Integer)                    return Integer;
    function "rem" (Left, Right : Integer)                    return Integer;
    function "mod" (Left, Right : Integer)                    return Integer;
    function "**"  (Left : Integer; Right : Standard.Integer) return Integer;

    -- UNIVERSAL.FLOAT operators

    --  function "=" (LEFT, RIGHT: FLOAT) return BOOLEAN;
    function "<"  (Left, Right : Float) return Boolean;
    function "<=" (Left, Right : Float) return Boolean;
    function ">"  (Left, Right : Float) return Boolean;
    function ">=" (Left, Right : Float) return Boolean;

    function "+"   (Left : Float) return Float;
    function "-"   (Left : Float) return Float;
    function "abs" (Left : Float) return Float;

    function "+"  (Left, Right : Float)                    return Float;
    function "-"  (Left, Right : Float)                    return Float;
    function "*"  (Left, Right : Float)                    return Float;
    function "/"  (Left, Right : Float)                    return Float;
    function "**" (Left : Float; Right : Standard.Integer) return Float;

    -- additional UNIVERSAL operators

    function "*" (Left : Integer; Right : Float) return Float;
    function "*" (Left : Float; Right : Integer) return Float;
    function "/" (Left : Float; Right : Integer) return Float;

    -- constants
    function Zero return Integer;
    function Zero return Float;
    function One  return Integer;
    function One  return Float;

    -- conversion operators
    function Value (Left : Integer)          return Float;
    function Value (Left : Float)            return Integer;
    function Value (Left : Standard.Float)   return Float;
    function Value (Left : Standard.Integer) return Integer;

    function Convert (Left : Integer) return Standard.Integer;
    function Convert (Left : Float)   return Standard.Float;

    -- image functions
    function Image (Left : Integer) return String;
    function Image (Left : Float)   return String;

    -- type characteristics
    function Integer_Tick_Last  return Integer;
    function Integer_Tick_First return Integer;

    function Float_Tick_First return Float;
    function Float_Tick_Last  return Float;

    function Integer_Tick_Size           return Standard.Integer;
    function Float_Tick_Size             return Standard.Integer;
    function Float_Tick_Machine_Mantissa return Standard.Integer;

    -- representation munging utilities
    type Bit_String is array (Positive range <>) of Boolean;

    function Bits (I : Integer) return Bit_String;
    -- returns a bit_string of length UNIVERSAL.INTEGER_TICK_SIZE
    -- containing
    -- the value of I expressed as a binary integer, right justified in
    -- the bit string.

    function Mantissa (F : Float) return Bit_String;
    -- returns a bit_string of length UNIVERSAL.FLOAT_TICK_MACHINE_MANTISSA
    -- containing the value of the mantissa of F expressed as a binary
    -- fraction with the binary point assumed at the left end of the
    -- string. (See note.)

    function Exponent (F : Float) return Standard.Integer;
    -- returns the exponent of F (See note.)

    function Value (Int : Bit_String) return Integer;
    -- The bit string is interpreted as a binary integer. The function
    -- returns the value of that integer in the UNIVERSAL.INTEGER
    -- format.

    function Value (Mantissa : Bit_String) return Float;
    -- The bit string is interpreted as a binary mantissa (with binary
    -- point assumed at the left end of the string). The function
    -- returns the value of that mantissa in the UNIVERSAL.FLOAT format.

    -- Note: The following identities hold:
    -- VALUE (BITS (I)) = I and VALUE (MANTISSA (F)) * 2.0 ** EXPONENT (F) = F

    function Value   (Left : Standard.Long_Integer) return Integer;
    function Convert (Left : Integer) return Standard.Long_Integer;

    function In_Range (Left, Right1, Right2 : Integer) return Boolean;
    function In_Range (Left, Right1, Right2 : Float)   return Boolean;


    type Real is private;
    -- arbitrary precision real representation

    function Equal    (Left, Right : Real)          return Boolean;
    function "<"      (Left, Right : Real)          return Boolean;
    function "<="     (Left, Right : Real)          return Boolean;
    function ">"      (Left, Right : Real)          return Boolean;
    function ">="     (Left, Right : Real)          return Boolean;
    function In_Range (Left, Right1, Right2 : Real) return Boolean;

    function "+"   (Left : Real) return Real;
    function "-"   (Left : Real) return Real;
    function "abs" (Left : Real) return Real;

    function "+"  (Left, Right : Real)                    return Real;
    function "-"  (Left, Right : Real)                    return Real;
    function "*"  (Left, Right : Real)                    return Real;
    function "/"  (Left, Right : Real)                    return Real;
    function "**" (Left : Real; Right : Standard.Integer) return Real;

    function "*" (Left : Integer; Right : Real) return Real;
    function "*" (Left : Real; Right : Integer) return Real;
    function "/" (Left : Real; Right : Integer) return Real;

    function Zero return Real;
    function One  return Real;

    function Value (Left : Integer)        return Real;
    function Value (Left : Standard.Float) return Real;
    function Value (Left : Float)          return Real;
    function Value (N, D : Integer)        return Real;
    function Value (N, D : String)         return Real;

    function Value (Left : Real) return Integer;

    function Convert (Left : Real) return Standard.Float;
    function Convert (Left : Real) return Float;

    function Image (Left : Real) return String;

    function Mantissa (F : Real)              return Bit_String;
    function Exponent (F : Real)              return Standard.Integer;
    function Value    (Mantissa : Bit_String) return Real;

    function Numerator   (F : Real) return String;
    function Denominator (F : Real) return String;



    type Int is private;
    -- arbitrary precision integer type

    function Equal    (Left, Right : Int)          return Boolean;
    function "<"      (Left, Right : Int)          return Boolean;
    function "<="     (Left, Right : Int)          return Boolean;
    function ">"      (Left, Right : Int)          return Boolean;
    function ">="     (Left, Right : Int)          return Boolean;
    function In_Range (Left, Right1, Right2 : Int) return Boolean;

    function "+"   (Left : Int) return Int;
    function "-"   (Left : Int) return Int;
    function "abs" (Left : Int) return Int;

    function "+"  (Left, Right : Int)                    return Int;
    function "-"  (Left, Right : Int)                    return Int;
    function "*"  (Left, Right : Int)                    return Int;
    function "/"  (Left, Right : Int)                    return Int;
    function "**" (Left : Int; Right : Standard.Integer) return Int;

    function "*" (Left : Integer; Right : Int) return Int;
    function "*" (Left : Int; Right : Integer) return Int;
    function "/" (Left : Int; Right : Integer) return Int;

    function Zero return Int;
    function One  return Int;

    function Value (Left : Integer) return Int;
    function Value (Left : Int)     return Integer;

    function Image (Left : Int) return String;
    function Value (S : String) return Int;

    function Image (Left : Int)             return System.Byte_String;
    function Value (S : System.Byte_String) return Int;

    function Image (Left : Real)            return System.Byte_String;
    function Value (S : System.Byte_String) return Real;

end Universal;

E3 Meta Data

    nblk1=10
    nid=0
    hdr6=20
        [0x00] rec0=1b rec1=00 rec2=01 rec3=086
        [0x01] rec0=02 rec1=00 rec2=0f rec3=014
        [0x02] rec0=14 rec1=00 rec2=10 rec3=000
        [0x03] rec0=04 rec1=00 rec2=02 rec3=00c
        [0x04] rec0=1b rec1=00 rec2=03 rec3=006
        [0x05] rec0=00 rec1=00 rec2=0e rec3=03c
        [0x06] rec0=18 rec1=00 rec2=04 rec3=02e
        [0x07] rec0=00 rec1=00 rec2=0d rec3=02c
        [0x08] rec0=17 rec1=00 rec2=05 rec3=07c
        [0x09] rec0=01 rec1=00 rec2=0b rec3=00a
        [0x0a] rec0=12 rec1=00 rec2=0c rec3=038
        [0x0b] rec0=05 rec1=00 rec2=06 rec3=046
        [0x0c] rec0=1b rec1=00 rec2=07 rec3=012
        [0x0d] rec0=01 rec1=00 rec2=09 rec3=03a
        [0x0e] rec0=16 rec1=00 rec2=0a rec3=044
        [0x0f] rec0=0c rec1=00 rec2=08 rec3=000
    tail 0x21722372883c1736011bc 0x42a00088462065003