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

⟦8ee856ea7⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Foo_Unchecked, seg_004f38

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 Io;  
with System;  
with Unchecked_Conversions;

procedure Foo_Unchecked is  
    type    Xyz  is array (Natural range <>) of Integer;  
    subtype Foob is Xyz (1 .. 3);  
    subtype Barb is Xyz (1 .. 4);  
    function To_Bytes is new Unchecked_Conversions.Convert_To_Byte_String (Xyz);  
    function From_Bytes is  
       new Unchecked_Conversions.Convert_From_Byte_String (Barb);  
    function From_Bytes2 is  
       new Unchecked_Conversions.Convert_From_Byte_String (Xyz);  
    A : Foob                         := (16, -1, 4);  
    B : constant System.Byte_String  := To_Bytes (A);  
    C : System.Byte_String (1 .. 16) := (0, 0, 0, 32,  
                                         255, 255, 255, 254,  
                                         0, 0, 0, 27,  
                                         255, 255, 255, 0);  
    D : constant Xyz                 := From_Bytes (C);  
    E : System.Byte_String (1 .. 20) := (37, 37,  
                                         0, 0, 0, 32,  
                                         255, 255, 255, 254,  
                                         0, 0, 0, 27,  
                                         255, 255, 255, 0,  
                                         37, 37);  
    F : constant Xyz                 := From_Bytes (E (3 .. 18));  
begin  
    for I in B'Range loop  
        Io.Put (Natural (B (I)));  
        Io.New_Line;  
    end loop;  
    Io.Put_Line ("------------------");  
    for I in D'Range loop  
        Io.Put (D (I));  
        Io.New_Line;  
    end loop;  
    Io.Put_Line ("------------------");  
    for I in F'Range loop  
        Io.Put (F (I));  
        Io.New_Line;  
    end loop;  
end Foo_Unchecked;  

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=17 rec1=00 rec2=01 rec3=02e
        [0x01] rec0=16 rec1=00 rec2=02 rec3=000
    tail 0x2150095ac81978106d44c 0x42a00088462063203