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: ┃ B T

⟦318afe476⟧ TextFile

    Length: 1706 (0x6aa)
    Types: TextFile
    Names: »B«

Derivation

└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
    └─ ⟦0c20f784e⟧ »DATA« 
        └─⟦1abbe589f⟧ 
            └─⟦059497ac5⟧ 
                └─⟦this⟧ 

TextFile

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;