WITH REPORT; USE REPORT;
PROCEDURE C45262D IS
FUNCTION "<"(LEFT, RIGHT : INTEGER) RETURN BOOLEAN IS
BEGIN
RETURN STANDARD.">="(LEFT, RIGHT);
END "<";
FUNCTION "<="(LEFT, RIGHT : INTEGER) RETURN BOOLEAN IS
BEGIN
RETURN STANDARD.">"(LEFT, RIGHT);
END "<=";
FUNCTION ">"(LEFT, RIGHT : INTEGER) RETURN BOOLEAN IS
BEGIN
RETURN STANDARD."<="(LEFT, RIGHT);
END ">";
FUNCTION ">="(LEFT, RIGHT : INTEGER) RETURN BOOLEAN IS
BEGIN
RETURN STANDARD."<"(LEFT, RIGHT);
END ">=";
BEGIN
TEST ("C45262D", "ORDERING COMPARISONS OF ONE-DIMENSIONAL " &
"DISCRETE ARRAY TYPES");
DECLARE
SUBTYPE SUBINT IS INTEGER RANGE 0 .. 5;
TYPE ARR IS ARRAY( SUBINT RANGE <> ) OF INTEGER;
ARR1 : ARR(1 .. IDENT_INT(0));
ARR2 : ARR(2 .. IDENT_INT(0));
ARR3 : ARR(1 .. IDENT_INT(1)) := (IDENT_INT(1) => 0);
ARR4 : ARR(0 .. IDENT_INT(0)) := (IDENT_INT(0) => 0);
ARR5 : ARR(0 .. IDENT_INT(0)) := (IDENT_INT(0) => 1);
ARR6 : ARR(1 .. IDENT_INT(5)) := (1 .. IDENT_INT(5) => 0);
ARR7 : ARR(0 .. 4) := (0 .. 3 => 0, 4 => 1);
BEGIN
IF ARR1 < ARR2 THEN
FAILED ("NULL ARRAYS ARR1 AND ARR2 NOT EQUAL - <");
END IF;
IF ARR3 <= ARR1 THEN
FAILED ("NON-NULL ARRAY ARR3 LESS THAN EQUAL NULL " &
"ARR1");
END IF;
IF ARR3 > ARR4 THEN
FAILED ("DIFFERENT BOUNDS, SAME NUMBER OF COMPONENTS, " &
"COMPONENTS EQUAL - >");
END IF;
IF NOT (ARR3(1) > ARR4(0)) THEN
FAILED ("REDEFINED COMPONENT COMPARISON - >");
END IF;
IF ARR3 >= ARR5 THEN
FAILED ("DIFFERENT BOUNDS, SAME NUMBER OF COMPONENTS, " &
"COMPONENTS NOT EQUAL - >=");
END IF;
IF NOT ( "<" (ARR6, ARR7) ) THEN
FAILED ("DIFFERENT BOUNDS, SAME NUMBER OF COMPONENTS, " &
"MULTIPLE COMPONENTS, COMPONENTS NOT EQUAL - <");
END IF;
END;
RESULT;
END C45262D;