FUNCTION get_mrlc_not_for_base
(input1 : documentation_layer_stratum_armx; base_component : SET [0:?] OF area_component_armx) : SET [0:?] OF material_removal_laminate_component_armx;
LOCAL ac: SET OF Area_component_armx := []; i : INTEGER := 0; mrlc : SET OF Material_removal_laminate_component_armx := []; mrlc_b : SET OF Material_removal_laminate_component_armx := []; sf : SET OF Stratum_feature_armx := bag_to_set(USEDIN(input1,'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.STRATUM_FEATURE_ARMX.RESIDENT_STRATUM')); sftc_s : SET OF Stratum_feature_template_component := bag_to_set( USEDIN(input1,'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.STRATUM_FEATURE_TEMPLATE_COMPONENT_ARMX.IMPLEMENTATION_OR_RESIDENT_STRATUM')); sftc_sf : SET OF Stratum_feature_template_component_armx := []; sftc_t : SET OF Stratum_feature_template_component_armx := []; END_LOCAL; REPEAT i := 1 TO HIINDEX(sf) BY 1; sftc_sf := sftc_sf + bag_to_set(USEDIN(sf[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.STRATUM_FEATURE_TEMPLATE_COMPONENT_ARMX.IMPLEMENTATION_OR_RESIDENT_STRATUM')); END_REPEAT; sftc_t := sftc_s + sftc_sf; REPEAT i := 1 TO HIINDEX(sftc_t) BY 1; mrlc := mrlc + bag_to_set(USEDIN(sftc_t[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.MATERIAL_REMOVAL_LAMINATE_COMPONENT_ARMX.DESIGN_INTENT')); END_REPEAT; REPEAT i := 1 TO HIINDEX(base_component) BY 1; mrlc_b := mrlc + bag_to_set(USEDIN(base_component[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.MATERIAL_REMOVAL_LAMINATE_COMPONENT_ARMX.DESIGN_INTENT')); END_REPEAT; RETURN(mrlc - mrlc_b); END_FUNCTION; -- get_mrlc_not_for_base
|