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

⟦0c92af35e⟧ TextFile

    Length: 1582 (0x62e)
    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

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