1-- C45343A.ADA 2 3-- Grant of Unlimited Rights 4-- 5-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, 6-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained 7-- unlimited rights in the software and documentation contained herein. 8-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making 9-- this public release, the Government intends to confer upon all 10-- recipients unlimited rights equal to those held by the Government. 11-- These rights include rights to use, duplicate, release or disclose the 12-- released technical data and computer software in whole or in part, in 13-- any manner and for any purpose whatsoever, and to have or permit others 14-- to do so. 15-- 16-- DISCLAIMER 17-- 18-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR 19-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED 20-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE 21-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE 22-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A 23-- PARTICULAR PURPOSE OF SAID MATERIAL. 24--* 25-- CHECK THAT CATENATION OF NULL OPERANDS YIELDS THE CORRECT RESULT, 26-- WITH THE CORRECT BOUNDS. 27 28-- BHS 6/29/84 29 30WITH REPORT; 31PROCEDURE C45343A IS 32 33 USE REPORT; 34 35 TYPE ARR IS ARRAY (INTEGER RANGE <>) OF INTEGER; 36 SUBTYPE ARR_8 IS ARR (1..8); 37 A1, A2 : ARR_8; 38 39 PROCEDURE CAT (A : ARR; I1,I2 : INTEGER; NUM : CHARACTER) IS 40 BEGIN 41 IF A'FIRST /= I1 OR A'LAST /= I2 THEN 42 FAILED ("INCORRECT CATENATION - " & NUM); 43 END IF; 44 END CAT; 45 46BEGIN 47 48 TEST ("C45343A", "CATENATION OF NULL OPERANDS"); 49 50 51 A1 := (1,2,3,4,5,6,7,8); 52 A2 := A1(1..0) & A1(6..5) & A1(1..8); 53 IF A2 /= (1,2,3,4,5,6,7,8) THEN 54 FAILED ("INCORRECT CATENATION RESULT - 1"); 55 END IF; 56 57 A1 := (1,2,3,4,5,6,7,8); 58 A2 := A1(2..8) & A1(1..0) & 9; 59 IF A2 /= (2,3,4,5,6,7,8,9) THEN 60 FAILED ("INCORRECT CATENATION RESULT - 2"); 61 END IF; 62 63 64 CAT ( A1(1..0) & A1(IDENT_INT(2)..0), 2, 0, '3' ); 65 CAT ( A1(IDENT_INT(1)..0) & A2(2..0), 2, 0, '4' ); 66 67 CAT ( A1(1..0) & A1(6..5) & A1(2..8), 2, 8, '5' ); 68 CAT ( A1(2..8) & A1(1..0), 2, 8, '6' ); 69 70 CAT ( A2(1..0) & A2(6..5) & A2(IDENT_INT(2)..8), 2, 8, '7' ); 71 CAT ( A2(IDENT_INT(2)..8) & A2(1..0), 2, 8, '8' ); 72 73 RESULT; 74 75END C45343A; 76