|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Utils, seg_0520fd
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io; package body Utils is function ">=" (L, R : Byte_Defs.Byte) return Boolean renames Byte_Defs.">="; function Get_Test_Level_From_User return Test_Level is package Level_Io is new Text_Io.Enumeration_Io (Test_Level); Confidence_Level : Test_Level; begin loop begin Text_Io.Put_Line ("Enter desired test_level:)"); Text_Io.Put ("Valid values are: "); for Level in Test_Level loop Text_Io.Put (Test_Level'Image (Level) & " "); end loop; Text_Io.Put (": "); Level_Io.Get (Confidence_Level); if Positive (Text_Io.Col) /= 1 then Text_Io.Skip_Line; end if; Text_Io.New_Line; return Confidence_Level; exception when Constraint_Error => if Positive (Text_Io.Col) /= 1 then Text_Io.Skip_Line; end if; Text_Io.New_Line; Text_Io.Put_Line ("Invalid input, try again"); end; end loop; end Get_Test_Level_From_User; function To_Unsigned_Byte (B : Byte_Defs.Byte) return Unsigned_Byte is begin if B >= 0 then return Unsigned_Byte (B); else return Unsigned_Byte (B) + 256; end if; end To_Unsigned_Byte; function To_Signed_Byte (B : Unsigned_Byte) return Byte_Defs.Byte is begin if B < 128 then return Byte_Defs.Byte (B); else return Byte_Defs.Byte (B - 256); end if; end To_Signed_Byte; function Byte_String_To_Integer (Bs : Byte_Defs.Byte_String) return Integer is Normalized : constant Byte_Defs.Byte_String (1 .. Bs'Length) := Bs; Result : Integer := 0; Shifter : Integer := 0; begin for I in reverse Normalized'Range loop Result := Result + Integer (To_Unsigned_Byte (Normalized (I))) * (2 ** Shifter); Shifter := Shifter + 8; end loop; return Result; end Byte_String_To_Integer; function Byte_String_To_String (Bs : Byte_Defs.Byte_String) return String is S : String (1 .. Bs'Length); Bs_Zero : constant Integer := Bs'First - 1; function "mod" (L, R : Byte_Defs.Byte) return Byte_Defs.Byte renames Byte_Defs."mod"; begin for I in S'Range loop S (I) := Character'Val (To_Unsigned_Byte (Bs (Bs_Zero + I)) mod 128); end loop; return S; end Byte_String_To_String; function String_To_Byte_String (S : String) return Byte_Defs.Byte_String is Bs : Byte_Defs.Byte_String (S'First .. S'Last); begin for I in S'Range loop Bs (I) := To_Signed_Byte (Character'Pos (S (I))); end loop; return Bs; end String_To_Byte_String; end Utils;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=26 rec1=00 rec2=01 rec3=018 [0x01] rec0=20 rec1=00 rec2=02 rec3=08c [0x02] rec0=1a rec1=00 rec2=03 rec3=040 [0x03] rec0=08 rec1=00 rec2=04 rec3=000 tail 0x21759957487a05cc52f48 0x42a00088462060003