summaryrefslogtreecommitdiff
path: root/testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd
diff options
context:
space:
mode:
authorTristan Gingold2013-12-20 04:48:54 +0100
committerTristan Gingold2013-12-20 04:48:54 +0100
commit6c3f709174e8e4d5411f851cedb7d84c38d3b04a (patch)
treebd12c79c71a2ee65899a9ade9919ec2045addef8 /testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd
parentbd4aff0f670351c0652cf24e9b04361dc0e3a01c (diff)
downloadghdl-6c3f709174e8e4d5411f851cedb7d84c38d3b04a.tar.gz
ghdl-6c3f709174e8e4d5411f851cedb7d84c38d3b04a.tar.bz2
ghdl-6c3f709174e8e4d5411f851cedb7d84c38d3b04a.zip
Import vests testsuite
Diffstat (limited to 'testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd')
-rw-r--r--testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd1373
1 files changed, 1373 insertions, 0 deletions
diff --git a/testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd b/testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd
new file mode 100644
index 0000000..323baad
--- /dev/null
+++ b/testsuite/vests/vhdl-93/billowitch/compliant/tc521.vhd
@@ -0,0 +1,1373 @@
+
+-- Copyright (C) 2001 Bill Billowitch.
+
+-- Some of the work to develop this test suite was done with Air Force
+-- support. The Air Force and Bill Billowitch assume no
+-- responsibilities for this software.
+
+-- This file is part of VESTs (Vhdl tESTs).
+
+-- VESTs is free software; you can redistribute it and/or modify it
+-- under the terms of the GNU General Public License as published by the
+-- Free Software Foundation; either version 2 of the License, or (at
+-- your option) any later version.
+
+-- VESTs is distributed in the hope that it will be useful, but WITHOUT
+-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+-- for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with VESTs; if not, write to the Free Software Foundation,
+-- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+-- ---------------------------------------------------------------------
+--
+-- $Id: tc521.vhd,v 1.2 2001-10-26 16:29:56 paw Exp $
+-- $Revision: 1.2 $
+--
+-- ---------------------------------------------------------------------
+
+PACKAGE c03s03b00x00p03n04i00521pkg IS
+--
+-- Index types for array declarations
+--
+ SUBTYPE st_ind1 IS INTEGER RANGE 1 TO 8; -- index from 1 (POSITIVE)
+ SUBTYPE st_ind2 IS INTEGER RANGE 0 TO 3; -- index from 0 (NATURAL)
+ SUBTYPE st_ind3 IS CHARACTER RANGE 'a' TO 'd'; -- non-INTEGER index
+ SUBTYPE st_ind4 IS INTEGER RANGE 0 DOWNTO -3; -- descending range
+--
+-- Scalar type for subelements
+--
+ SUBTYPE st_scl1 IS CHARACTER ;
+ SUBTYPE st_scl3 IS INTEGER RANGE 1 TO INTEGER'HIGH;
+ SUBTYPE st_scl4 IS REAL RANGE 0.0 TO 1024.0;
+
+-- -----------------------------------------------------------------------------------------
+-- Composite type declarations
+-- -----------------------------------------------------------------------------------------
+--
+-- Records of scalars
+--
+ TYPE t_scre_1 IS RECORD
+ left : st_scl1;
+ second : TIME;
+ third : st_scl3;
+ right : st_scl4;
+ END RECORD;
+--
+-- Unconstrained arrays of scalars
+--
+ TYPE t_usa1_1 IS ARRAY (st_ind1 RANGE <>) OF st_scl1;
+ TYPE t_usa1_2 IS ARRAY (st_ind2 RANGE <>) OF TIME;
+ TYPE t_usa1_3 IS ARRAY (st_ind3 RANGE <>) OF st_scl3;
+ TYPE t_usa1_4 IS ARRAY (st_ind4 RANGE <>) OF st_scl4;
+
+ TYPE t_usa2_1 IS ARRAY (st_ind2 RANGE <>,
+ st_ind1 RANGE <>) OF st_scl1;
+ TYPE t_usa3_1 IS ARRAY (st_ind3 RANGE <>,
+ st_ind2 RANGE <>,
+ st_ind1 RANGE <>) OF st_scl1;
+ TYPE t_usa4_1 IS ARRAY (st_ind4 RANGE <>,
+ st_ind3 RANGE <>,
+ st_ind2 RANGE <>,
+ st_ind1 RANGE <>) OF st_scl1;
+--
+--
+-- Constrained arrays of scalars (make compatable with unconstrained types
+--
+ SUBTYPE t_csa1_1 IS t_usa1_1 (st_ind1 );
+ SUBTYPE t_csa1_2 IS t_usa1_2 (st_ind2 );
+ SUBTYPE t_csa1_3 IS t_usa1_3 (st_ind3 );
+ SUBTYPE t_csa1_4 IS t_usa1_4 (st_ind4 );
+
+ SUBTYPE t_csa2_1 IS t_usa2_1 (st_ind2 , -- ( i2, i1 ) of CHAR
+ st_ind1 );
+ SUBTYPE t_csa3_1 IS t_usa3_1 (st_ind3 , -- ( i3, i2, i1) of CHAR
+ st_ind2 ,
+ st_ind1 );
+ SUBTYPE t_csa4_1 IS t_usa4_1 (st_ind4 , -- ( i4, i3, i2, i1 ) of CHAR
+ st_ind3 ,
+ st_ind2 ,
+ st_ind1 );
+--
+--
+-- constrained arrays of composites
+--
+ TYPE t_cca1_1 IS ARRAY (st_ind1) OF t_scre_1; -- ( i1 ) is RECORD of scalar
+ TYPE t_cca1_2 IS ARRAY (st_ind2) OF t_csa1_1; -- ( i2 )( i1 ) is CHAR
+ TYPE t_cca1_3 IS ARRAY (st_ind3) OF t_cca1_2; -- ( i3 )( i2 )( i1 ) is CHAR
+ TYPE t_cca1_4 IS ARRAY (st_ind4) OF t_cca1_3; -- ( i4 )( i3 )( i2 )( i1 ) is CHAR
+
+ TYPE t_cca2_1 IS ARRAY (st_ind3) OF t_csa2_1; -- ( i3 )( i2, i1 ) is CHAR
+ TYPE t_cca2_2 IS ARRAY (st_ind4, -- ( i4, i3 )( i2, i1 ) of CHAR
+ st_ind3) OF t_csa2_1;
+ TYPE t_cca3_1 IS ARRAY (st_ind4, -- ( i4, i3, i2 )( i1 ) of CHAR
+ st_ind3,
+ st_ind2) OF t_csa1_1;
+ TYPE t_cca3_2 IS ARRAY (st_ind4) OF t_csa3_1; -- ( i4 )( i3, i2, i1 ) is CHAR
+--
+-- Records of composites
+--
+ TYPE t_cmre_1 IS RECORD
+ left : t_csa1_1; -- .fN(i1) is CHAR
+ second : t_scre_1; -- .fN.fN
+ END RECORD;
+
+ TYPE t_cmre_2 IS RECORD
+ left ,
+ second ,
+ third ,
+ right : t_csa1_1; -- .fN(i1) is CHAR
+ END RECORD;
+--
+-- Mixed Records/arrays
+--
+ TYPE t_cca1_7 IS ARRAY (st_ind3) OF t_cmre_2; -- (i3).fN(i1) is CHAR
+ TYPE t_cmre_3 IS RECORD
+ left ,
+ second ,
+ third ,
+ right : t_cca1_7; -- .fN(i3).fN(i1) is CHAR
+ END RECORD;
+
+--
+-- TYPE declarations for resolution function (Constrained types only)
+--
+ TYPE t_scre_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_scre_1;
+ TYPE t_csa1_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa1_1;
+ TYPE t_csa1_2_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa1_2;
+ TYPE t_csa1_3_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa1_3;
+ TYPE t_csa1_4_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa1_4;
+ TYPE t_csa2_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa2_1;
+ TYPE t_csa3_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa3_1;
+ TYPE t_csa4_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_csa4_1;
+ TYPE t_cca1_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca1_1;
+ TYPE t_cca1_2_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca1_2;
+ TYPE t_cca1_3_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca1_3;
+ TYPE t_cca1_4_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca1_4;
+ TYPE t_cca2_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca2_1;
+ TYPE t_cca2_2_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca2_2;
+ TYPE t_cca3_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca3_1;
+ TYPE t_cca3_2_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca3_2;
+ TYPE t_cmre_1_vct IS ARRAY (POSITIVE RANGE <>) OF t_cmre_1;
+ TYPE t_cmre_2_vct IS ARRAY (POSITIVE RANGE <>) OF t_cmre_2;
+ TYPE t_cca1_7_vct IS ARRAY (POSITIVE RANGE <>) OF t_cca1_7;
+ TYPE t_cmre_3_vct IS ARRAY (POSITIVE RANGE <>) OF t_cmre_3;
+--
+-- Declaration of Resolution Functions
+--
+ FUNCTION rf_scre_1 ( v: t_scre_1_vct ) RETURN t_scre_1;
+ FUNCTION rf_csa1_1 ( v: t_csa1_1_vct ) RETURN t_csa1_1;
+ FUNCTION rf_csa1_2 ( v: t_csa1_2_vct ) RETURN t_csa1_2;
+ FUNCTION rf_csa1_3 ( v: t_csa1_3_vct ) RETURN t_csa1_3;
+ FUNCTION rf_csa1_4 ( v: t_csa1_4_vct ) RETURN t_csa1_4;
+ FUNCTION rf_csa2_1 ( v: t_csa2_1_vct ) RETURN t_csa2_1;
+ FUNCTION rf_csa3_1 ( v: t_csa3_1_vct ) RETURN t_csa3_1;
+ FUNCTION rf_csa4_1 ( v: t_csa4_1_vct ) RETURN t_csa4_1;
+ FUNCTION rf_cca1_1 ( v: t_cca1_1_vct ) RETURN t_cca1_1;
+ FUNCTION rf_cca1_2 ( v: t_cca1_2_vct ) RETURN t_cca1_2;
+ FUNCTION rf_cca1_3 ( v: t_cca1_3_vct ) RETURN t_cca1_3;
+ FUNCTION rf_cca1_4 ( v: t_cca1_4_vct ) RETURN t_cca1_4;
+ FUNCTION rf_cca2_1 ( v: t_cca2_1_vct ) RETURN t_cca2_1;
+ FUNCTION rf_cca2_2 ( v: t_cca2_2_vct ) RETURN t_cca2_2;
+ FUNCTION rf_cca3_1 ( v: t_cca3_1_vct ) RETURN t_cca3_1;
+ FUNCTION rf_cca3_2 ( v: t_cca3_2_vct ) RETURN t_cca3_2;
+ FUNCTION rf_cmre_1 ( v: t_cmre_1_vct ) RETURN t_cmre_1;
+ FUNCTION rf_cmre_2 ( v: t_cmre_2_vct ) RETURN t_cmre_2;
+ FUNCTION rf_cca1_7 ( v: t_cca1_7_vct ) RETURN t_cca1_7;
+ FUNCTION rf_cmre_3 ( v: t_cmre_3_vct ) RETURN t_cmre_3;
+--
+-- Resolved SUBTYPE declaration
+--
+ SUBTYPE rst_scre_1 IS rf_scre_1 t_scre_1 ;
+ SUBTYPE rst_csa1_1 IS rf_csa1_1 t_csa1_1 ;
+ SUBTYPE rst_csa1_2 IS rf_csa1_2 t_csa1_2 ;
+ SUBTYPE rst_csa1_3 IS rf_csa1_3 t_csa1_3 ;
+ SUBTYPE rst_csa1_4 IS rf_csa1_4 t_csa1_4 ;
+ SUBTYPE rst_csa2_1 IS rf_csa2_1 t_csa2_1 ;
+ SUBTYPE rst_csa3_1 IS rf_csa3_1 t_csa3_1 ;
+ SUBTYPE rst_csa4_1 IS rf_csa4_1 t_csa4_1 ;
+ SUBTYPE rst_cca1_1 IS rf_cca1_1 t_cca1_1 ;
+ SUBTYPE rst_cca1_2 IS rf_cca1_2 t_cca1_2 ;
+ SUBTYPE rst_cca1_3 IS rf_cca1_3 t_cca1_3 ;
+ SUBTYPE rst_cca1_4 IS rf_cca1_4 t_cca1_4 ;
+ SUBTYPE rst_cca2_1 IS rf_cca2_1 t_cca2_1 ;
+ SUBTYPE rst_cca2_2 IS rf_cca2_2 t_cca2_2 ;
+ SUBTYPE rst_cca3_1 IS rf_cca3_1 t_cca3_1 ;
+ SUBTYPE rst_cca3_2 IS rf_cca3_2 t_cca3_2 ;
+ SUBTYPE rst_cmre_1 IS rf_cmre_1 t_cmre_1 ;
+ SUBTYPE rst_cmre_2 IS rf_cmre_2 t_cmre_2 ;
+ SUBTYPE rst_cca1_7 IS rf_cca1_7 t_cca1_7 ;
+ SUBTYPE rst_cmre_3 IS rf_cmre_3 t_cmre_3 ;
+--
+-- Functions declarations for multi-dimensional comosite values
+--
+ FUNCTION F_csa2_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa2_1 ;
+ FUNCTION F_csa3_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa3_1 ;
+ FUNCTION F_csa4_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa4_1 ;
+ FUNCTION F_cca2_2 ( v0,v2 : IN t_csa2_1 ) RETURN t_cca2_2 ;
+ FUNCTION F_cca3_1 ( v0,v2 : IN t_csa1_1 ) RETURN t_cca3_1 ;
+
+-- -------------------------------------------------------------------------------------------
+-- Data values for Composite Types
+-- -------------------------------------------------------------------------------------------
+ CONSTANT CX_scl1 : st_scl1 := 'X' ;
+ CONSTANT C0_scl1 : st_scl1 := st_scl1'LEFT ;
+ CONSTANT C1_scl1 : st_scl1 := 'A' ;
+ CONSTANT C2_scl1 : st_scl1 := 'Z' ;
+
+ CONSTANT CX_scl2 : TIME := 99 fs ;
+ CONSTANT C0_scl2 : TIME := TIME'LEFT ;
+ CONSTANT C1_scl2 : TIME := 0 fs;
+ CONSTANT C2_scl2 : TIME := 2 ns;
+
+ CONSTANT CX_scl3 : st_scl3 := 15 ;
+ CONSTANT C0_scl3 : st_scl3 := st_scl3'LEFT ;
+ CONSTANT C1_scl3 : st_scl3 := 6 ;
+ CONSTANT C2_scl3 : st_scl3 := 8 ;
+
+ CONSTANT CX_scl4 : st_scl4 := 99.9 ;
+ CONSTANT C0_scl4 : st_scl4 := st_scl4'LEFT ;
+ CONSTANT C1_scl4 : st_scl4 := 1.0 ;
+ CONSTANT C2_scl4 : st_scl4 := 2.1 ;
+
+ CONSTANT CX_scre_1 : t_scre_1 := ( CX_scl1, CX_scl2, CX_scl3, CX_scl4 );
+ CONSTANT C0_scre_1 : t_scre_1 := ( C0_scl1, C0_scl2, C0_scl3, C0_scl4 );
+ CONSTANT C1_scre_1 : t_scre_1 := ( C1_scl1, C1_scl2, C1_scl3, C1_scl4 );
+ CONSTANT C2_scre_1 : t_scre_1 := ( C2_scl1, C0_scl2, C0_scl3, C2_scl4 );
+
+ CONSTANT CX_csa1_1 : t_csa1_1 := ( OTHERS=>CX_scl1);
+ CONSTANT C0_csa1_1 : t_csa1_1 := ( OTHERS=>C0_scl1);
+ CONSTANT C1_csa1_1 : t_csa1_1 := ( OTHERS=>C1_scl1);
+ CONSTANT C2_csa1_1 : t_csa1_1 := ( t_csa1_1'LEFT|t_csa1_1'RIGHT=>C2_scl1,
+ OTHERS =>C0_scl1);
+
+ CONSTANT CX_csa1_2 : t_csa1_2 := ( OTHERS=>CX_scl2);
+ CONSTANT C0_csa1_2 : t_csa1_2 := ( OTHERS=>C0_scl2);
+ CONSTANT C1_csa1_2 : t_csa1_2 := ( OTHERS=>C1_scl2);
+ CONSTANT C2_csa1_2 : t_csa1_2 := ( t_csa1_2'LEFT|t_csa1_2'RIGHT=>C2_scl2,
+ OTHERS =>C0_scl2);
+
+ CONSTANT CX_csa1_3 : t_csa1_3 := ( OTHERS=>CX_scl3);
+ CONSTANT C0_csa1_3 : t_csa1_3 := ( OTHERS=>C0_scl3);
+ CONSTANT C1_csa1_3 : t_csa1_3 := ( OTHERS=>C1_scl3);
+ CONSTANT C2_csa1_3 : t_csa1_3 := ( t_csa1_3'LEFT|t_csa1_3'RIGHT=>C2_scl3,
+ OTHERS =>C0_scl3);
+
+ CONSTANT CX_csa1_4 : t_csa1_4 := ( OTHERS=>CX_scl4);
+ CONSTANT C0_csa1_4 : t_csa1_4 := ( OTHERS=>C0_scl4);
+ CONSTANT C1_csa1_4 : t_csa1_4 := ( OTHERS=>C1_scl4);
+ CONSTANT C2_csa1_4 : t_csa1_4 := ( t_csa1_4'LEFT|t_csa1_4'RIGHT=>C2_scl4,
+ OTHERS =>C0_scl4);
+--
+ CONSTANT CX_csa2_1 : t_csa2_1 ;
+ CONSTANT C0_csa2_1 : t_csa2_1 ;
+ CONSTANT C1_csa2_1 : t_csa2_1 ;
+ CONSTANT C2_csa2_1 : t_csa2_1 ;
+
+ CONSTANT CX_csa3_1 : t_csa3_1 ;
+ CONSTANT C0_csa3_1 : t_csa3_1 ;
+ CONSTANT C1_csa3_1 : t_csa3_1 ;
+ CONSTANT C2_csa3_1 : t_csa3_1 ;
+
+ CONSTANT CX_csa4_1 : t_csa4_1 ;
+ CONSTANT C0_csa4_1 : t_csa4_1 ;
+ CONSTANT C1_csa4_1 : t_csa4_1 ;
+ CONSTANT C2_csa4_1 : t_csa4_1 ;
+--
+ CONSTANT CX_cca1_1 : t_cca1_1 := ( OTHERS=>CX_scre_1 );
+ CONSTANT C0_cca1_1 : t_cca1_1 := ( OTHERS=>C0_scre_1 );
+ CONSTANT C1_cca1_1 : t_cca1_1 := ( OTHERS=>C1_scre_1 );
+ CONSTANT C2_cca1_1 : t_cca1_1 := ( C2_scre_1, C0_scre_1, C0_scre_1, C0_scre_1,
+ C0_scre_1, C0_scre_1, C0_scre_1, C2_scre_1 );
+ CONSTANT CX_cca1_2 : t_cca1_2 := ( OTHERS=>CX_csa1_1 );
+ CONSTANT C0_cca1_2 : t_cca1_2 := ( OTHERS=>C0_csa1_1 );
+ CONSTANT C1_cca1_2 : t_cca1_2 := ( OTHERS=>C1_csa1_1 );
+ CONSTANT C2_cca1_2 : t_cca1_2 := ( C2_csa1_1, C0_csa1_1, C0_csa1_1, C2_csa1_1 );
+ CONSTANT CX_cca1_3 : t_cca1_3 := ( OTHERS=>CX_cca1_2 );
+ CONSTANT C0_cca1_3 : t_cca1_3 := ( OTHERS=>C0_cca1_2 );
+ CONSTANT C1_cca1_3 : t_cca1_3 := ( OTHERS=>C1_cca1_2 );
+ CONSTANT C2_cca1_3 : t_cca1_3 := ( C2_cca1_2, C0_cca1_2, C0_cca1_2, C2_cca1_2 );
+ CONSTANT CX_cca1_4 : t_cca1_4 := ( OTHERS=>CX_cca1_3 );
+ CONSTANT C0_cca1_4 : t_cca1_4 := ( OTHERS=>C0_cca1_3 );
+ CONSTANT C1_cca1_4 : t_cca1_4 := ( OTHERS=>C1_cca1_3 );
+ CONSTANT C2_cca1_4 : t_cca1_4 := ( C2_cca1_3, C0_cca1_3, C0_cca1_3, C2_cca1_3 );
+ CONSTANT CX_cca2_1 : t_cca2_1 ;
+ CONSTANT C0_cca2_1 : t_cca2_1 ;
+ CONSTANT C1_cca2_1 : t_cca2_1 ;
+ CONSTANT C2_cca2_1 : t_cca2_1 ;
+--
+ CONSTANT CX_cca2_2 : t_cca2_2 ;
+ CONSTANT C0_cca2_2 : t_cca2_2 ;
+ CONSTANT C1_cca2_2 : t_cca2_2 ;
+ CONSTANT C2_cca2_2 : t_cca2_2 ;
+
+ CONSTANT CX_cca3_1 : t_cca3_1 ;
+ CONSTANT C0_cca3_1 : t_cca3_1 ;
+ CONSTANT C1_cca3_1 : t_cca3_1 ;
+ CONSTANT C2_cca3_1 : t_cca3_1 ;
+--
+ CONSTANT CX_cca3_2 : t_cca3_2 ;
+ CONSTANT C0_cca3_2 : t_cca3_2 ;
+ CONSTANT C1_cca3_2 : t_cca3_2 ;
+ CONSTANT C2_cca3_2 : t_cca3_2 ;
+
+ CONSTANT CX_cmre_1 : t_cmre_1 := ( CX_csa1_1, CX_scre_1 );
+ CONSTANT C0_cmre_1 : t_cmre_1 := ( C0_csa1_1, C0_scre_1 );
+ CONSTANT C1_cmre_1 : t_cmre_1 := ( C1_csa1_1, C1_scre_1 );
+ CONSTANT C2_cmre_1 : t_cmre_1 := ( C2_csa1_1, C0_scre_1 );
+
+ CONSTANT CX_cmre_2 : t_cmre_2 := ( OTHERS=>CX_csa1_1 );
+ CONSTANT C0_cmre_2 : t_cmre_2 := ( OTHERS=>C0_csa1_1 );
+ CONSTANT C1_cmre_2 : t_cmre_2 := ( OTHERS=>C1_csa1_1 );
+ CONSTANT C2_cmre_2 : t_cmre_2 := ( left|right=>C2_csa1_1, OTHERS=>C0_csa1_1 );
+
+ CONSTANT CX_cca1_7 : t_cca1_7 := ( OTHERS=>CX_cmre_2 );
+ CONSTANT C0_cca1_7 : t_cca1_7 := ( OTHERS=>C0_cmre_2 );
+ CONSTANT C1_cca1_7 : t_cca1_7 := ( OTHERS=>C1_cmre_2 );
+ CONSTANT C2_cca1_7 : t_cca1_7 := ( C2_cmre_2, C0_cmre_2, C0_cmre_2, C2_cmre_2 );
+ CONSTANT CX_cmre_3 : t_cmre_3 := ( OTHERS=>CX_cca1_7 );
+ CONSTANT C0_cmre_3 : t_cmre_3 := ( OTHERS=>C0_cca1_7 );
+ CONSTANT C1_cmre_3 : t_cmre_3 := ( OTHERS=>C1_cca1_7 );
+ CONSTANT C2_cmre_3 : t_cmre_3 := ( left|right=>C2_cca1_7, OTHERS=>C0_cca1_7 );
+
+-- --------------------------------------------------------------------------------------------
+-- Functions for mapping from integer test values to/from values of the Test types
+-- --------------------------------------------------------------------------------------------
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl1;
+ FUNCTION val_t ( i : INTEGER ) RETURN TIME;
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl3;
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl4;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_scre_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_2;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_3;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_4;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa2_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa3_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa4_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_2;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_3;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_4;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca2_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca2_2;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca3_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca3_2;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_1;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_2;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_7;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_3;
+
+ FUNCTION val_i ( i : st_scl1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : TIME ) RETURN INTEGER;
+ FUNCTION val_i ( i : st_scl3 ) RETURN INTEGER;
+ FUNCTION val_i ( i : st_scl4 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_scre_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa1_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa1_2 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa1_3 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa1_4 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa2_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa3_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_csa4_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca1_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca1_2 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca1_3 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca1_4 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca2_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca2_2 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca3_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca3_2 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cmre_1 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cmre_2 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cca1_7 ) RETURN INTEGER;
+ FUNCTION val_i ( i : t_cmre_3 ) RETURN INTEGER;
+
+ FUNCTION val_s ( i : st_scl1 ) RETURN STRING;
+ FUNCTION val_s ( i : TIME ) RETURN STRING;
+ FUNCTION val_s ( i : st_scl3 ) RETURN STRING;
+ FUNCTION val_s ( i : st_scl4 ) RETURN STRING;
+ FUNCTION val_s ( i : t_scre_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa1_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa1_2 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa1_3 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa1_4 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa2_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa3_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_csa4_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca1_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca1_2 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca1_3 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca1_4 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca2_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca2_2 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca3_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca3_2 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cmre_1 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cmre_2 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cca1_7 ) RETURN STRING;
+ FUNCTION val_s ( i : t_cmre_3 ) RETURN STRING;
+
+END;
+
+PACKAGE BODY c03s03b00x00p03n04i00521pkg IS
+
+ CONSTANT CX_csa2_1 : t_csa2_1 := F_csa2_1 ( CX_scl1, CX_scl1 );
+ CONSTANT C0_csa2_1 : t_csa2_1 := F_csa2_1 ( C0_scl1, C0_scl1 );
+ CONSTANT C1_csa2_1 : t_csa2_1 := F_csa2_1 ( C1_scl1, C1_scl1 );
+ CONSTANT C2_csa2_1 : t_csa2_1 := F_csa2_1 ( C0_scl1, C2_scl1 );
+
+ CONSTANT CX_csa3_1 : t_csa3_1 := F_csa3_1 ( CX_scl1, CX_scl1 );
+ CONSTANT C0_csa3_1 : t_csa3_1 := F_csa3_1 ( C0_scl1, C0_scl1 );
+ CONSTANT C1_csa3_1 : t_csa3_1 := F_csa3_1 ( C1_scl1, C1_scl1 );
+ CONSTANT C2_csa3_1 : t_csa3_1 := F_csa3_1 ( C0_scl1, C2_scl1 );
+
+ CONSTANT CX_csa4_1 : t_csa4_1 := F_csa4_1 ( CX_scl1, CX_scl1 );
+ CONSTANT C0_csa4_1 : t_csa4_1 := F_csa4_1 ( C0_scl1, C0_scl1 );
+ CONSTANT C1_csa4_1 : t_csa4_1 := F_csa4_1 ( C1_scl1, C1_scl1 );
+ CONSTANT C2_csa4_1 : t_csa4_1 := F_csa4_1 ( C0_scl1, C2_scl1 );
+
+ CONSTANT CX_cca2_1 : t_cca2_1 := ( OTHERS=>CX_csa2_1 );
+ CONSTANT C0_cca2_1 : t_cca2_1 := ( OTHERS=>C0_csa2_1 );
+ CONSTANT C1_cca2_1 : t_cca2_1 := ( OTHERS=>C1_csa2_1 );
+ CONSTANT C2_cca2_1 : t_cca2_1 := ( C2_csa2_1, C0_csa2_1, C0_csa2_1, C2_csa2_1 );
+ CONSTANT CX_cca2_2 : t_cca2_2 := F_cca2_2 ( CX_csa2_1, CX_csa2_1 );
+ CONSTANT C0_cca2_2 : t_cca2_2 := F_cca2_2 ( C0_csa2_1, C0_csa2_1 );
+ CONSTANT C1_cca2_2 : t_cca2_2 := F_cca2_2 ( C1_csa2_1, C1_csa2_1 );
+ CONSTANT C2_cca2_2 : t_cca2_2 := F_cca2_2 ( C0_csa2_1, C2_csa2_1 );
+
+ CONSTANT CX_cca3_1 : t_cca3_1 := F_cca3_1 ( CX_csa1_1, CX_csa1_1 );
+ CONSTANT C0_cca3_1 : t_cca3_1 := F_cca3_1 ( C0_csa1_1, C0_csa1_1 );
+ CONSTANT C1_cca3_1 : t_cca3_1 := F_cca3_1 ( C1_csa1_1, C1_csa1_1 );
+ CONSTANT C2_cca3_1 : t_cca3_1 := F_cca3_1 ( C0_csa1_1, C2_csa1_1 );
+
+ CONSTANT CX_cca3_2 : t_cca3_2 := ( OTHERS=>CX_csa3_1 );
+ CONSTANT C0_cca3_2 : t_cca3_2 := ( OTHERS=>C0_csa3_1 );
+ CONSTANT C1_cca3_2 : t_cca3_2 := ( OTHERS=>C1_csa3_1 );
+ CONSTANT C2_cca3_2 : t_cca3_2 := ( C2_csa3_1, C0_csa3_1, C0_csa3_1, C2_csa3_1 );
+--
+-- Functions to provide values for multi-dimensional composites
+--
+ FUNCTION F_csa2_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa2_1 IS
+ VARIABLE res : t_csa2_1;
+ BEGIN
+ FOR i IN res'RANGE(1) LOOP
+ FOR j IN res'RANGE(2) LOOP
+ res(i,j) := v0;
+ END LOOP;
+ END LOOP;
+ res(res'left (1),res'left (2)) := v2;
+ res(res'left (1),res'right(2)) := v2;
+ res(res'right(1),res'left (2)) := v2;
+ res(res'right(1),res'right(2)) := v2;
+ RETURN res;
+ END;
+
+ FUNCTION F_csa3_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa3_1 IS
+ VARIABLE res : t_csa3_1;
+ BEGIN
+ FOR i IN res'RANGE(1) LOOP
+ FOR j IN res'RANGE(2) LOOP
+ FOR k IN res'RANGE(3) LOOP
+ res(i,j,k) := v0;
+ END LOOP;
+ END LOOP;
+ END LOOP;
+ res(res'left (1),res'left (2),res'left (3)) := v2;
+ res(res'right(1),res'left (2),res'left (3)) := v2;
+ res(res'left (1),res'right(2),res'left (3)) := v2;
+ res(res'right(1),res'right(2),res'left (3)) := v2;
+ res(res'left (1),res'left (2),res'right(3)) := v2;
+ res(res'right(1),res'left (2),res'right(3)) := v2;
+ res(res'left (1),res'right(2),res'right(3)) := v2;
+ res(res'right(1),res'right(2),res'right(3)) := v2;
+ RETURN res;
+ END;
+
+ FUNCTION F_csa4_1 ( v0,v2 : IN st_scl1 ) RETURN t_csa4_1 IS
+ VARIABLE res : t_csa4_1;
+ BEGIN
+ FOR i IN res'RANGE(1) LOOP
+ FOR j IN res'RANGE(2) LOOP
+ FOR k IN res'RANGE(3) LOOP
+ FOR l IN res'RANGE(4) LOOP
+ res(i,j,k,l) := v0;
+ END LOOP;
+ END LOOP;
+ END LOOP;
+ END LOOP;
+ res(res'left (1),res'left (2),res'left (3),res'left (4)) := v2;
+ res(res'right(1),res'left (2),res'left (3),res'left (4)) := v2;
+ res(res'left (1),res'right(2),res'left (3),res'left (4)) := v2;
+ res(res'right(1),res'right(2),res'left (3),res'left (4)) := v2;
+ res(res'left (1),res'left (2),res'right(3),res'left (4)) := v2;
+ res(res'right(1),res'left (2),res'right(3),res'left (4)) := v2;
+ res(res'left (1),res'right(2),res'right(3),res'left (4)) := v2;
+ res(res'right(1),res'right(2),res'right(3),res'left (4)) := v2;
+ res(res'left (1),res'left (2),res'left (3),res'right(4)) := v2;
+ res(res'right(1),res'left (2),res'left (3),res'right(4)) := v2;
+ res(res'left (1),res'right(2),res'left (3),res'right(4)) := v2;
+ res(res'right(1),res'right(2),res'left (3),res'right(4)) := v2;
+ res(res'left (1),res'left (2),res'right(3),res'right(4)) := v2;
+ res(res'right(1),res'left (2),res'right(3),res'right(4)) := v2;
+ res(res'left (1),res'right(2),res'right(3),res'right(4)) := v2;
+ res(res'right(1),res'right(2),res'right(3),res'right(4)) := v2;
+ RETURN res;
+ END;
+
+ FUNCTION F_cca2_2 ( v0,v2 : IN t_csa2_1 ) RETURN t_cca2_2 IS
+ VARIABLE res : t_cca2_2;
+ BEGIN
+ FOR i IN res'RANGE(1) LOOP
+ FOR j IN res'RANGE(2) LOOP
+ res(i,j) := v0;
+ END LOOP;
+ END LOOP;
+ res(res'left (1),res'left (2)) := v2;
+ res(res'left (1),res'right(2)) := v2;
+ res(res'right(1),res'left (2)) := v2;
+ res(res'right(1),res'right(2)) := v2;
+ RETURN res;
+ END;
+
+ FUNCTION F_cca3_1 ( v0,v2 : IN t_csa1_1 ) RETURN t_cca3_1 IS
+ VARIABLE res : t_cca3_1;
+ BEGIN
+ FOR i IN res'RANGE(1) LOOP
+ FOR j IN res'RANGE(2) LOOP
+ FOR k IN res'RANGE(3) LOOP
+ res(i,j,k) := v0;
+ END LOOP;
+ END LOOP;
+ END LOOP;
+ res(res'left (1),res'left (2),res'left (3)) := v2;
+ res(res'right(1),res'left (2),res'left (3)) := v2;
+ res(res'left (1),res'right(2),res'left (3)) := v2;
+ res(res'right(1),res'right(2),res'left (3)) := v2;
+ res(res'left (1),res'left (2),res'right(3)) := v2;
+ res(res'right(1),res'left (2),res'right(3)) := v2;
+ res(res'left (1),res'right(2),res'right(3)) := v2;
+ res(res'right(1),res'right(2),res'right(3)) := v2;
+ RETURN res;
+ END;
+
+--
+-- Resolution Functions
+--
+ FUNCTION rf_scre_1 ( v: t_scre_1_vct ) RETURN t_scre_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_scre_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa1_1 ( v: t_csa1_1_vct ) RETURN t_csa1_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa1_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+ FUNCTION rf_csa1_2 ( v: t_csa1_2_vct ) RETURN t_csa1_2 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa1_2;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa1_3 ( v: t_csa1_3_vct ) RETURN t_csa1_3 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa1_3;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa1_4 ( v: t_csa1_4_vct ) RETURN t_csa1_4 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa1_4;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa2_1 ( v: t_csa2_1_vct ) RETURN t_csa2_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa2_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa3_1 ( v: t_csa3_1_vct ) RETURN t_csa3_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa3_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_csa4_1 ( v: t_csa4_1_vct ) RETURN t_csa4_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_csa4_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca1_1 ( v: t_cca1_1_vct ) RETURN t_cca1_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca1_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca1_2 ( v: t_cca1_2_vct ) RETURN t_cca1_2 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca1_2;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca1_3 ( v: t_cca1_3_vct ) RETURN t_cca1_3 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca1_3;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca1_4 ( v: t_cca1_4_vct ) RETURN t_cca1_4 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca1_4;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca2_1 ( v: t_cca2_1_vct ) RETURN t_cca2_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca2_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca2_2 ( v: t_cca2_2_vct ) RETURN t_cca2_2 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca2_2;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca3_1 ( v: t_cca3_1_vct ) RETURN t_cca3_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca3_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca3_2 ( v: t_cca3_2_vct ) RETURN t_cca3_2 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca3_2;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cmre_1 ( v: t_cmre_1_vct ) RETURN t_cmre_1 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cmre_1;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cmre_2 ( v: t_cmre_2_vct ) RETURN t_cmre_2 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cmre_2;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cca1_7 ( v: t_cca1_7_vct ) RETURN t_cca1_7 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cca1_7;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+
+ FUNCTION rf_cmre_3 ( v: t_cmre_3_vct ) RETURN t_cmre_3 IS
+ BEGIN
+ IF v'LENGTH=0
+ THEN RETURN CX_cmre_3;
+ ELSE RETURN v(1);
+ END IF;
+ END;
+--
+--
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_scl1; END IF;
+ IF i = 1 THEN RETURN C1_scl1; END IF;
+ IF i = 2 THEN RETURN C2_scl1; END IF;
+ RETURN CX_scl1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN TIME IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_scl2; END IF;
+ IF i = 1 THEN RETURN C1_scl2; END IF;
+ IF i = 2 THEN RETURN C2_scl2; END IF;
+ RETURN CX_scl2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl3 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_scl3; END IF;
+ IF i = 1 THEN RETURN C1_scl3; END IF;
+ IF i = 2 THEN RETURN C2_scl3; END IF;
+ RETURN CX_scl3;
+ END;
+
+ FUNCTION val_t ( i : INTEGER ) RETURN st_scl4 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_scl4; END IF;
+ IF i = 1 THEN RETURN C1_scl4; END IF;
+ IF i = 2 THEN RETURN C2_scl4; END IF;
+ RETURN CX_scl4;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_scre_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_scre_1; END IF;
+ IF i = 1 THEN RETURN C1_scre_1; END IF;
+ IF i = 2 THEN RETURN C2_scre_1; END IF;
+ RETURN CX_scre_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa1_1; END IF;
+ IF i = 1 THEN RETURN C1_csa1_1; END IF;
+ IF i = 2 THEN RETURN C2_csa1_1; END IF;
+ RETURN CX_csa1_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_2 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa1_2; END IF;
+ IF i = 1 THEN RETURN C1_csa1_2; END IF;
+ IF i = 2 THEN RETURN C2_csa1_2; END IF;
+ RETURN CX_csa1_2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_3 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa1_3; END IF;
+ IF i = 1 THEN RETURN C1_csa1_3; END IF;
+ IF i = 2 THEN RETURN C2_csa1_3; END IF;
+ RETURN CX_csa1_3;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa1_4 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa1_4; END IF;
+ IF i = 1 THEN RETURN C1_csa1_4; END IF;
+ IF i = 2 THEN RETURN C2_csa1_4; END IF;
+ RETURN CX_csa1_4;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa2_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa2_1; END IF;
+ IF i = 1 THEN RETURN C1_csa2_1; END IF;
+ IF i = 2 THEN RETURN C2_csa2_1; END IF;
+ RETURN CX_csa2_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa3_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa3_1; END IF;
+ IF i = 1 THEN RETURN C1_csa3_1; END IF;
+ IF i = 2 THEN RETURN C2_csa3_1; END IF;
+ RETURN CX_csa3_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_csa4_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_csa4_1; END IF;
+ IF i = 1 THEN RETURN C1_csa4_1; END IF;
+ IF i = 2 THEN RETURN C2_csa4_1; END IF;
+ RETURN CX_csa4_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca1_1; END IF;
+ IF i = 1 THEN RETURN C1_cca1_1; END IF;
+ IF i = 2 THEN RETURN C2_cca1_1; END IF;
+ RETURN CX_cca1_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_2 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca1_2; END IF;
+ IF i = 1 THEN RETURN C1_cca1_2; END IF;
+ IF i = 2 THEN RETURN C2_cca1_2; END IF;
+ RETURN CX_cca1_2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_3 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca1_3; END IF;
+ IF i = 1 THEN RETURN C1_cca1_3; END IF;
+ IF i = 2 THEN RETURN C2_cca1_3; END IF;
+ RETURN CX_cca1_3;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_4 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca1_4; END IF;
+ IF i = 1 THEN RETURN C1_cca1_4; END IF;
+ IF i = 2 THEN RETURN C2_cca1_4; END IF;
+ RETURN CX_cca1_4;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca2_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca2_1; END IF;
+ IF i = 1 THEN RETURN C1_cca2_1; END IF;
+ IF i = 2 THEN RETURN C2_cca2_1; END IF;
+ RETURN CX_cca2_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca2_2 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca2_2; END IF;
+ IF i = 1 THEN RETURN C1_cca2_2; END IF;
+ IF i = 2 THEN RETURN C2_cca2_2; END IF;
+ RETURN CX_cca2_2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca3_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca3_1; END IF;
+ IF i = 1 THEN RETURN C1_cca3_1; END IF;
+ IF i = 2 THEN RETURN C2_cca3_1; END IF;
+ RETURN CX_cca3_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca3_2 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca3_2; END IF;
+ IF i = 1 THEN RETURN C1_cca3_2; END IF;
+ IF i = 2 THEN RETURN C2_cca3_2; END IF;
+ RETURN CX_cca3_2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_1 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cmre_1; END IF;
+ IF i = 1 THEN RETURN C1_cmre_1; END IF;
+ IF i = 2 THEN RETURN C2_cmre_1; END IF;
+ RETURN CX_cmre_1;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_2 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cmre_2; END IF;
+ IF i = 1 THEN RETURN C1_cmre_2; END IF;
+ IF i = 2 THEN RETURN C2_cmre_2; END IF;
+ RETURN CX_cmre_2;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cca1_7 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cca1_7; END IF;
+ IF i = 1 THEN RETURN C1_cca1_7; END IF;
+ IF i = 2 THEN RETURN C2_cca1_7; END IF;
+ RETURN CX_cca1_7;
+ END;
+ FUNCTION val_t ( i : INTEGER ) RETURN t_cmre_3 IS
+ BEGIN
+ IF i = 0 THEN RETURN C0_cmre_3; END IF;
+ IF i = 1 THEN RETURN C1_cmre_3; END IF;
+ IF i = 2 THEN RETURN C2_cmre_3; END IF;
+ RETURN CX_cmre_3;
+ END;
+--
+--
+ FUNCTION val_i ( i : st_scl1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_scl1 THEN RETURN 0; END IF;
+ IF i = C1_scl1 THEN RETURN 1; END IF;
+ IF i = C2_scl1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : TIME ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_scl2 THEN RETURN 0; END IF;
+ IF i = C1_scl2 THEN RETURN 1; END IF;
+ IF i = C2_scl2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : st_scl3 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_scl3 THEN RETURN 0; END IF;
+ IF i = C1_scl3 THEN RETURN 1; END IF;
+ IF i = C2_scl3 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : st_scl4 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_scl4 THEN RETURN 0; END IF;
+ IF i = C1_scl4 THEN RETURN 1; END IF;
+ IF i = C2_scl4 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_scre_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_scre_1 THEN RETURN 0; END IF;
+ IF i = C1_scre_1 THEN RETURN 1; END IF;
+ IF i = C2_scre_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa1_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa1_1 THEN RETURN 0; END IF;
+ IF i = C1_csa1_1 THEN RETURN 1; END IF;
+ IF i = C2_csa1_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa1_2 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa1_2 THEN RETURN 0; END IF;
+ IF i = C1_csa1_2 THEN RETURN 1; END IF;
+ IF i = C2_csa1_2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa1_3 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa1_3 THEN RETURN 0; END IF;
+ IF i = C1_csa1_3 THEN RETURN 1; END IF;
+ IF i = C2_csa1_3 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa1_4 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa1_4 THEN RETURN 0; END IF;
+ IF i = C1_csa1_4 THEN RETURN 1; END IF;
+ IF i = C2_csa1_4 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa2_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa2_1 THEN RETURN 0; END IF;
+ IF i = C1_csa2_1 THEN RETURN 1; END IF;
+ IF i = C2_csa2_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa3_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa3_1 THEN RETURN 0; END IF;
+ IF i = C1_csa3_1 THEN RETURN 1; END IF;
+ IF i = C2_csa3_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_csa4_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_csa4_1 THEN RETURN 0; END IF;
+ IF i = C1_csa4_1 THEN RETURN 1; END IF;
+ IF i = C2_csa4_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca1_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca1_1 THEN RETURN 0; END IF;
+ IF i = C1_cca1_1 THEN RETURN 1; END IF;
+ IF i = C2_cca1_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca1_2 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca1_2 THEN RETURN 0; END IF;
+ IF i = C1_cca1_2 THEN RETURN 1; END IF;
+ IF i = C2_cca1_2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca1_3 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca1_3 THEN RETURN 0; END IF;
+ IF i = C1_cca1_3 THEN RETURN 1; END IF;
+ IF i = C2_cca1_3 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca1_4 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca1_4 THEN RETURN 0; END IF;
+ IF i = C1_cca1_4 THEN RETURN 1; END IF;
+ IF i = C2_cca1_4 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca2_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca2_1 THEN RETURN 0; END IF;
+ IF i = C1_cca2_1 THEN RETURN 1; END IF;
+ IF i = C2_cca2_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca2_2 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca2_2 THEN RETURN 0; END IF;
+ IF i = C1_cca2_2 THEN RETURN 1; END IF;
+ IF i = C2_cca2_2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca3_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca3_1 THEN RETURN 0; END IF;
+ IF i = C1_cca3_1 THEN RETURN 1; END IF;
+ IF i = C2_cca3_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca3_2 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca3_2 THEN RETURN 0; END IF;
+ IF i = C1_cca3_2 THEN RETURN 1; END IF;
+ IF i = C2_cca3_2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cmre_1 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cmre_1 THEN RETURN 0; END IF;
+ IF i = C1_cmre_1 THEN RETURN 1; END IF;
+ IF i = C2_cmre_1 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cmre_2 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cmre_2 THEN RETURN 0; END IF;
+ IF i = C1_cmre_2 THEN RETURN 1; END IF;
+ IF i = C2_cmre_2 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cca1_7 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cca1_7 THEN RETURN 0; END IF;
+ IF i = C1_cca1_7 THEN RETURN 1; END IF;
+ IF i = C2_cca1_7 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+ FUNCTION val_i ( i : t_cmre_3 ) RETURN INTEGER IS
+ BEGIN
+ IF i = C0_cmre_3 THEN RETURN 0; END IF;
+ IF i = C1_cmre_3 THEN RETURN 1; END IF;
+ IF i = C2_cmre_3 THEN RETURN 2; END IF;
+ RETURN -1;
+ END;
+
+ FUNCTION val_s ( i : st_scl1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_scl1 THEN RETURN "C0_scl1"; END IF;
+ IF i = C1_scl1 THEN RETURN "C1_scl1"; END IF;
+ IF i = C2_scl1 THEN RETURN "C2_scl1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : TIME ) RETURN STRING IS
+ BEGIN
+ IF i = C0_scl2 THEN RETURN "C0_scl2"; END IF;
+ IF i = C1_scl2 THEN RETURN "C1_scl2"; END IF;
+ IF i = C2_scl2 THEN RETURN "C2_scl2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : st_scl3 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_scl3 THEN RETURN "C0_scl3"; END IF;
+ IF i = C1_scl3 THEN RETURN "C1_scl3"; END IF;
+ IF i = C2_scl3 THEN RETURN "C2_scl3"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : st_scl4 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_scl4 THEN RETURN "C0_scl4"; END IF;
+ IF i = C1_scl4 THEN RETURN "C1_scl4"; END IF;
+ IF i = C2_scl4 THEN RETURN "C2_scl4"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_scre_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_scre_1 THEN RETURN "C0_scre_1"; END IF;
+ IF i = C1_scre_1 THEN RETURN "C1_scre_1"; END IF;
+ IF i = C2_scre_1 THEN RETURN "C2_scre_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa1_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa1_1 THEN RETURN "C0_csa1_1"; END IF;
+ IF i = C1_csa1_1 THEN RETURN "C1_csa1_1"; END IF;
+ IF i = C2_csa1_1 THEN RETURN "C2_csa1_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa1_2 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa1_2 THEN RETURN "C0_csa1_2"; END IF;
+ IF i = C1_csa1_2 THEN RETURN "C1_csa1_2"; END IF;
+ IF i = C2_csa1_2 THEN RETURN "C2_csa1_2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa1_3 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa1_3 THEN RETURN "C0_csa1_3"; END IF;
+ IF i = C1_csa1_3 THEN RETURN "C1_csa1_3"; END IF;
+ IF i = C2_csa1_3 THEN RETURN "C2_csa1_3"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa1_4 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa1_4 THEN RETURN "C0_csa1_4"; END IF;
+ IF i = C1_csa1_4 THEN RETURN "C1_csa1_4"; END IF;
+ IF i = C2_csa1_4 THEN RETURN "C2_csa1_4"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa2_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa2_1 THEN RETURN "C0_csa2_1"; END IF;
+ IF i = C1_csa2_1 THEN RETURN "C1_csa2_1"; END IF;
+ IF i = C2_csa2_1 THEN RETURN "C2_csa2_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa3_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa3_1 THEN RETURN "C0_csa3_1"; END IF;
+ IF i = C1_csa3_1 THEN RETURN "C1_csa3_1"; END IF;
+ IF i = C2_csa3_1 THEN RETURN "C2_csa3_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_csa4_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_csa4_1 THEN RETURN "C0_csa4_1"; END IF;
+ IF i = C1_csa4_1 THEN RETURN "C1_csa4_1"; END IF;
+ IF i = C2_csa4_1 THEN RETURN "C2_csa4_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca1_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca1_1 THEN RETURN "C0_cca1_1"; END IF;
+ IF i = C1_cca1_1 THEN RETURN "C1_cca1_1"; END IF;
+ IF i = C2_cca1_1 THEN RETURN "C2_cca1_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca1_2 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca1_2 THEN RETURN "C0_cca1_2"; END IF;
+ IF i = C1_cca1_2 THEN RETURN "C1_cca1_2"; END IF;
+ IF i = C2_cca1_2 THEN RETURN "C2_cca1_2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca1_3 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca1_3 THEN RETURN "C0_cca1_3"; END IF;
+ IF i = C1_cca1_3 THEN RETURN "C1_cca1_3"; END IF;
+ IF i = C2_cca1_3 THEN RETURN "C2_cca1_3"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca1_4 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca1_4 THEN RETURN "C0_cca1_4"; END IF;
+ IF i = C1_cca1_4 THEN RETURN "C1_cca1_4"; END IF;
+ IF i = C2_cca1_4 THEN RETURN "C2_cca1_4"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca2_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca2_1 THEN RETURN "C0_cca2_1"; END IF;
+ IF i = C1_cca2_1 THEN RETURN "C1_cca2_1"; END IF;
+ IF i = C2_cca2_1 THEN RETURN "C2_cca2_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca2_2 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca2_2 THEN RETURN "C0_cca2_2"; END IF;
+ IF i = C1_cca2_2 THEN RETURN "C1_cca2_2"; END IF;
+ IF i = C2_cca2_2 THEN RETURN "C2_cca2_2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca3_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca3_1 THEN RETURN "C0_cca3_1"; END IF;
+ IF i = C1_cca3_1 THEN RETURN "C1_cca3_1"; END IF;
+ IF i = C2_cca3_1 THEN RETURN "C2_cca3_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca3_2 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca3_2 THEN RETURN "C0_cca3_2"; END IF;
+ IF i = C1_cca3_2 THEN RETURN "C1_cca3_2"; END IF;
+ IF i = C2_cca3_2 THEN RETURN "C2_cca3_2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cmre_1 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cmre_1 THEN RETURN "C0_cmre_1"; END IF;
+ IF i = C1_cmre_1 THEN RETURN "C1_cmre_1"; END IF;
+ IF i = C2_cmre_1 THEN RETURN "C2_cmre_1"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cmre_2 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cmre_2 THEN RETURN "C0_cmre_2"; END IF;
+ IF i = C1_cmre_2 THEN RETURN "C1_cmre_2"; END IF;
+ IF i = C2_cmre_2 THEN RETURN "C2_cmre_2"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cca1_7 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cca1_7 THEN RETURN "C0_cca1_7"; END IF;
+ IF i = C1_cca1_7 THEN RETURN "C1_cca1_7"; END IF;
+ IF i = C2_cca1_7 THEN RETURN "C2_cca1_7"; END IF;
+ RETURN "UNKNOWN";
+ END;
+ FUNCTION val_s ( i : t_cmre_3 ) RETURN STRING IS
+ BEGIN
+ IF i = C0_cmre_3 THEN RETURN "C0_cmre_3"; END IF;
+ IF i = C1_cmre_3 THEN RETURN "C1_cmre_3"; END IF;
+ IF i = C2_cmre_3 THEN RETURN "C2_cmre_3"; END IF;
+ RETURN "UNKNOWN";
+ END;
+
+END c03s03b00x00p03n04i00521pkg;
+
+USE work.c03s03b00x00p03n04i00521pkg.ALL;
+ENTITY c03s03b00x00p03n04i00521ent IS
+END c03s03b00x00p03n04i00521ent;
+
+ARCHITECTURE c03s03b00x00p03n04i00521arch OF c03s03b00x00p03n04i00521ent IS
+--
+-- Access type declarations
+--
+ TYPE at_usa2_1 IS ACCESS t_usa2_1 ;
+ TYPE at_usa3_1 IS ACCESS t_usa3_1 ;
+ TYPE at_usa4_1 IS ACCESS t_usa4_1 ;
+ TYPE at_csa2_1 IS ACCESS t_csa2_1 ;
+ TYPE at_csa3_1 IS ACCESS t_csa3_1 ;
+ TYPE at_csa4_1 IS ACCESS t_csa4_1 ;
+ TYPE at_cca2_1 IS ACCESS t_cca2_1 ;
+ TYPE at_cca2_2 IS ACCESS t_cca2_2 ;
+ TYPE at_cca3_1 IS ACCESS t_cca3_1 ;
+ TYPE at_cca3_2 IS ACCESS t_cca3_2 ;
+--
+--
+BEGIN
+ TESTING: PROCESS
+--
+-- ACCESS VARIABLE declarations
+--
+ VARIABLE AV0_usa2_1 : at_usa2_1 ;
+ VARIABLE AV2_usa2_1 : at_usa2_1 ;
+ VARIABLE AV0_usa3_1 : at_usa3_1 ;
+ VARIABLE AV2_usa3_1 : at_usa3_1 ;
+ VARIABLE AV0_usa4_1 : at_usa4_1 ;
+ VARIABLE AV2_usa4_1 : at_usa4_1 ;
+ VARIABLE AV0_csa2_1 : at_csa2_1 ;
+ VARIABLE AV2_csa2_1 : at_csa2_1 ;
+ VARIABLE AV0_csa3_1 : at_csa3_1 ;
+ VARIABLE AV2_csa3_1 : at_csa3_1 ;
+ VARIABLE AV0_csa4_1 : at_csa4_1 ;
+ VARIABLE AV2_csa4_1 : at_csa4_1 ;
+ VARIABLE AV0_cca2_1 : at_cca2_1 ;
+ VARIABLE AV2_cca2_1 : at_cca2_1 ;
+ VARIABLE AV0_cca2_2 : at_cca2_2 ;
+ VARIABLE AV2_cca2_2 : at_cca2_2 ;
+ VARIABLE AV0_cca3_1 : at_cca3_1 ;
+ VARIABLE AV2_cca3_1 : at_cca3_1 ;
+ VARIABLE AV0_cca3_2 : at_cca3_2 ;
+ VARIABLE AV2_cca3_2 : at_cca3_2 ;
+--
+--
+ BEGIN
+--
+-- Allocation of access values
+--
+ AV0_usa2_1 := NEW t_usa2_1 ( st_ind2, st_ind1 ) ;
+ AV0_usa3_1 := NEW t_usa3_1 ( st_ind3, st_ind2, st_ind1 ) ;
+ AV0_usa4_1 := NEW t_usa4_1 (st_ind4, st_ind3, st_ind2, st_ind1 ) ;
+ AV0_csa2_1 := NEW t_csa2_1 ;
+ AV0_csa3_1 := NEW t_csa3_1 ;
+ AV0_csa4_1 := NEW t_csa4_1 ;
+ AV0_cca2_1 := NEW t_cca2_1 ;
+ AV0_cca2_2 := NEW t_cca2_2 ;
+ AV0_cca3_1 := NEW t_cca3_1 ;
+ AV0_cca3_2 := NEW t_cca3_2 ;
+---
+ AV2_usa2_1 := NEW t_usa2_1 ' ( C2_csa2_1 ) ;
+ AV2_usa3_1 := NEW t_usa3_1 ' ( C2_csa3_1 ) ;
+ AV2_usa4_1 := NEW t_usa4_1 ' ( C2_csa4_1 ) ;
+ AV2_csa2_1 := NEW t_csa2_1 ' ( C2_csa2_1 ) ;
+ AV2_csa3_1 := NEW t_csa3_1 ' ( C2_csa3_1 ) ;
+ AV2_csa4_1 := NEW t_csa4_1 ' ( C2_csa4_1 ) ;
+ AV2_cca2_1 := NEW t_cca2_1 ' ( C2_cca2_1 ) ;
+ AV2_cca2_2 := NEW t_cca2_2 ' ( C2_cca2_2 ) ;
+ AV2_cca3_1 := NEW t_cca3_1 ' ( C2_cca3_1 ) ;
+ AV2_cca3_2 := NEW t_cca3_2 ' ( C2_cca3_2 ) ;
+--
+--
+ ASSERT AV0_usa2_1.all = C0_csa2_1
+ REPORT "Improper initialization of AV0_usa2_1" SEVERITY FAILURE;
+ ASSERT AV2_usa2_1.all = C2_csa2_1
+ REPORT "Improper initialization of AV2_usa2_1" SEVERITY FAILURE;
+ ASSERT AV0_usa3_1.all = C0_csa3_1
+ REPORT "Improper initialization of AV0_usa3_1" SEVERITY FAILURE;
+ ASSERT AV2_usa3_1.all = C2_csa3_1
+ REPORT "Improper initialization of AV2_usa3_1" SEVERITY FAILURE;
+ ASSERT AV0_usa4_1.all = C0_csa4_1
+ REPORT "Improper initialization of AV0_usa4_1" SEVERITY FAILURE;
+ ASSERT AV2_usa4_1.all = C2_csa4_1
+ REPORT "Improper initialization of AV2_usa4_1" SEVERITY FAILURE;
+ ASSERT AV0_csa2_1.all = C0_csa2_1
+ REPORT "Improper initialization of AV0_csa2_1" SEVERITY FAILURE;
+ ASSERT AV2_csa2_1.all = C2_csa2_1
+ REPORT "Improper initialization of AV2_csa2_1" SEVERITY FAILURE;
+ ASSERT AV0_csa3_1.all = C0_csa3_1
+ REPORT "Improper initialization of AV0_csa3_1" SEVERITY FAILURE;
+ ASSERT AV2_csa3_1.all = C2_csa3_1
+ REPORT "Improper initialization of AV2_csa3_1" SEVERITY FAILURE;
+ ASSERT AV0_csa4_1.all = C0_csa4_1
+ REPORT "Improper initialization of AV0_csa4_1" SEVERITY FAILURE;
+ ASSERT AV2_csa4_1.all = C2_csa4_1
+ REPORT "Improper initialization of AV2_csa4_1" SEVERITY FAILURE;
+ ASSERT AV0_cca2_1.all = C0_cca2_1
+ REPORT "Improper initialization of AV0_cca2_1" SEVERITY FAILURE;
+ ASSERT AV2_cca2_1.all = C2_cca2_1
+ REPORT "Improper initialization of AV2_cca2_1" SEVERITY FAILURE;
+ ASSERT AV0_cca2_2.all = C0_cca2_2
+ REPORT "Improper initialization of AV0_cca2_2" SEVERITY FAILURE;
+ ASSERT AV2_cca2_2.all = C2_cca2_2
+ REPORT "Improper initialization of AV2_cca2_2" SEVERITY FAILURE;
+ ASSERT AV0_cca3_1.all = C0_cca3_1
+ REPORT "Improper initialization of AV0_cca3_1" SEVERITY FAILURE;
+ ASSERT AV2_cca3_1.all = C2_cca3_1
+ REPORT "Improper initialization of AV2_cca3_1" SEVERITY FAILURE;
+ ASSERT AV0_cca3_2.all = C0_cca3_2
+ REPORT "Improper initialization of AV0_cca3_2" SEVERITY FAILURE;
+ ASSERT AV2_cca3_2.all = C2_cca3_2
+ REPORT "Improper initialization of AV2_cca3_2" SEVERITY FAILURE;
+--
+--
+ assert NOT( ( AV0_usa2_1.all = C0_csa2_1 )
+ and ( AV2_usa2_1.all = C2_csa2_1 )
+ and ( AV0_usa3_1.all = C0_csa3_1 )
+ and ( AV2_usa3_1.all = C2_csa3_1 )
+ and ( AV0_usa4_1.all = C0_csa4_1 )
+ and ( AV2_usa4_1.all = C2_csa4_1 )
+ and ( AV0_csa2_1.all = C0_csa2_1 )
+ and ( AV2_csa2_1.all = C2_csa2_1 )
+ and ( AV0_csa3_1.all = C0_csa3_1 )
+ and ( AV2_csa3_1.all = C2_csa3_1 ))
+ report "***PASSED TEST: c03s03b00x00p03n04i00521"
+ severity NOTE;
+ assert ( ( AV0_usa2_1.all = C0_csa2_1 )
+ and ( AV2_usa2_1.all = C2_csa2_1 )
+ and ( AV0_usa3_1.all = C0_csa3_1 )
+ and ( AV2_usa3_1.all = C2_csa3_1 )
+ and ( AV0_usa4_1.all = C0_csa4_1 )
+ and ( AV2_usa4_1.all = C2_csa4_1 )
+ and ( AV0_csa2_1.all = C0_csa2_1 )
+ and ( AV2_csa2_1.all = C2_csa2_1 )
+ and ( AV0_csa3_1.all = C0_csa3_1 )
+ and ( AV2_csa3_1.all = C2_csa3_1 ))
+ report "***FAILED TEST: c03s03b00x00p03n04i00521 - Each access value designates an object of the subtype defined by the subtype indication of the access type definition."
+ severity ERROR;
+ wait;
+ END PROCESS TESTING;
+
+END c03s03b00x00p03n04i00521arch;