|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 3504 (0xdb0)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Unchecked_Deallocation;
package body Generator_Of_V_Strings_And_Stat_Values is
procedure Generate (Vector : in out Vector_Type) is
Temp_Key : V_String;
Temp_Val : Value_Type;
begin
for I in Vector'Range loop
Vector (I).Key := To_V_String (I + Vector'Last);
Vector (I).Val := Value_Type (I);
end loop;
for I in reverse Vector'Range loop
if I mod 3 /= 0 then
Replace (Temp_Key, Vector (Vector'First).Key, 1);
Truncate (Temp_Key, Length (Vector (Vector'First).Key));
Replace (Vector (Vector'First).Key, Vector (I).Key, 1);
Truncate (Vector (Vector'First).Key, Length (Vector (I).Key));
Replace (Vector (I).Key, Temp_Key, 1);
Truncate (Vector (I).Key, Length (Temp_Key));
Assign (Temp_Val, Vector (Vector'First).Val);
Assign (Vector (Vector'First).Val, Vector (I).Val);
Assign (Vector (I).Val, Temp_Val);
end if;
end loop;
end Generate;
procedure Generate2 (Vector : in out Vector_Type) is
Temp_Key : V_String;
Temp_Val : Value_Type;
begin
for I in Vector'Range loop
Vector (I).Key := To_V_String (I + 21 * Vector'Last / 2);
Vector (I).Val := Value_Type (I + 19 * Vector'Last / 2);
end loop;
for I in reverse Vector'Range loop
if I mod 3 /= 0 then
Replace (Temp_Key, Vector (Vector'First).Key, 1);
Truncate (Temp_Key, Length (Vector (Vector'First).Key));
Replace (Vector (Vector'First).Key, Vector (I).Key, 1);
Truncate (Vector (Vector'First).Key, Length (Vector (I).Key));
Replace (Vector (I).Key, Temp_Key, 1);
Truncate (Vector (I).Key, Length (Temp_Key));
Assign (Temp_Val, Vector (Vector'First).Val);
Assign (Vector (Vector'First).Val, Vector (I).Val);
Assign (Vector (I).Val, Temp_Val);
end if;
end loop;
end Generate2;
procedure Generate_Ascending (Vector : in out Vector_Type) is
begin
for I in Vector'Range loop
Vector (I).Key := To_V_String (I + Vector'Last);
Vector (I).Val := Value_Type (I);
end loop;
end Generate_Ascending;
procedure Generate_Descending (Vector : in out Vector_Type) is
begin
for I in Vector'Range loop
Vector (I).Key := To_V_String (2 * Vector'Last - I + Vector'First);
Vector (I).Val := Value_Type (Vector'Last - I + Vector'First);
end loop;
end Generate_Descending;
procedure Assign (Dest : in out V_String; Source : in V_String) is
begin
Replace (Dest, Source, 1);
Truncate (Dest, Length (Source));
end Assign;
procedure Assign (Dest : in out String; Source : in String) is
begin
Dest := (others => ' ');
Dest (1 .. Source'Length) := Source;
end Assign;
procedure Assign (Dest : in out Value_Type; Source : in Value_Type) is
begin
Dest := Source;
end Assign;
function Equals (Left, Right : String) return Boolean is
begin
return Left = Right;
end Equals;
function Less (Left, Right : String) return Boolean is
begin
return Var_String."<" (To_V_String (Left), To_V_String (Right));
end Less;
end Generator_Of_V_Strings_And_Stat_Values;