|
|
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: 1582 (0x62e)
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⟧
-- THIS TEST EVALUATES THE CODE EFFICIENCY OF A LOOP STATEMENT WITH
-- THE FOR ITERATION SCHEME USING THE REVERSE OPTION. THE LOOP IS
-- EXECUTED TWICE.
-- THE APPROACH USED IS SIMILAR TO THAT OF THE PRECEDING TEST (FOR-LOOP
-- 2 ITERATIONS), BUT THE COMPILER MAY BE ABLE TO TAKE ADVANTAGE OF SPEC
-- MACHINE INSTRUCTIONS FOR EFFICIENTLY DECREMENTING THE LOOP PARAMETER.
with Instrument;
use Instrument;
with Ics;
use Ics;
procedure Fl2ra1 is
N : Integer;
M : Integer;
begin
Start ("FL2RA1", " LOOP STMT, USING FOR, 2 ITERATIONS" &
" 1000 REPETITIONS (NOISE VERSION)");
for Lcv in 1 .. 1000 loop
N := Ident (Zero);
M := Ident (One);
--FOR I IN REVERSE N .. M LOOP -- EXECUTED TWICE
Let (Global, Ident (One));
--END LOOP;
-- SINCE THE LOOP BODY IS EXECUTED TWICE IN THE TEST VERSION, AND TH
-- VERSION MUST CONTAIN THE SAME AMOUNT OF CODE BUT EXECUTE THE SAME
-- STATEMENTS (OTHER THAN THE LOOP STATEMENT), A CONDITIONAL STATEME
-- WHOSE TRUE PART DIFFERS IN THE NOISE VERSION IS USED.
Let (Global, N);
Let (Global, M);
if Global /= Zero then
-- ALWAYS TRUE
Let (Global, Ident (One));
--ELSE -- COMMENTED OUT IN NOISE VERSIO
Let (Global, Ident (One)); -- EXECUTED IN NOISE VERSI
else
-- COMMENTED OUT IN TEST VERSION
Let (Global, Ident (One));
end if;
end loop;
Stop;
end Fl2ra1;