/* TA_Lib_internal::MoveGPSectionsAbsolute */ void MoveGPSectionsAbsolute_TA_Lib_internal( /* TA_Lib_internal::MoveGPSectionsAbsolute::ProfileIn */ GradientProfile_t_TrackAtlasTypes *ProfileIn, /* TA_Lib_internal::MoveGPSectionsAbsolute::msg_prvLRBG */ kcg_bool msg_prvLRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute::msg_LRBG */ kcg_bool msg_LRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute::pos_LRBG */ L_internal_Type_Obu_BasicTypes_Pkg pos_LRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute::pos_prvLRBG */ L_internal_Type_Obu_BasicTypes_Pkg pos_prvLRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute::ProfileOut */ GradientProfile_t_TrackAtlasTypes *ProfileOut) { /* TA_Lib_internal::MoveGPSectionsAbsolute */ static GradientProfile_t_TrackAtlasTypes acc; static kcg_int i; kcg_copy_GradientProfile_t_TrackAtlasTypes(ProfileOut, ProfileIn); /* 1 */ for (i = 0; i < 50; i++) { kcg_copy_GradientProfile_t_TrackAtlasTypes(&acc, ProfileOut); /* 1 */ MoveGPSectionsAbsolute_Loop_TA_Lib_internal( i, &acc, msg_prvLRBG, msg_LRBG, pos_LRBG, pos_prvLRBG, ProfileOut); } }
/* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop */ void GP_Merge_New_P21_to_Profile_loop_TA_Gradient_new( /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop::i */ kcg_int i, /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop::GP */ GradientProfile_t_TrackAtlasTypes *GP, /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop::First_Section_To_Replace */ kcg_int First_Section_To_Replace, /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop::new_GP_received */ GradientProfile_t_TrackAtlasTypes *new_GP_received, /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop::GradientProfile_out */ GradientProfile_t_TrackAtlasTypes *GradientProfile_out) { /* TA_Gradient_new::GP_Merge_New_P21_to_Profile_loop */ static Gradient_section_t_TrackAtlasTypes tmp; kcg_copy_GradientProfile_t_TrackAtlasTypes(GradientProfile_out, GP); if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&tmp, &(*new_GP_received)[i]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &tmp, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } if ((0 <= i + First_Section_To_Replace) & (i + First_Section_To_Replace < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &(*GradientProfile_out)[i + First_Section_To_Replace], &tmp); } }
/* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop */ void MoveGPSectionsToNewLRBGafter_Loop_TA_Lib_internal( /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::i */kcg_int i, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::ProfileIn */GradientProfile_t_TrackAtlasTypes *ProfileIn, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::FirstElement */kcg_int FirstElement, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::Distance_2LRBGs */kcg_int Distance_2LRBGs, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::ProfileOut */GradientProfile_t_TrackAtlasTypes *ProfileOut) { Gradient_section_t_TrackAtlasTypes tmp; /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::_L6 */ Gradient_section_t_TrackAtlasTypes _L6; if ((0 <= FirstElement + i) & (FirstElement + i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &_L6, &(*ProfileIn)[FirstElement + i]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &_L6, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } kcg_copy_GradientProfile_t_TrackAtlasTypes(ProfileOut, ProfileIn); kcg_copy_Gradient_section_t_TrackAtlasTypes(&tmp, &_L6); tmp.Loc_LRBG = /* 1 */ NormalizePos_TA_Lib_internal(_L6.Loc_LRBG - Distance_2LRBGs, 0); if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&(*ProfileOut)[i], &tmp); } }
/* TA_Lib_internal::FindStartOfNewGradientProfile */ void FindStartOfNewGradientProfile_TA_Lib_internal( /* TA_Lib_internal::FindStartOfNewGradientProfile::Profile_in */GradientProfile_t_TrackAtlasTypes *Profile_in, /* TA_Lib_internal::FindStartOfNewGradientProfile::New_Profile */GradientProfile_t_TrackAtlasTypes *New_Profile, outC_FindStartOfNewGradientProfile_TA_Lib_internal *outC) { kcg_int i2; kcg_int i1; kcg_int tmp; kcg_int i; kcg_int noname; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L1, New_Profile); outC->_L2 = outC->_L1[0].Loc_LRBG; for (i2 = 0; i2 < 33; i2++) { outC->_L198[i2] = outC->_L2; } outC->_L100 = 0; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L93, Profile_in); for (i1 = 0; i1 < 33; i1++) { kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L98[i1], &outC->_L93); } outC->_L96 = kcg_true; outC->_L99 = outC->_L100; if (outC->_L96) { for (i = 0; i < 33; i++) { tmp = outC->_L99; /* 1 */ FindStartOfNewGradientPro_TA_Lib_internal( i, tmp, outC->_L198[i], &outC->_L98[i], &outC->Context_1[i]); outC->_L99 = outC->Context_1[i].relevant_section; outC->_L94 = i + 1; if (!outC->Context_1[i].cont) { break; } } } else { outC->_L94 = 0; } noname = outC->_L94; outC->relevant_section = outC->_L99; }
/* TA_Gradient_new::GP_Truncate_at_BG */ void GP_Truncate_at_BG_TA_Gradient_new( /* TA_Gradient_new::GP_Truncate_at_BG::Profile_in */ GradientProfile_t_TrackAtlasTypes *Profile_in, /* TA_Gradient_new::GP_Truncate_at_BG::Profile_out */ GradientProfile_t_TrackAtlasTypes *Profile_out) { /* TA_Gradient_new::GP_Truncate_at_BG */ kcg_int acc1; /* TA_Gradient_new::GP_Truncate_at_BG */ GradientProfile_t_TrackAtlasTypes acc; /* TA_Gradient_new::GP_Truncate_at_BG */ kcg_bool cond_iterw; kcg_int i; /* TA_Gradient_new::GP_Truncate_at_BG::_L5 */ kcg_int _L5; _L5 = 0; /* 2 */ for (i = 0; i < 50; i++) { acc1 = _L5; /* 1 */ GP_Find_First_Gsection_After_BG_loop_TA_Gradient_new( i, acc1, Profile_in, &cond_iterw, &_L5); /* 2 */ if (!cond_iterw) { break; } } kcg_copy_GradientProfile_t_TrackAtlasTypes( Profile_out, (GradientProfile_t_TrackAtlasTypes *) &DEFAULT_GradientProfile_TrackAtlasTypes); /* 3 */ for (i = 0; i < 50; i++) { kcg_copy_GradientProfile_t_TrackAtlasTypes(&acc, Profile_out); /* 1 */ GP_Truncate_at_BG_loop_TA_Gradient_new( i, &acc, Profile_in, _L5, &cond_iterw, Profile_out); /* 3 */ if (!cond_iterw) { break; } } }
/* TA_Lib_internal::MoveGPSectionsAbsolute_Loop */ void MoveGPSectionsAbsolute_Loop_TA_Lib_internal( /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::i */kcg_int i, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::ProfileIn */GradientProfile_t_TrackAtlasTypes *ProfileIn, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::msg_prvLRBG */kcg_bool msg_prvLRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::msg_LRBG */kcg_bool msg_LRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::pos_LRBG */L_internal_Type_Obu_BasicTypes_Pkg pos_LRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::pos_prvLRBG */L_internal_Type_Obu_BasicTypes_Pkg pos_prvLRBG, /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::ProfileOut */GradientProfile_t_TrackAtlasTypes *ProfileOut) { static Gradient_section_t_TrackAtlasTypes tmp1; static kcg_int tmp; /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::IfBlock1::else */ static kcg_bool else_clock_IfBlock1; /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::IfBlock1 */ static kcg_bool IfBlock1_clock; /* TA_Lib_internal::MoveGPSectionsAbsolute_Loop::_L6 */ static Gradient_section_t_TrackAtlasTypes _L6; IfBlock1_clock = msg_LRBG & !msg_prvLRBG; if (IfBlock1_clock) { } else { else_clock_IfBlock1 = !msg_LRBG & msg_prvLRBG; } if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&_L6, &(*ProfileIn)[i]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &_L6, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } kcg_copy_GradientProfile_t_TrackAtlasTypes(ProfileOut, ProfileIn); kcg_copy_Gradient_section_t_TrackAtlasTypes(&tmp1, &_L6); tmp1.Loc_LRBG = 0; if (_L6.valid) { if (IfBlock1_clock) { tmp = pos_LRBG; } else if (else_clock_IfBlock1) { tmp = pos_prvLRBG; } else { tmp = 0; } } else { tmp = 0; } tmp1.Loc_Absolute = _L6.Loc_Absolute + tmp; if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&(*ProfileOut)[i], &tmp1); } }
/* TA_Gradient::GP_Correct_StartSection */ void GP_Correct_StartSection_TA_Gradient( /* TA_Gradient::GP_Correct_StartSection::Profile_in */GradientProfile_t_TrackAtlasTypes *Profile_in, /* TA_Gradient::GP_Correct_StartSection::Loc_BG */kcg_int Loc_BG, /* TA_Gradient::GP_Correct_StartSection::Profile_out */GradientProfile_t_TrackAtlasTypes *Profile_out) { kcg_copy_GradientProfile_t_TrackAtlasTypes(Profile_out, Profile_in); kcg_copy_Gradient_section_t_TrackAtlasTypes( &(*Profile_out)[0], &(*Profile_in)[0]); (*Profile_out)[0].Loc_LRBG = 0; }
/* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop */ void MoveGPSectionsToNewLRBGaf_TA_Lib_internal( /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::i */kcg_int i, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::ProfileIn */GradientProfile_t_TrackAtlasTypes *ProfileIn, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::FirstElement */kcg_int FirstElement, /* TA_Lib_internal::MoveGPSectionsToNewLRBGafter_Loop::Distance_2LRBGs */kcg_int Distance_2LRBGs, outC_MoveGPSectionsToNewLRBGaf_TA_Lib_internal *outC) { kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L2, ProfileIn); outC->_L3 = FirstElement; outC->_L1 = i; outC->_L5 = outC->_L3 + outC->_L1; if ((0 <= outC->_L5) & (outC->_L5 < 10)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L6, &outC->_L2[outC->_L5]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L6, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } outC->_L8 = outC->_L6.Loc_LRBG; outC->_L4 = Distance_2LRBGs; outC->_L10 = outC->_L8 - outC->_L4; /* 1 */ NormalizePos_TA_Lib_internal(outC->_L10, 0, &outC->Context_1); outC->_L12 = outC->Context_1.Out; kcg_copy_Gradient_section_t_TrackAtlasTypes(&outC->_L9, &outC->_L6); if (kcg_true) { outC->_L9.Loc_LRBG = outC->_L12; } kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L7, &outC->_L2); if ((0 <= outC->_L1) & (outC->_L1 < 10)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L7[outC->_L1], &outC->_L9); } kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->ProfileOut, &outC->_L7); }
/* TA_Gradient::Update_GP_then_LRBG */ void Update_GP_then_LRBG_TA_Gradient( /* TA_Gradient::Update_GP_then_LRBG::GP_in */GradientProfile_t_TrackAtlasTypes *GP_in, /* TA_Gradient::Update_GP_then_LRBG::P27V1_in */P021_OBU_T_TM *P27V1_in, /* TA_Gradient::Update_GP_then_LRBG::TrainPosition_in */trainPosition_T_TrainPosition_Types_Pck *TrainPosition_in, outC_Update_GP_then_LRBG_TA_Gradient *outC) { kcg_copy_trainPosition_T_TrainPosition_Types_Pck( &outC->_L4, TrainPosition_in); outC->_L13 = outC->_L4.LRBG.location.nominal; kcg_copy_P021_OBU_T_TM(&outC->_L2, P27V1_in); /* 1 */ _21_Convert_P21_to_DistancePr_TA_Gradient(&outC->_L2, &outC->Context_1); kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->_L6, &outC->Context_1.GradientProfile); kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L1, GP_in); /* 1 */ Update_GP_per_LRBG_TA_Lib_internal( &outC->_L6, &outC->_L1, &outC->_1_Context_1); kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->_L5, &outC->_1_Context_1.GradientdProfile_out); outC->_L11 = outC->_L4.prvLRBG.location.nominal; outC->_L10 = outC->_L13 - outC->_L11; /* 1 */ MoveGPSectionsToNewLRBGafter_TA_Lib_internal( &outC->_L5, outC->_L10, &outC->_2_Context_1); kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->_L12, &outC->_2_Context_1.ProfileOut); kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->new_profile_out, &outC->_L12); }
/* TA_Gradient_new::GP_Normalize_Profile_loop */ void GP_Normalize_Profile_loop_TA_Gradient_new( /* TA_Gradient_new::GP_Normalize_Profile_loop::i */ kcg_int i, /* TA_Gradient_new::GP_Normalize_Profile_loop::ProfileIn */ GradientProfile_t_TrackAtlasTypes *ProfileIn, /* TA_Gradient_new::GP_Normalize_Profile_loop::pos_BG */ L_internal_Type_Obu_BasicTypes_Pkg pos_BG, /* TA_Gradient_new::GP_Normalize_Profile_loop::ProfileNormalized_LRBG */ GradientProfile_t_TrackAtlasTypes *ProfileNormalized_LRBG) { /* TA_Gradient_new::GP_Normalize_Profile_loop */ Gradient_section_t_TrackAtlasTypes tmp; /* TA_Gradient_new::GP_Normalize_Profile_loop::_L4 */ Gradient_section_t_TrackAtlasTypes _L4; /* TA_Gradient_new::GP_Normalize_Profile_loop::_L26 */ kcg_int _L26; if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&_L4, &(*ProfileIn)[i]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &_L4, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GP_Section_TA_Gradient_new); } if ((0 <= i + 1) & (i + 1 < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&tmp, &(*ProfileIn)[i + 1]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &tmp, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GP_Section_TA_Gradient_new); } _L26 = tmp.Loc_Absolute - _L4.Loc_Absolute; kcg_copy_GradientProfile_t_TrackAtlasTypes(ProfileNormalized_LRBG, ProfileIn); kcg_copy_Gradient_section_t_TrackAtlasTypes(&tmp, &_L4); /* 2 */ if (_L4.valid) { tmp.Loc_LRBG = _L4.Loc_Absolute - pos_BG; } else { tmp.Loc_LRBG = 0; } /* 3 */ if (_L26 > 0) { tmp.L_Gradient = _L26; } else { tmp.L_Gradient = 0; } if ((0 <= i) & (i < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &(*ProfileNormalized_LRBG)[i], &tmp); } }
/* TA_Export::GradientProfile_to_DMI */ void GradientProfile_to_DMI_TA_Export( /* TA_Export::GradientProfile_to_DMI::Gradient_Profile_in */GradientProfile_t_TrackAtlasTypes *Gradient_Profile_in, outC_GradientProfile_to_DMI_TA_Export *outC) { kcg_int i; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L1, Gradient_Profile_in); for (i = 0; i < 50; i++) { /* 1 */ GradientProfile_to_DMI_loop_TA_Export(&outC->_L1[i], &outC->Context_1[i]); kcg_copy__3_GradientProfile_for_DMI_section_t_TrackAtlasTypes( &outC->_L2[i], &outC->Context_1[i].Gradiient_section_for_DMI_out); } kcg_copy_GradientProfile_for_DMI_t_TrackAtlasTypes( &outC->Gradient_Profile_for_DMI_out, &outC->_L2); }
/* TA_Lib_internal::FindStartOfNewGradientProfile_LOOP */ void FindStartOfNewGradientPro_TA_Lib_internal( /* TA_Lib_internal::FindStartOfNewGradientProfile_LOOP::i */kcg_int i, /* TA_Lib_internal::FindStartOfNewGradientProfile_LOOP::Acc */kcg_int Acc, /* TA_Lib_internal::FindStartOfNewGradientProfile_LOOP::distance_in */L_internal_Type_Obu_BasicTypes_Pkg distance_in, /* TA_Lib_internal::FindStartOfNewGradientProfile_LOOP::Profile_in */GradientProfile_t_TrackAtlasTypes *Profile_in, outC_FindStartOfNewGradientPro_TA_Lib_internal *outC) { kcg_int noname; outC->_L14 = i; outC->_L12 = 0; outC->_L13 = outC->_L14 > outC->_L12; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L2, Profile_in); outC->_L3 = i; if ((0 <= outC->_L3) & (outC->_L3 < 10)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L4, &outC->_L2[outC->_L3]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L4, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } outC->_L5 = outC->_L4.Loc_LRBG; 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::FindFirstRelevantGPForNewLRBG_Loop */ void FindFirstRelevantGPForNew_TA_Lib_internal( /* TA_Lib_internal::FindFirstRelevantGPForNewLRBG_Loop::i */kcg_int i, /* TA_Lib_internal::FindFirstRelevantGPForNewLRBG_Loop::Acc */kcg_int Acc, /* TA_Lib_internal::FindFirstRelevantGPForNewLRBG_Loop::Profile_in */GradientProfile_t_TrackAtlasTypes *Profile_in, /* TA_Lib_internal::FindFirstRelevantGPForNewLRBG_Loop::Distance_2LRBGs */kcg_int Distance_2LRBGs, outC_FindFirstRelevantGPForNew_TA_Lib_internal *outC) { kcg_int noname; outC->_L182 = i; outC->_L176 = 0; outC->_L181 = outC->_L182 > outC->_L176; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L170, Profile_in); outC->_L168 = i; if ((0 <= outC->_L168) & (outC->_L168 < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L172, &outC->_L170[outC->_L168]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L172, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GradientSection_TrackAtlasTypes); } outC->_L173 = outC->_L172.Loc_LRBG; 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_Gradient::GP_Convert_P21_to_DistanceProfile_loop */ void GP_Convert_P21_to_DistanceProfile_loop_TA_Gradient( /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::i */kcg_int i, /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::ProfileAccu */GradientProfile_t_TrackAtlasTypes *ProfileAccu, /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::SectionIn */P021_OBU_sectionlist_enum_T_TM *SectionIn, /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::q_scale */Q_SCALE q_scale, /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::GradientProfile */GradientProfile_t_TrackAtlasTypes *GradientProfile) { static kcg_int tmp4; static kcg_int tmp3; static G_internal_Type_Obu_BasicTypes_Pkg tmp2; static L_internal_Type_Obu_BasicTypes_Pkg tmp1; static P021_section_enum_T_TM tmp; /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::_L123 */ static P021_section_enum_T_TM _L123; /* TA_Gradient::GP_Convert_P21_to_DistanceProfile_loop::_L143 */ static Gradient_section_t_TrackAtlasTypes _L143; if ((0 <= i - 1) & (i - 1 < 50)) { kcg_copy_Gradient_section_t_TrackAtlasTypes(&_L143, &(*ProfileAccu)[i - 1]); } else { kcg_copy_Gradient_section_t_TrackAtlasTypes( &_L143, (Gradient_section_t_TrackAtlasTypes *) &DEFAULT_GP_Section_TA_Gradient); } if ((0 <= i) & (i < 33)) { kcg_copy_P021_section_enum_T_TM(&_L123, &(*SectionIn)[i]); } else { kcg_copy_P021_section_enum_T_TM( &_L123, (P021_section_enum_T_TM *) &DEFAULT_P021_OBU_section_TM); } tmp2 = /* 3 */ Normalize_Distance_d_internal_t_TA_Lib_internal(q_scale, _L123.d_gradient); kcg_copy_GradientProfile_t_TrackAtlasTypes(GradientProfile, ProfileAccu); if (_L123.valid) { tmp4 = tmp2 + _L143.Loc_Absolute; tmp3 = tmp2 + _L143.Loc_LRBG; } else { tmp4 = 0; tmp3 = 0; } tmp2 = /* 2 */ EVAL_Q_GDIR_TA_Lib_internal(_L123.q_gdir, _L123.g_a); if ((0 <= i + 1) & (i + 1 < 33)) { kcg_copy_P021_section_enum_T_TM(&tmp, &(*SectionIn)[i + 1]); } else { kcg_copy_P021_section_enum_T_TM( &tmp, (P021_section_enum_T_TM *) &DEFAULT_P021_OBU_section_TM); } tmp1 = /* 4 */ Normalize_Distance_d_internal_t_TA_Lib_internal(q_scale, tmp.d_gradient); if ((0 <= i) & (i < 50)) { (*GradientProfile)[i].valid = _L123.valid; (*GradientProfile)[i].Loc_Absolute = tmp4; (*GradientProfile)[i].Loc_LRBG = tmp3; (*GradientProfile)[i].Gradient = tmp2; (*GradientProfile)[i].L_Gradient = tmp1; } }
/* TA_Gradient::Convert_P21_to_DistanceProfile_loop */ void Convert_P21_to_DistancePr_TA_Gradient( /* TA_Gradient::Convert_P21_to_DistanceProfile_loop::i */kcg_int i, /* TA_Gradient::Convert_P21_to_DistanceProfile_loop::acc */GradientProfile_t_TrackAtlasTypes *acc, /* TA_Gradient::Convert_P21_to_DistanceProfile_loop::SectionIn */P021_OBU_sectionlist_enum_T_TM *SectionIn, /* TA_Gradient::Convert_P21_to_DistanceProfile_loop::q_scale */Q_SCALE q_scale, outC_Convert_P21_to_DistancePr_TA_Gradient *outC) { outC->_L134 = i; outC->_L126 = 1; outC->_L141 = outC->_L134 + outC->_L126; kcg_copy_P021_OBU_sectionlist_enum_T_TM(&outC->_L128, SectionIn); if ((0 <= outC->_L141) & (outC->_L141 < 33)) { kcg_copy_P021_section_enum_T_TM(&outC->_L140, &outC->_L128[outC->_L141]); } else { kcg_copy_P021_section_enum_T_TM( &outC->_L140, (P021_section_enum_T_TM *) &DEFAULT_P021_OBU_section_TM); } outC->_L139 = q_scale; kcg_copy_P021_OBU_sectionlist_enum_T_TM(&outC->_L121, SectionIn); if ((0 <= outC->_L134) & (outC->_L134 < 33)) { kcg_copy_P021_section_enum_T_TM(&outC->_L123, &outC->_L121[outC->_L134]); } else { kcg_copy_P021_section_enum_T_TM( &outC->_L123, (P021_section_enum_T_TM *) &DEFAULT_P021_OBU_section_TM); } outC->_L138 = outC->_L123.d_gradient; outC->_L137 = outC->_L140.d_gradient; outC->_L130 = outC->_L123.valid; /* 3 */ Normalize_Distance_d_inte_TA_Lib_internal( outC->_L139, outC->_L138, &outC->Context_3); outC->_L135 = outC->Context_3.d_internal; outC->_L129 = outC->_L123.q_gdir; outC->_L124 = outC->_L123.g_a; /* 2 */ EVAL_Q_GDIR_TA_Lib_internal(outC->_L129, outC->_L124, &outC->Context_2); outC->_L127 = outC->Context_2.gradient; /* 4 */ Normalize_Distance_d_inte_TA_Lib_internal( outC->_L139, outC->_L137, &outC->Context_4); outC->_L122 = outC->Context_4.d_internal; outC->_L132 = outC->_L122 - outC->_L135; outC->_L136.valid = outC->_L130; outC->_L136.Loc_Absolute = outC->_L135; outC->_L136.Loc_LRBG = outC->_L135; outC->_L136.Gradient = outC->_L127; outC->_L136.L_Gradient = outC->_L132; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L125, acc); outC->_L131 = i; kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->_L133, &outC->_L125); if ((0 <= outC->_L131) & (outC->_L131 < 10)) { kcg_copy_Gradient_section_t_TrackAtlasTypes( &outC->_L133[outC->_L131], &outC->_L136); } kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->GradientProfile, &outC->_L133); }
/* TA_Gradient::Build_GradientProfile */ void Build_GradientProfile_TA_Gradient( /* TA_Gradient::Build_GradientProfile::reset */kcg_bool reset, /* TA_Gradient::Build_GradientProfile::MessageIn */ReceivedMessage_T_Common_Types_Pkg *MessageIn, /* TA_Gradient::Build_GradientProfile::train_position */trainPosition_T_TrainPosition_Types_Pck *train_position, outC_Build_GradientProfile_TA_Gradient *outC) { /* TA_Gradient::Build_GradientProfile::_L60 */ static P021_OBU_T_TM _L60; /* TA_Gradient::Build_GradientProfile::_L108 */ static kcg_int _L108; /* TA_Gradient::Build_GradientProfile::_L240 */ static kcg_bool _L240; /* TA_Gradient::Build_GradientProfile::_L243 */ static kcg_int _L243; /* TA_Gradient::Build_GradientProfile::_L244 */ static kcg_bool _L244; /* 1 */ Read_P021_TM(&(*MessageIn).packets, &outC->updated, &_L60); if (outC->init) { _L243 = 0; } else { _L243 = outC->rem__L111; } _L240 = outC->updated | (_L243 != (*train_position).LRBG.nid_bg); /* 1 */ Eval_LRBG_TA_Lib_internal(MessageIn, &_L244, &_L243, &_L108); if (outC->updated) { /* 1 */ GP_Preprocessing_TA_Gradient( &_L60, reset, (kcg_bool) (_L108 == (*train_position).LRBG.nid_bg), (kcg_bool) (_L108 == (*train_position).prvLRBG.nid_bg), (*train_position).LRBG.location.nominal, (*train_position).prvLRBG.location.nominal, &outC->_L237); } else if (outC->init) { kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->_L237, (GradientProfile_t_TrackAtlasTypes *) &DEFAULT_GradientProfile_TrackAtlasTypes); } if (_L240) { /* 1 */ GP_Postprocessing_TA_Gradient( &outC->_L237, (*train_position).LRBG.location.nominal, (*train_position).prvLRBG.location.nominal, (*train_position).prvLRBG.valid, &outC->Context_1); kcg_copy_GradientProfile_t_TrackAtlasTypes(&outC->GP, &outC->Context_1.GP); outC->available = outC->Context_1.available; } else if (outC->init) { outC->available = kcg_false; kcg_copy_GradientProfile_t_TrackAtlasTypes( &outC->GP, (GradientProfile_t_TrackAtlasTypes *) &DEFAULT_GradientProfile_TrackAtlasTypes); } outC->init = kcg_false; outC->rem__L111 = (*train_position).LRBG.nid_bg; }