1-- C52005B.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 THE CONSTRAINT_ERROR EXCEPTION IS RAISED 26-- WHEN A STATIC EXPRESSION VALUE IS OUTSIDE THE STATIC RANGE 27-- OF FLOATING POINT ASSIGNMENTS. 28 29-- DCB 2/6/80 30-- JRK 7/21/80 31-- SPS 3/21/83 32 33WITH REPORT; 34PROCEDURE C52005B IS 35 36 USE REPORT; 37 38BEGIN 39 TEST ("C52005B", "CHECK THAT CONSTRAINT_ERROR EXCEPTION IS RAISED" 40 & " ON STATIC OUT OF RANGE FLOATING POINT ASSIGNMENTS"); 41 42------------------------- 43 44 DECLARE 45 TYPE FLT IS DIGITS 3 RANGE 0.0 .. 5.0E2; 46 FL1 : FLT RANGE 0.0 .. 100.0 := 50.0; 47 48 BEGIN 49 FL1 := 101.0; 50 51 FAILED ("EXCEPTION NOT RAISED FOR OUT OF RANGE FLT1 PT " & 52 "ASSIGNMENT"); 53 54 EXCEPTION 55 WHEN CONSTRAINT_ERROR => 56 IF FL1 /= 50.0 THEN 57 FAILED ("VALUE ALTERED BEFORE FLT1 PT RANGE EXCEPTION"); 58 END IF; 59 60 END; 61 62------------------------- 63 64 DECLARE 65 TYPE FLT IS DIGITS 3 RANGE 0.0 .. 5.0E2; 66 FL2 : FLT RANGE 0.0 .. 100.0 := 50.0; 67 68 69 BEGIN 70 FL2 := 100.0; 71 72 EXCEPTION 73 WHEN CONSTRAINT_ERROR => 74 FAILED ("EXCEPTION RAISED ON LEGAL FLOATING1 PT" & 75 "ASSIGNMENT"); 76 77 END; 78 79------------------------- 80 81 DECLARE 82 FL1 : FLOAT RANGE 0.0 .. 100.0 := 50.0; 83 84 BEGIN 85 FL1 := -0.001; 86 87 FAILED ("EXCEPTION NOT RAISED FOR OUT OF RANGE FLTG PT " & 88 "ASSIGNMENT"); 89 90 EXCEPTION 91 WHEN CONSTRAINT_ERROR => 92 IF FL1 /= 50.0 THEN 93 FAILED ("VALUE ALTERED BEFORE FLTG PT RANGE EXCEPTION"); 94 END IF; 95 96 END; 97 98------------------------- 99 100 DECLARE 101 FL2 : FLOAT RANGE 0.0 .. 100.0 := 50.0; 102 103 BEGIN 104 FL2 := 0.0; 105 106 EXCEPTION 107 WHEN CONSTRAINT_ERROR => 108 FAILED ("EXCEPTION RAISED ON LEGAL FLOATING PT ASSNMT"); 109 110 END; 111 112---------------------- 113 114 RESULT; 115END C52005B; 116