/* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack */ void mergeBG_onTrack_CalculateTrainPosition_Pkg_BG_utilities_Pkg( /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BG */ positionedBG_T_TrainPosition_Types_Pck *BG, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BGs_in */ positionedBGs_T_TrainPosition_Types_Pck *BGs_in, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BGs_out */ positionedBGs_T_TrainPosition_Types_Pck *BGs_out, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::overrun */ kcg_bool *overrun) { positionedBGs_T_TrainPosition_Types_Pck tmp; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L3 */ kcg_bool _L3; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L2 */ kcg_bool _L2; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L1 */ kcg_int _L1; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L6 */ kcg_bool _L6; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L5 */ kcg_bool _L5; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L4 */ kcg_int _L4; /* 2 */ indexOfBG_by_id_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BG, BGs_in, (*BG).valid, &_L1, &_L2, &_L3); /* 1 */ indexOfBG_onTrack_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BG, BGs_in, (*BG).valid, &_L4, &_L5, &_L6); /* 1 */ deleteBG_atIndex_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BGs_in, _L1, (kcg_bool) ((_L1 != _L4) & _L2 & _L3 & _L6), &tmp); /* 1 */ insertBG_atIndex_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BG, &tmp, _L4, (kcg_bool) ((*BG).valid & _L6), BGs_out, overrun); }
/* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack */ void mergeBG_onTrack_CalculateTrainPosition_Pkg_BG_utilities_Pkg( /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BG */ positionedBG_T_TrainPosition_Types_Pck *BG, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BGs_in */ positionedBGs_T_TrainPosition_Types_Pck *BGs_in, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::BGs_out */ positionedBGs_T_TrainPosition_Types_Pck *BGs_out, /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::overrun */ kcg_bool *overrun) { /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack */ static positionedBGs_T_TrainPosition_Types_Pck tmp; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::indexOfBGInBGs */ static kcg_int indexOfBGInBGs; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::bgFound */ static kcg_bool bgFound; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::bg_loc */ static positionedBG_T_TrainPosition_Types_Pck bg_loc; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L3 */ static kcg_bool _L3; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L6 */ static kcg_bool _L6; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L5 */ static kcg_bool _L5; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L4 */ static kcg_int _L4; /* CalculateTrainPosition_Pkg::BG_utilities_Pkg::mergeBG_onTrack::_L61 */ static positionedBG_T_TrainPosition_Types_Pck _L61; /* 2 */ indexOfBG_by_id_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BG, BGs_in, (*BG).valid, &indexOfBGInBGs, &bgFound, &_L3); if ((0 <= indexOfBGInBGs) & (indexOfBGInBGs < 41)) { kcg_copy_positionedBG_T_TrainPosition_Types_Pck( &_L61, &(*BGs_in)[indexOfBGInBGs]); } else { kcg_copy_positionedBG_T_TrainPosition_Types_Pck( &_L61, (positionedBG_T_TrainPosition_Types_Pck *) &cNoPositionedBG_CalculateTrainPosition_Pkg); } /* 2 */ if (bgFound & (_L61.missed | _L61.infoFromPassing.valid) & (!(*BG).infoFromPassing.valid & (*BG).valid & (*BG).infoFromLinking.valid)) { kcg_copy_positionedBG_T_TrainPosition_Types_Pck(&bg_loc, &_L61); kcg_copy_infoFromLinking_T_TrainPosition_Types_Pck( &bg_loc.infoFromLinking, &(*BG).infoFromLinking); } else { kcg_copy_positionedBG_T_TrainPosition_Types_Pck(&bg_loc, BG); } /* 1 */ indexOfBG_onTrack_CalculateTrainPosition_Pkg_BG_utilities_Pkg( &bg_loc, BGs_in, (*BG).valid, &_L4, &_L5, &_L6); /* 1 */ deleteBG_atIndex_CalculateTrainPosition_Pkg_BG_utilities_Pkg( BGs_in, indexOfBGInBGs, (kcg_bool) ((indexOfBGInBGs != _L4) & bgFound & _L3 & _L6), &tmp); /* 1 */ insertBG_atIndex_CalculateTrainPosition_Pkg_BG_utilities_Pkg( &bg_loc, &tmp, _L4, (kcg_bool) ((*BG).valid & _L6), BGs_out, overrun); }