/* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2 */
void C_P027V1_compr_onboard_sections_level2_TM_conversions_baseline2(
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::PacketData */ CompressedPacketData_T_Common_Types_Pkg *PacketData,
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::Metadata_Element */ MetadataElement_T_Common_Types_Pkg *Metadata_Element,
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::P027V1_section_onbard */ P027V1_section_enum_T_TM_baseline2 *P027V1_section_onbard)
{
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2 */
  static kcg_bool cond_iterw;
  static kcg_int i;
  static kcg_int noname_1;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L6 */
  static array_int_3 _L6;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L5 */
  static P027V1_OBU_sectionlist_enum_qdiff_T_TM_baseline2 _L5;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L29 */
  static array_int_64 _L29;
  
  (*P027V1_section_onbard).valid = kcg_true;
  (*P027V1_section_onbard).n_iter = (*PacketData)[3];
  kcg_copy_array_int_3(&_L6, (array_int_3 *) &(*PacketData)[0]);
  kcg_copy_array_int_64(&_L29, (array_int_64 *) &(*PacketData)[4]);
  /* 1 */ if ((*PacketData)[3] < 0) {
    /* 1 */ for (i = 0; i < 32; i++) {
      /* 1_1 */
      C_P027V1_us_array_qdiff_TM_lib_internal(
        i,
        (*PacketData)[3],
        &_L29,
        &cond_iterw,
        &_L5[i]);
      noname_1 = i + 1;
      /* 1 */ if (!cond_iterw) {
        break;
      }
    }
  }
  else {
    noname_1 = 0;
  }
#ifdef KCG_MAPW_CPY
  
  /* 1 */ for (i = noname_1; i < 32; i++) {
    kcg_copy_P027V1_section_enum_qdiff_T_TM_baseline2(
      &_L5[i],
      (P027V1_section_enum_qdiff_T_TM_baseline2 *)
        &DEFAULT_P027v1_OBU_section_qdiff_TM_baseline2);
  }
#endif /* KCG_MAPW_CPY */
  
  kcg_copy_P027V1_OBU_sectionlist_enum_qdiff_T_TM_baseline2(
    &(*P027V1_section_onbard).SECTIONS_q_diff,
    &_L5);
  (*P027V1_section_onbard).d_static = /* 1 */
    CAST_Int_to_D_STATIC_TM_conversions(_L6[0]);
  (*P027V1_section_onbard).v_static = /* 1 */
    CAST_Int_to_V_STATIC_TM_conversions(_L6[1]);
  (*P027V1_section_onbard).q_front = /* 1 */
    CAST_Int_to_Q_FRONT_TM_conversions(_L6[2]);
}
/* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2 */
void C_P027V1_compr_onboard_sections_level2_TM_conversions_baseline2(
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::PacketData */CompressedPacketData_T_Common_Types_Pkg *PacketData,
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::Metadata_Element */MetadataElement_T_Common_Types_Pkg *Metadata_Element,
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::P027V1_section_onbard */P027V1_section_enum_T_TM_baseline2 *P027V1_section_onbard)
{
  static kcg_bool tmp2;
  static D_STATIC tmp1;
  static V_STATIC tmp;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L6 */
  static array_int_3 _L6;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L5 */
  static P027V1_OBU_sectionlist_enum_qdiff_T_TM_baseline2 _L5;
  /* TM_conversions_baseline2::C_P027V1_compr_onboard_sections_level2::_L29 */
  static array_int_64 _L29;
  
  (*P027V1_section_onbard).valid = kcg_true;
  (*P027V1_section_onbard).n_iter = (*PacketData)[3];
  kcg_copy_array_int_64(&_L29, (array_int_64 *) &(*PacketData)[4]);
  kcg_copy_array_int_3(&_L6, (array_int_3 *) &(*PacketData)[0]);
  if ((*PacketData)[3] < 0) {
    for (tmp1 = 0; tmp1 < 32; tmp1++) {
      /* 1_1 */
      C_P027V1_us_array_qdiff_TM_lib_internal(
        tmp1,
        (*PacketData)[3],
        &_L29,
        &tmp2,
        &_L5[tmp1]);
      tmp = tmp1 + 1;
      if (!tmp2) {
        break;
      }
    }
  }
  else {
    tmp = 0;
  }
#ifdef KCG_MAPW_CPY
  
  for (tmp1 = tmp; tmp1 < 32; tmp1++) {
    kcg_copy_P027V1_section_enum_qdiff_T_TM_baseline2(
      &_L5[tmp1],
      (P027V1_section_enum_qdiff_T_TM_baseline2 *)
        &DEFAULT_P027v1_OBU_section_qdiff_TM_baseline2);
  }
#endif /* KCG_MAPW_CPY */
  
  kcg_copy_P027V1_OBU_sectionlist_enum_qdiff_T_TM_baseline2(
    &(*P027V1_section_onbard).SECTIONS_q_diff,
    &_L5);
  tmp1 = /* 1 */ CAST_Int_to_D_STATIC_TM_conversions(_L6[0]);
  (*P027V1_section_onbard).d_static = tmp1;
  (*P027V1_section_onbard).v_static = /* 1 */
    CAST_Int_to_V_STATIC_TM_conversions(_L6[1]);
  (*P027V1_section_onbard).q_front = /* 1 */
    CAST_Int_to_Q_FRONT_TM_conversions(_L6[2]);
}
/* TM_lib_internal::C_P027V1_us_array_qdiff */
void C_P027V1_us_array_qdiff_TM_lib_internal(
  /* TM_lib_internal::C_P027V1_us_array_qdiff::i */kcg_int i,
  /* TM_lib_internal::C_P027V1_us_array_qdiff::n_iter_int */kcg_int n_iter_int,
  /* TM_lib_internal::C_P027V1_us_array_qdiff::flat */P027V1_sections_array_flat_qdiff_T_TM_baseline2 *flat,
  outC_C_P027V1_us_array_qdiff_TM_lib_internal *outC)
{
  outC->_L3 = n_iter_int;
  outC->_L5 = i;
  outC->_L33 = outC->_L3 > outC->_L5;
  outC->_L32 = kcg_true;
  outC->_L18 = DIM_P027V1_n_sections_qdiff_TM_lib_internal;
  outC->_L16 = outC->_L5 * outC->_L18;
  kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(&outC->_L1, flat);
  /* 2 */
  C_P027V1_extract_el_section_TM_lib_internal(
    outC->_L16,
    &outC->_L1,
    1,
    &outC->Context_2);
  outC->_L19 = outC->Context_2.element;
  /* 1 */ CAST_Int_to_V_DIFF_TM_conversions(outC->_L19, &outC->Context_1);
  outC->_L28 = outC->Context_1.v_diff;
  /* 1 */
  C_P027V1_extract_el_section_TM_lib_internal(
    outC->_L16,
    &outC->_L1,
    0,
    &outC->_1_Context_1);
  outC->_L15 = outC->_1_Context_1.element;
  /* 1 */ CAST_Int_to_NC_DIFF_TM_conversions(outC->_L15, &outC->_2_Context_1);
  outC->_L25 = outC->_2_Context_1.nc_diff;
  outC->cont = outC->_L33;
  outC->_L4.valid = outC->_L32;
  outC->_L4.nc_diff = outC->_L25;
  outC->_L4.v_diff = outC->_L28;
  kcg_copy_P027V1_section_enum_qdiff_T_TM_baseline2(
    &outC->sections,
    &outC->_L4);
}