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

⟦65d56f36c⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Conversion, seg_040d0e

Derivation

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

E3 Source Code



with Text_Io;
package body Conversion is

--******************************************************************************

    function Conversion_0_15_Hexa (Nb : Integer) return Character is  
        C : Character;
    begin
        case Nb is
            when 1 =>
                C := '1';
            when 2 =>
                C := '2';
            when 3 =>
                C := '3';
            when 4 =>
                C := '4';
            when 5 =>
                C := '5';  
            when 6 =>
                C := '6';
            when 7 =>
                C := '7';
            when 8 =>
                C := '8';
            when 9 =>
                C := '9';
            when 10 =>
                C := 'A';
            when 11 =>
                C := 'B';
            when 12 =>
                C := 'C';
            when 13 =>
                C := 'D';
            when 14 =>
                C := 'E';
            when 15 =>
                C := 'F';
            when others =>
                null;
        end case;  
        return C;
    end Conversion_0_15_Hexa;

--******************************************************************************


    function Integer_Byte (L_Entier : Integer) return System.Byte is
    begin
        return (System.Byte'Value (Integer'Image (Integer (L_Entier))));
    end Integer_Byte;

--******************************************************************************

    function Byte_Integer (Le_Byte : System.Byte) return Integer is
    begin
        return (Integer'Value (System.Byte'Image (System.Byte (Le_Byte))));
    end Byte_Integer;

--******************************************************************************

    function Integer_Byte_String
                (L_Entier, La_Taille : Integer) return System.Byte_String is

        La_Byte_String : System.Byte_String (0 .. La_Taille - 1);
        N : Integer := 100 ** La_Taille;

    begin
        for I in La_Byte_String'Range loop
            N := N / 100;
            La_Byte_String (I) := Integer_Byte (L_Entier / N);
        end loop;  
        return (La_Byte_String);
    end Integer_Byte_String;

--******************************************************************************

    function Byte_String_Integer
                (La_Byte_String : System.Byte_String) return Integer is

        L_Entier : Integer := 0;
        N : Integer := 100 ** La_Byte_String'Length;

    begin
        for I in La_Byte_String'Range loop
            N := N / 100;
            L_Entier := L_Entier + (Byte_Integer (La_Byte_String (I)) * N);
        end loop;  
        return (L_Entier);
    end Byte_String_Integer;

--******************************************************************************

end Conversion;

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=27 rec1=00 rec2=01 rec3=01c
        [0x01] rec0=1d rec1=00 rec2=04 rec3=03c
        [0x02] rec0=1d rec1=00 rec2=02 rec3=000
        [0x03] rec0=03 rec1=82 rec2=0b rec3=142
    tail 0x2153b778086125bdbace4 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 01 d6 80 05 74 65 67 65 72 05 00 42 20 20  ┆      teger  B  ┆