FUNCTION ft_get_terminus
(input : SET [0:?] OF stratum_technology_occurrence_link_armx) : SET [0:?] OF stratum_technology_occurrence_armx;
LOCAL sto : SET OF Stratum_technology_occurrence_armx := get_stack(input); i : INTEGER := 0; j : INTEGER := 0; pstoo : SET OF Stratum_technology_occurrence_armx := []; sstoo : SET OF Stratum_technology_occurrence_armx := []; END_LOCAL; pstoo := sto; sstoo := sto; REPEAT i := 1 TO SIZEOF(sto) BY 1; REPEAT j := 1 TO SIZEOF(input) BY 1; IF (input[j]\Stratum_technology_occurrence_relationship_armx.sto_1 :=: sto[i]) THEN pstoo := pstoo - sto[i]; END_IF; IF (input[j]\Stratum_technology_occurrence_relationship_armx.sto_2 :=: sto[i]) THEN sstoo := sstoo - sto[i]; END_IF; END_REPEAT; END_REPEAT; RETURN(pstoo + sstoo); END_FUNCTION; -- ft_get_terminus
|