/* TA_Lib_internal::FindStartOfNewSpeedProfile_LOOP */ void FindStartOfNewSpeedProfil_TA_Lib_internal( /* TA_Lib_internal::FindStartOfNewSpeedProfile_LOOP::i */kcg_int i, /* TA_Lib_internal::FindStartOfNewSpeedProfile_LOOP::Acc */kcg_int Acc, /* TA_Lib_internal::FindStartOfNewSpeedProfile_LOOP::distance_in */D_STATIC distance_in, /* TA_Lib_internal::FindStartOfNewSpeedProfile_LOOP::Profile_in */SSP_cat_t_TA_MRSP *Profile_in, outC_FindStartOfNewSpeedProfil_TA_Lib_internal *outC) { kcg_int noname; outC->_L14 = i; outC->_L12 = 0; outC->_L13 = outC->_L14 > outC->_L12; kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L2, Profile_in); outC->_L3 = i; if ((0 <= outC->_L3) & (outC->_L3 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&outC->_L4, &outC->_L2[outC->_L3]); } else { kcg_copy_SSP_section_t_TA_MRSP( &outC->_L4, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } outC->_L5 = outC->_L4.target; outC->_L15 = outC->_L12 == outC->_L5; outC->_L16 = outC->_L13 & outC->_L15; outC->_L17 = !outC->_L16; outC->_L1 = distance_in; outC->_L6 = outC->_L5 < outC->_L1; outC->_L18 = outC->_L17 & outC->_L6; outC->_L8 = Acc; noname = outC->_L8; outC->_L7 = i; outC->relevant_section = outC->_L7; outC->cont = outC->_L18; }
/* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop */ void FindFirstRelevantSPForNew_TA_Lib_internal( /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::i */kcg_int i, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Acc */kcg_int Acc, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Profile_in */SSP_cat_t_TA_MRSP *Profile_in, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Distance_2LRBGs */kcg_int Distance_2LRBGs, outC_FindFirstRelevantSPForNew_TA_Lib_internal *outC) { kcg_int noname; outC->_L182 = i; outC->_L176 = 0; outC->_L181 = outC->_L182 > outC->_L176; kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L170, Profile_in); outC->_L168 = i; if ((0 <= outC->_L168) & (outC->_L168 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&outC->_L172, &outC->_L170[outC->_L168]); } else { kcg_copy_SSP_section_t_TA_MRSP( &outC->_L172, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } outC->_L173 = outC->_L172.target; outC->_L177 = outC->_L176 == outC->_L173; outC->_L178 = outC->_L181 & outC->_L177; outC->_L179 = !outC->_L178; outC->_L171 = Distance_2LRBGs; outC->_L174 = outC->_L173 < outC->_L171; outC->_L180 = outC->_L179 & outC->_L174; outC->cont = outC->_L180; outC->_L175 = i; outC->_L169 = Acc; noname = outC->_L169; outC->relevant_section = outC->_L175; }
/* TA_Lib_internal::Update_SP_per_LRBG_loop */ void Update_SP_per_LRBG_loop_TA_Lib_internal( /* TA_Lib_internal::Update_SP_per_LRBG_loop::i */kcg_int i, /* TA_Lib_internal::Update_SP_per_LRBG_loop::SP */SSP_cat_t_TA_MRSP *SP, /* TA_Lib_internal::Update_SP_per_LRBG_loop::First_Section_To_Replace */kcg_int First_Section_To_Replace, /* TA_Lib_internal::Update_SP_per_LRBG_loop::new_SSP_received */SSP_cat_t_TA_MRSP *new_SSP_received, outC_Update_SP_per_LRBG_loop_TA_Lib_internal *outC) { kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L20, SP); kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L6, new_SSP_received); outC->_L11 = i; if ((0 <= outC->_L11) & (outC->_L11 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&outC->_L15, &outC->_L6[outC->_L11]); } else { kcg_copy_SSP_section_t_TA_MRSP( &outC->_L15, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } outC->_L5 = i; outC->_L4 = First_Section_To_Replace; outC->_L7 = outC->_L5 + outC->_L4; kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L19, &outC->_L20); if ((0 <= outC->_L7) & (outC->_L7 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&outC->_L19[outC->_L7], &outC->_L15); } kcg_copy_SSP_cat_t_TA_MRSP(&outC->SpeedProfile_out, &outC->_L19); }
/* TA_SSP::Convert_P27_to_DistanceProfile_1st_section */ void Convert_P27_to_DistancePr_TA_SSP( /* TA_SSP::Convert_P27_to_DistanceProfile_1st_section::q_scale */Q_SCALE q_scale, /* TA_SSP::Convert_P27_to_DistanceProfile_1st_section::Section1_in */P027V1_section_enum_T_TM_baseline2 *Section1_in, /* TA_SSP::Convert_P27_to_DistanceProfile_1st_section::TrainLength */L_internal_Type_Obu_BasicTypes_Pkg TrainLength, outC_Convert_P27_to_DistancePr_TA_SSP *outC) { kcg_copy_P027V1_section_enum_T_TM_baseline2(&outC->_L98, Section1_in); outC->_L97 = TrainLength; kcg_copy_P027V1_section_enum_T_TM_baseline2(&outC->_L93, Section1_in); outC->_L96 = outC->_L93.v_static; outC->v_static_section1 = outC->_L96; outC->_L89 = q_scale; kcg_copy_P027V1_section_enum_T_TM_baseline2(&outC->_L86, Section1_in); outC->_L87 = outC->_L86.d_static; /* 2 */ Normalize_Distance_d_inte_TA_Lib_internal( outC->_L89, outC->_L87, &outC->Context_2); outC->_L88 = outC->Context_2.d_internal; outC->_L95.target = outC->_L88; outC->_L95.speed = outC->_L96; outC->_L91 = outC->_L98.q_front; /* 2 */ Eval_Q_Front_TA_Lib_internal(outC->_L91, outC->_L97, &outC->_1_Context_2); outC->_L90 = outC->_1_Context_2.added_train_length; outC->_L92 = outC->_L88 + outC->_L90; outC->_L94.target = outC->_L92; outC->_L94.speed = outC->_L96; kcg_copy_SSP_section_t_TA_MRSP(&outC->section1_delay, &outC->_L94); kcg_copy_SSP_section_t_TA_MRSP(&outC->section1, &outC->_L95); }
/* TA_MRSP::MRSP_FindLastSSPSection */ void MRSP_FindLastSSPSection_TA_MRSP( /* TA_MRSP::MRSP_FindLastSSPSection::SSP_Reverse_In */SSP_cat_t_TA_MRSP *SSP_Reverse_In, outC_MRSP_FindLastSSPSection_TA_MRSP *outC) { SSP_Mark_ValidSSPsection_TA_MRSP tmp; kcg_int i; kcg_int noname; kcg_copy_SSP_Mark_ValidSSPsection_TA_MRSP( &outC->_L31, (SSP_Mark_ValidSSPsection_TA_MRSP *) &DEFAULT_SSP_Init_ValidSSPsection_TA_MRSP); kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L1, SSP_Reverse_In); outC->_L16 = kcg_true; kcg_copy_SSP_Mark_ValidSSPsection_TA_MRSP(&outC->_L14, &outC->_L31); if (outC->_L16) { for (i = 0; i < 33; i++) { kcg_copy_SSP_Mark_ValidSSPsection_TA_MRSP(&tmp, &outC->_L14); /* 1 */ MRSP_FindLastSSPSection_LOOP_TA_MRSP( i, &tmp, &outC->_L1[i], &outC->Context_1[i]); kcg_copy_SSP_Mark_ValidSSPsection_TA_MRSP( &outC->_L14, &outC->Context_1[i].i_out); outC->_L13 = i + 1; if (!outC->Context_1[i].cont) { break; } } } else { outC->_L13 = 0; } outC->_L28 = outC->_L14.Index; outC->_L29 = outC->_L14.Found; if ((0 <= outC->_L28) & (outC->_L28 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&outC->_L19, &outC->_L1[outC->_L28]); } else { kcg_copy_SSP_section_t_TA_MRSP( &outC->_L19, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } outC->_L21 = outC->_L19.target; outC->_L30.found = outC->_L29; outC->_L30.index = outC->_L28; outC->_L30.target = outC->_L21; noname = outC->_L13; kcg_copy_SSP_valid_section_t_TA_MRSP(&outC->Index_Last, &outC->_L30); }
/* TA_Lib_internal::Update_SP_per_LRBG */ void Update_SP_per_LRBG_TA_Lib_internal( /* TA_Lib_internal::Update_SP_per_LRBG::new_SP */SSP_cat_t_TA_MRSP *new_SP, /* TA_Lib_internal::Update_SP_per_LRBG::v_static_section1 */V_internal_Type_Obu_BasicTypes_Pkg v_static_section1, /* TA_Lib_internal::Update_SP_per_LRBG::section1_delay */SSP_section_t_TA_MRSP *section1_delay, /* TA_Lib_internal::Update_SP_per_LRBG::section1 */SSP_section_t_TA_MRSP *section1, /* TA_Lib_internal::Update_SP_per_LRBG::Last_SpeedProfile_in */SSP_cat_t_TA_MRSP *Last_SpeedProfile_in, /* TA_Lib_internal::Update_SP_per_LRBG::SpeedProfile_out */SSP_cat_t_TA_MRSP *SpeedProfile_out) { SSP_section_t_TA_MRSP tmp1; SSP_cat_t_TA_MRSP tmp; kcg_int i; /* TA_Lib_internal::Update_SP_per_LRBG::_L1 */ kcg_int _L1; /* TA_Lib_internal::Update_SP_per_LRBG::_L39 */ array__11213 _L39; _L1 = /* 1 */ FindStartOfNewSpeedProfile_TA_Lib_internal(Last_SpeedProfile_in, new_SP); if ((0 <= _L1 - 1) & (_L1 - 1 < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&tmp1, &(*Last_SpeedProfile_in)[_L1 - 1]); } else { kcg_copy_SSP_section_t_TA_MRSP( &tmp1, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } if ((_L1 > 0) & (tmp1.speed < v_static_section1)) { kcg_copy_SSP_section_t_TA_MRSP(&(&_L39[0])[0], section1_delay); } else { kcg_copy_SSP_section_t_TA_MRSP(&(&_L39[0])[0], section1); } kcg_copy_array__12126(&_L39[1], (array__12126 *) &(*new_SP)[1]); kcg_copy_SSP_cat_t_TA_MRSP(SpeedProfile_out, Last_SpeedProfile_in); for (i = 0; i < 33; i++) { kcg_copy_SSP_cat_t_TA_MRSP(&tmp, SpeedProfile_out); /* 1 */ Update_SP_per_LRBG_loop_TA_Lib_internal( i, &tmp, _L1, &_L39, SpeedProfile_out); } }
/* TA_MRSP::MRSP_DetermineRelevantSpeedperCat */ SSP_s_section_t_TA_MRSP MRSP_DetermineRelevantSpeedperCat_TA_MRSP( /* TA_MRSP::MRSP_DetermineRelevantSpeedperCat::CurrentTarget */SSP_t_section_t_TA_MRSP CurrentTarget, /* TA_MRSP::MRSP_DetermineRelevantSpeedperCat::SSP_cat */SSP_cat_t_TA_MRSP *SSP_cat) { SSP_relevant_target_t_TA_MRSP tmp2; kcg_bool tmp1; kcg_int i; SSP_section_t_TA_MRSP tmp; /* TA_MRSP::MRSP_DetermineRelevantSpeedperCat::_L11 */ SSP_valid_section_t_TA_MRSP _L11; /* TA_MRSP::MRSP_DetermineRelevantSpeedperCat::_L30 */ SSP_relevant_target_t_TA_MRSP _L30; /* TA_MRSP::MRSP_DetermineRelevantSpeedperCat::ValidSpeed */ SSP_s_section_t_TA_MRSP ValidSpeed; /* 1 */ MRSP_FindLastSSPSection_TA_MRSP(SSP_cat, &_L11); kcg_copy_SSP_relevant_target_t_TA_MRSP( &_L30, (SSP_relevant_target_t_TA_MRSP *) &DEFAULT_relevant_target_TA_MRSP); for (i = 0; i < 33; i++) { kcg_copy_SSP_relevant_target_t_TA_MRSP(&tmp2, &_L30); /* 1 */ MRSP_DetermineRelevantSpeedperCat_LOOP_TA_MRSP( i, &tmp2, &_L11, &(*SSP_cat)[i], CurrentTarget, &tmp1, &_L30); if (!tmp1) { break; } } if ((0 <= _L30.index) & (_L30.index < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&tmp, &(*SSP_cat)[_L30.index]); } else { kcg_copy_SSP_section_t_TA_MRSP( &tmp, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } ValidSpeed = tmp.speed; return ValidSpeed; }
/* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop */ void FindFirstRelevantSPForNewLRBG_Loop_TA_Lib_internal( /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::i */kcg_int i, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Acc */kcg_int Acc, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Profile_in */SSP_cat_t_TA_MRSP *Profile_in, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::Distance_2LRBGs */kcg_int Distance_2LRBGs, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::cont */kcg_bool *cont, /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::relevant_section */kcg_int *relevant_section) { /* TA_Lib_internal::FindFirstRelevantSPForNewLRBG_Loop::_L172 */ SSP_section_t_TA_MRSP _L172; *relevant_section = i; if ((0 <= *relevant_section) & (*relevant_section < 33)) { kcg_copy_SSP_section_t_TA_MRSP(&_L172, &(*Profile_in)[*relevant_section]); } else { kcg_copy_SSP_section_t_TA_MRSP( &_L172, (SSP_section_t_TA_MRSP *) &DEFAULT_SSP_section_TA_MRSP); } *cont = !((*relevant_section > 0) & (0 == _L172.target)) & (_L172.target < Distance_2LRBGs); }
/* TA_SSP::Convert_P27_to_DistanceProfile */ void _17_Convert_P27_to_DistancePr_TA_SSP( /* TA_SSP::Convert_P27_to_DistanceProfile::Packet27_in */P027V1_OBU_T_TM_baseline2 *Packet27_in, /* TA_SSP::Convert_P27_to_DistanceProfile::TrainLength */L_internal_Type_Obu_BasicTypes_Pkg TrainLength, outC__17_Convert_P27_to_DistancePr_TA_SSP *outC) { kcg_int i5; kcg_int i4; kcg_int i3; kcg_int i2; kcg_int i1; SSP_cat_t_TA_MRSP tmp; kcg_int i; kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L86, (P027V1_section_enum_T_TM_baseline2 *) &DEFAULT_P027v1_OBU_section_TM_baseline2); for (i5 = 0; i5 < 1; i5++) { kcg_copy_P027V1_section_enum_T_TM_baseline2(&outC->_L85[i5], &outC->_L86); } kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L73, Packet27_in); kcg_copy_P027V1_OBU_sectionlist_enum_T_TM_baseline2( &outC->_L71, &outC->_L73.sections); kcg_copy_array__10599(&outC->_L64, (array__10599 *) &outC->_L71[1]); kcg_copy_array__10599(&outC->_L84[0], &outC->_L64); kcg_copy_array__10605(&outC->_L84[32], &outC->_L85); kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L63, Packet27_in); outC->_L65 = outC->_L63.q_scale; kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L70, Packet27_in); kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L62, &outC->_L70.sections[0]); outC->_L72 = TrainLength; /* 3 */ Convert_P27_to_DistancePr_TA_SSP( outC->_L65, &outC->_L62, outC->_L72, &outC->Context_3); outC->_L68 = outC->Context_3.v_static_section1; kcg_copy_SSP_section_t_TA_MRSP(&outC->_L66, &outC->Context_3.section1_delay); kcg_copy_SSP_section_t_TA_MRSP(&outC->_L67, &outC->Context_3.section1); kcg_copy_SSP_section_t_TA_MRSP(&outC->section1, &outC->_L67); kcg_copy_SSP_section_t_TA_MRSP(&outC->section1_delay, &outC->_L66); outC->v_static_section1 = outC->_L68; kcg_copy_SSP_cat_t_TA_MRSP( &outC->_L83, (SSP_cat_t_TA_MRSP *) &DEFAULT_SSP_cat_TA_MRSP); for (i4 = 0; i4 < 33; i4++) { kcg_copy_array__10437(&outC->_L74[i4], &outC->_L84); } outC->_L69 = TrainLength; for (i3 = 0; i3 < 33; i3++) { outC->_L82[i3] = outC->_L69; } for (i2 = 0; i2 < 33; i2++) { outC->_L76[i2] = outC->_L65; } for (i1 = 0; i1 < 33; i1++) { outC->_L81[i1] = outC->_L68; } kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L77, &outC->_L83); for (i = 0; i < 33; i++) { kcg_copy_SSP_cat_t_TA_MRSP(&tmp, &outC->_L77); /* 3 */ _16_Convert_P27_to_DistancePr_TA_SSP( i, &tmp, &outC->_L74[i], outC->_L82[i], outC->_L76[i], outC->_L81[i], &outC->_1_Context_3[i]); kcg_copy_SSP_cat_t_TA_MRSP( &outC->_L77, &outC->_1_Context_3[i].SpeedProfile); } kcg_copy_SSP_cat_t_TA_MRSP(&outC->SpeedProfile, &outC->_L77); }