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 - metrics - download
Index: B T

⟦fc9ebae98⟧ TextFile

    Length: 1735 (0x6c7)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

-- 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;