NUMAL Section 1.1.2

BEGIN SECTION : 1.1.2 (December, 1979)

AUTHOR:     P.A.BEENTJES.

INSTITUTE:  MATHEMATICAL CENTRE.

RECEIVED:   730715.

BRIEF DESCRIPTION:

    THIS SECTION CONTAINS SIX PROCEDURES.
    DUPVEC COPIES THE VECTOR GIVEN IN ARRAY B[L+SHIFT : U+SHIFT] TO THE
    VECTOR GIVEN IN ARRAY A[L:U].
    DUPVECROW COPIES THE ROW VECTOR GIVEN IN ARRAY  B[I:I, L:U]  TO THE
    VECTOR GIVEN IN ARRAY A[L:U].
    DUPROWVEC COPIES THE VECTOR GIVEN IN ARRAY B[L:U] TO THE ROW VECTOR
    GIVEN IN ARRAY A[I:I, L:U].
    DUPVECCOL  COPIES THE COLUMN VECTOR GIVEN IN ARRAY  B[L:U, J:J]  TO
    THE VECTOR GIVEN IN ARRAY A[L:U].
    DUPCOLVEC  COPIES THE VECTOR GIVEN IN ARRAY  B[L:U]  TO THE  COLUMN
    VECTOR GIVEN IN ARRAY A[L:U, J:J].
    DUPMAT  COPIES THE MATRIX GIVEN IN ARRAY  B[L:U, I:J] TO THE MATRIX
    GIVEN IN ARRAY A[L:U, I:J].

KEYWORDS:

    ELEMENTARY PROCEDURE,
    VECTOR OPERATIONS,
    DUPLICATION.


SUBSECTION: DUPVEC.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPVEC(L, U, SHIFT, A, B); "VALUE" L,U,SHIFT;
    "INTEGER" L,U,SHIFT; "ARRAY" A,B;
    "CODE" 31030;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER AND UPPER VECTOR-INDEX, RESPECTIVELY;
    SHIFT:  <ARITHMETIC EXPRESSION>;
            INDEX-SHIFTING PARAMETER;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U], B[L + SHIFT : U + SHIFT],   B  IS  COPIED
            INTO A.

LANGUAGE: COMPASS.


SUBSECTION: DUPVECROW.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPVECROW(L, U, I, A, B); "VALUE" L,U,I;
    "INTEGER" L,U,I; "ARRAY" A,B;
    "CODE" 31031;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER   AND   UPPER  VECTOR ( COLUMN )-INDEX, RESPECTIVELY;
    I:      <ARITHMETIC EXPRESSION>;
            ROW-INDEX OF THE ROW VECTOR B;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U], B[I : I, L : U], B IS COPIED INTO A.

LANGUAGE: COMPASS.


SUBSECTION: DUPROWVEC.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPROWVEC(L, U, I, A, B); "VALUE" L,U,I;
    "INTEGER" L,U,I; "ARRAY" A,B;
    "CODE" 31032;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER   AND   UPPER  VECTOR ( COLUMN )-INDEX, RESPECTIVELY;
    I:      <ARITHMETIC EXPRESSION>;
            ROW-INDEX OF THE ROW VECTOR A;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[I : I, L : U], B[L : U], B IS COPIED INTO A.

LANGUAGE: COMPASS.


SUBSECTION: DUPVECCOL.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPVECCOL(L, U, J, A, B); "VALUE" L,U,J;
    "INTEGER" L,U,J; "ARRAY" A,B;
    "CODE" 31033;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER   AND   UPPER   VECTOR ( ROW )-INDEX,   RESPECTIVELY;
    J:      <ARITHMETIC EXPRESSION>;
            COLUMN-INDEX OF THE COLUMN VECTOR B;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U], B[L : U, I : I], B IS COPIED INTO A.

LANGUAGE: COMPASS.


SUBSECTION: DUPCOLVEC.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPCOLVEC(L, U, J, A, B); "VALUE" L,U,J;
    "INTEGER" L,U,J; "ARRAY" A,B;
    "CODE" 31034;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER   AND   UPPER   VECTOR ( ROW )-INDEX,   RESPECTIVELY;
    J:      <ARITHMETIC EXPRESSION>;
            COLUMN-INDEX OF THE COLUMN VECTOR A;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U, I : I], B[L : U], B IS COPIED INTO A.

LANGUAGE: COMPASS.


SUBSECTION: DUPMAT.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" DUPMAT(L, U, I, J, A, B); "VALUE" L,U,I,J;
    "INTEGER" L,U,I,J; "ARRAY" A,B;
    "CODE" 31035;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER AND UPPER ROW-INDEX, RESPECTIVELY;
    I,J:    <ARITHMETIC EXPRESSION>;
            LOWER AND UPPER COLUMN-INDEX, RESPECTIVELY;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U, I : J], B[L : U, I : J],  B IS COPIED INTO
            A.

LANGUAGE: COMPASS.

SOURCE TEXT(S):

THE FOLLOWING PROCEDURES ARE WRITTEN IN COMPASS, AN EQUIVALENT ALGOL 60
TEXT OF THESE COMPASS ROUTINES IS GIVEN.

"CODE" 31030;

"CODE" 31031;

"CODE" 31032;

"CODE" 31033;

"CODE" 31034;

"CODE" 31035;