|
|
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: 1735 (0x6c7)
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⟧
-- FOR-LOOP 1 ITERATION INDEX USED
-------------------------------
-- THIS TEST EVALUATES THE CODE EFFICIENCY OF A LOOP STATEMENT, WITH
-- THE FOR ITERATION SCHEME, THAT USES THE LOOP PARAMETER IN THE BODY OF
-- THE LOOP. THE LOOP IS EXECUTED ONE TIME.
-- THE TEST CONSISTS OF TWO LOOP STATEMENTS THAT ARE EACH EXECUTED ONE
-- TIME. THE BODY OF EACH LOOP INCLUDES A CAMOUFLAGED ASSIGNMENT TO THE
-- GLOBAL VARIABLE USING THE LOOP PARAMETER.
-- IN THE NOISE VERSION, THE FIRST LOOP STATEMENT IS REMOVED AND THE
-- CAMOUFLAGED ASSIGNMENT IS RELOCATED TO THE BODY OF THE REMAINING LOOP
-- TO REFERENCE THAT LOOP PARAMETER. AS A RESULT, THE CODE EFFICIENCY
-- METRICS FOR A LOOP STATEMENT IN WHICH THE LOOP PARAMETER IS USED CAN
-- BE DERIVED. ADDITIONAL CAMOUFLAGED ASSIGNMENTS ARE INCLUDED TO
-- PREVENT THE LOCAL VARIABLES FROM BECOMING CANDIDATES FOR ELIMINATION
-- AS DEAD VARIABLES IN THE NOISE VERSION. THE NON-STATIC DISCRETE
-- RANGES IN THE TEST VERSION ARE CAMOUFLAGED DIFFERENTLY TO PREVENT
-- THE FUSION OF THE TWP LOOP STATEMENTS.
with Instrument;
use Instrument;
with Ics;
use Ics;
procedure F1iua1 is
N : Integer;
M : Integer;
begin
Start ("F1IUA1", "LOOP STMT, USING FOR WITH " &
"LOOP PARAMETER, 1000 REPETITIONS (CONTROL)");
for Lcv in 1 .. 1000 loop
N := Ident (One);
M := Ident (One);
--FOR I IN N .. M LOOP -- ONLY EXECUTED ONCE
-- LET(GLOBAL, IDENT(I));
--END LOOP;
for K in Ident (Zero) .. Ident (Zero) loop
Let (Global, Ident (K));
Let (Global, Ident (K));
end loop;
Let (Global, N);
Let (Global, M);
end loop;
Stop;
end F1iua1;