Esempio n. 1
0
static void c9_chartstep_c9_Array(SFc9_ArrayInstanceStruct *chartInstance)
{
  real_T c9_hoistedGlobal;
  real_T c9_b_hoistedGlobal;
  real_T c9_c_hoistedGlobal;
  real_T c9_V;
  real_T c9_Radiacion;
  real_T c9_Temp;
  uint32_T c9_debug_family_var_map[23];
  real_T c9_q;
  real_T c9_K;
  real_T c9_n;
  real_T c9_T;
  real_T c9_Rs;
  real_T c9_Rp;
  real_T c9_Vt;
  real_T c9_Ns;
  real_T c9_Vc;
  real_T c9_Isc;
  real_T c9_Alfa;
  real_T c9_Iph;
  real_T c9_Voc_ref;
  real_T c9_Beta;
  real_T c9_Voc;
  real_T c9_Io;
  real_T c9_Ir;
  real_T c9_nargin = 3.0;
  real_T c9_nargout = 1.0;
  real_T c9_I;
  real_T c9_b;
  real_T c9_y;
  real_T c9_A;
  real_T c9_x;
  real_T c9_b_x;
  real_T c9_c_x;
  real_T c9_d_x;
  real_T c9_b_b;
  real_T c9_b_y;
  real_T c9_b_A;
  real_T c9_e_x;
  real_T c9_f_x;
  real_T c9_c_y;
  real_T c9_c_b;
  real_T c9_d_y;
  real_T c9_a;
  real_T c9_d_b;
  real_T c9_e_b;
  real_T c9_e_y;
  real_T c9_f_b;
  real_T c9_c_A;
  real_T c9_B;
  real_T c9_g_x;
  real_T c9_f_y;
  real_T c9_h_x;
  real_T c9_g_y;
  real_T c9_h_y;
  real_T c9_i_x;
  real_T c9_j_x;
  real_T c9_b_B;
  real_T c9_i_y;
  real_T c9_j_y;
  int32_T c9_i;
  real_T c9_k_x;
  real_T c9_k_y;
  real_T c9_l_x;
  real_T c9_l_y;
  real_T c9_z;
  real_T c9_m_x;
  real_T c9_n_x;
  real_T c9_d_A;
  real_T c9_o_x;
  real_T c9_p_x;
  real_T c9_m_y;
  real_T c9_n_y;
  real_T c9_o_y;
  real_T c9_b_z;
  real_T c9_b_a;
  real_T c9_g_b;
  real_T c9_p_y;
  real_T c9_q_x;
  real_T c9_q_y;
  real_T c9_r_x;
  real_T c9_r_y;
  real_T c9_c_z;
  real_T c9_s_x;
  real_T c9_t_x;
  real_T c9_u_x;
  real_T c9_s_y;
  real_T c9_v_x;
  real_T c9_t_y;
  real_T c9_d_z;
  real_T *c9_b_Temp;
  real_T *c9_b_Radiacion;
  real_T *c9_b_V;
  real_T *c9_b_I;
  c9_b_Temp = (real_T *)ssGetInputPortSignal(chartInstance->S, 2);
  c9_b_Radiacion = (real_T *)ssGetInputPortSignal(chartInstance->S, 1);
  c9_b_I = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1);
  c9_b_V = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
  c9_hoistedGlobal = *c9_b_V;
  c9_b_hoistedGlobal = *c9_b_Radiacion;
  c9_c_hoistedGlobal = *c9_b_Temp;
  c9_V = c9_hoistedGlobal;
  c9_Radiacion = c9_b_hoistedGlobal;
  c9_Temp = c9_c_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 23U, 23U, c9_debug_family_names,
    c9_debug_family_var_map);
  sf_debug_symbol_scope_add_eml(&c9_q, 0U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_K, 1U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_n, 2U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_T, 3U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_Rs, 4U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_Rp, 5U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_Vt, 6U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_Ns, 7U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_Vc, 8U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_Isc, 9U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_Alfa, 10U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_Iph, 11U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_Voc_ref, 12U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_Beta, 13U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_Voc, 14U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_Io, 15U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_Ir, 16U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargin, 17U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c9_nargout, 18U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c9_V, 19U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_Radiacion, 20U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml(&c9_Temp, 21U, c9_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(&c9_I, 22U, c9_sf_marshallOut,
    c9_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 3);
  c9_q = 1.602176E-19;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 5);
  c9_K = 1.3806488E-23;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 7);
  c9_n = 1.3;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 9);
  c9_T = 273.15 + c9_Temp;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 11);
  c9_Rs = 0.015;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 13);
  c9_Rp = 100.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 15);
  c9_b = c9_T;
  c9_y = 1.79484344E-23 * c9_b;
  c9_A = c9_y;
  c9_x = c9_A;
  c9_b_x = c9_x;
  c9_Vt = c9_b_x / 1.602176E-19;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 16);
  c9_Ns = 36.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 17);
  c9_c_x = c9_V;
  c9_d_x = c9_c_x;
  c9_Vc = c9_d_x / 36.0;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 19);
  c9_Isc = 5.433;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 20);
  c9_Alfa = 0.00037;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 22);
  c9_b_b = c9_Radiacion;
  c9_b_y = 5.433 * c9_b_b;
  c9_b_A = c9_b_y;
  c9_e_x = c9_b_A;
  c9_f_x = c9_e_x;
  c9_c_y = c9_f_x / 1000.0;
  c9_c_b = c9_Temp - 25.0;
  c9_d_y = 0.00037 * c9_c_b;
  c9_a = c9_c_y;
  c9_d_b = 1.0 + c9_d_y;
  c9_Iph = c9_a * c9_d_b;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 24);
  c9_Voc_ref = 0.6166666666666667;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 25);
  c9_Beta = -0.0034000000000000002;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 26);
  c9_e_b = c9_Temp - 25.0;
  c9_e_y = -0.0034000000000000002 * c9_e_b;
  c9_f_b = 1.0 + c9_e_y;
  c9_Voc = 0.6166666666666667 * c9_f_b;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 32);
  c9_c_A = c9_Voc;
  c9_B = c9_Vt;
  c9_g_x = c9_c_A;
  c9_f_y = c9_B;
  c9_h_x = c9_g_x;
  c9_g_y = c9_f_y;
  c9_h_y = c9_h_x / c9_g_y;
  c9_i_x = c9_h_y;
  c9_j_x = c9_i_x;
  c9_j_x = muDoubleScalarExp(c9_j_x);
  c9_b_B = c9_j_x - 1.0;
  c9_i_y = c9_b_B;
  c9_j_y = c9_i_y;
  c9_Io = 5.433 / c9_j_y;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 33);
  c9_Ir = c9_Io;
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 36);
  c9_I = 0.0;
  c9_i = 0;
  while (c9_i < 50) {
    CV_EML_FOR(0, 1, 0, 1);
    _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, 38);
    c9_k_x = c9_Vc + c9_I * c9_Rs;
    c9_k_y = c9_Vt;
    c9_l_x = c9_k_x;
    c9_l_y = c9_k_y;
    c9_z = c9_l_x / c9_l_y;
    c9_m_x = c9_z;
    c9_n_x = c9_m_x;
    c9_n_x = muDoubleScalarExp(c9_n_x);
    c9_d_A = c9_Vc + c9_I * c9_Rs;
    c9_o_x = c9_d_A;
    c9_p_x = c9_o_x;
    c9_m_y = c9_p_x / 100.0;
    c9_n_y = c9_Vt;
    c9_o_y = c9_n_y;
    c9_b_z = 0.015 / c9_o_y;
    c9_b_a = c9_Ir;
    c9_g_b = c9_b_z;
    c9_p_y = c9_b_a * c9_g_b;
    c9_q_x = c9_Vc + c9_I * c9_Rs;
    c9_q_y = c9_Vt;
    c9_r_x = c9_q_x;
    c9_r_y = c9_q_y;
    c9_c_z = c9_r_x / c9_r_y;
    c9_s_x = c9_c_z;
    c9_t_x = c9_s_x;
    c9_t_x = muDoubleScalarExp(c9_t_x);
    c9_u_x = ((c9_Iph - c9_I) - c9_Ir * (c9_n_x - 1.0)) + c9_m_y;
    c9_s_y = (-1.0 - c9_p_y * c9_t_x) - 0.00015;
    c9_v_x = c9_u_x;
    c9_t_y = c9_s_y;
    c9_d_z = c9_v_x / c9_t_y;
    c9_I -= c9_d_z;
    c9_i++;
    sf_mex_listen_for_ctrl_c(chartInstance->S);
  }

  CV_EML_FOR(0, 1, 0, 0);
  _SFD_EML_CALL(0U, chartInstance->c9_sfEvent, -38);
  sf_debug_symbol_scope_pop();
  *c9_b_I = c9_I;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 8U, chartInstance->c9_sfEvent);
}
Esempio n. 2
0
static void sf_c5_YCbCrTesting(SFc5_YCbCrTestingInstanceStruct *chartInstance)
{
  int32_T c5_cbits;
  uint32_T c5_in[20];
  real32_T c5_out[64];
  int32_T c5_b_cbits;
  real_T c5_inpos;
  uint32_T c5_Temp;
  uint32_T c5_run;
  uint32_T c5_val;
  uint32_T c5_b_Temp;
  real_T c5_i;
  boolean_T c5_exitg1;
  uint32_T c5_b_run;
  real_T c5_b_inpos;
  real_T c5_flag;
  uint32_T c5_b_val;
  int32_T c5_j;
  real32_T (*c5_b_out)[64];
  uint32_T (*c5_b_in)[20];
  c5_b_out = (real32_T (*)[64])ssGetOutputPortSignal(chartInstance->S, 1);
  c5_b_in = (uint32_T (*)[20])ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  for (c5_cbits = 0; c5_cbits < 20; c5_cbits++) {
    c5_in[c5_cbits] = (*c5_b_in)[c5_cbits];
  }

  chartInstance->c5_prev_out_not_empty = TRUE;
  for (c5_cbits = 0; c5_cbits < 64; c5_cbits++) {
    c5_out[c5_cbits] = chartInstance->c5_prev_out[c5_cbits];
  }

  c5_b_cbits = 0;
  c5_inpos = 2.0;
  c5_Temp = 0U;
  c5_run = 0U;
  c5_val = 0U;
  if (((*c5_b_in)[0] & 2147483648U) != 0U) {
    c5_b_Temp = MAX_uint32_T - (*c5_b_in)[0];
    if (c5_b_Temp > 2147483647U) {
      c5_b_Temp = 2147483647U;
    }

    c5_out[0] = (real32_T)(-(int32_T)c5_b_Temp - 1);
  } else {
    c5_b_Temp = (*c5_b_in)[0];
    if (c5_b_Temp > 2147483647U) {
      c5_b_Temp = 2147483647U;
    }

    c5_out[0] = (real32_T)c5_b_Temp;
  }

  c5_i = 2.0;
  c5_exitg1 = 0U;
  while ((c5_exitg1 == 0U) && (c5_i <= 64.0)) {
    c5_getbits(chartInstance, c5_b_cbits, c5_inpos, c5_Temp, c5_in, c5_run, 4.0,
               &c5_flag, &c5_cbits, &c5_b_inpos, &c5_b_Temp, &c5_b_run);
    c5_run = c5_b_run;
    if ((!(c5_flag != 0.0)) || (c5_b_run == 15U)) {
      c5_exitg1 = 1U;
    } else {
      c5_getbits(chartInstance, c5_cbits, c5_b_inpos, c5_b_Temp, c5_in, c5_val,
                 8.0, &c5_flag, &c5_b_cbits, &c5_inpos, &c5_Temp, &c5_b_val);
      c5_val = c5_b_val;
      if (!(c5_flag != 0.0)) {
        c5_exitg1 = 1U;
      } else {
        c5_flag = (real_T)c5_b_run + c5_i;
        c5_flag = muDoubleScalarFloor(c5_flag + 0.5);
        if (c5_flag < 4.294967296E+9) {
          c5_b_Temp = (uint32_T)c5_flag;
        } else {
          c5_b_Temp = MAX_uint32_T;
        }

        if (c5_b_Temp > 64U) {
          c5_cbits = 64;
        } else {
          c5_cbits = (int32_T)c5_b_Temp;
        }

        c5_j = (int32_T)c5_i;
        while ((uint32_T)c5_j <= (uint32_T)c5_cbits) {
          c5_out[c5_j - 1] = (real32_T)c5_b_val - 128.0F;
          c5_j = (int32_T)((uint32_T)c5_j + 1U);
          sf_mex_listen_for_ctrl_c(chartInstance->S);
        }

        c5_i = (c5_i + (real_T)c5_b_run) + 1.0;
        sf_mex_listen_for_ctrl_c(chartInstance->S);
      }
    }
  }

  while (c5_i <= 64.0) {
    c5_out[(int32_T)c5_i - 1] = 0.0F;
    c5_i++;
    sf_mex_listen_for_ctrl_c(chartInstance->S);
  }

  for (c5_cbits = 0; c5_cbits < 64; c5_cbits++) {
    chartInstance->c5_prev_out[c5_cbits] = c5_out[c5_cbits];
    (*c5_b_out)[c5_cbits] = c5_out[c5_cbits];
  }
}
Esempio n. 3
0
static void sf_c2_object_tracker_intensity(void)
{
  int32_T c2_em_i0;
  int32_T c2_em_i1;
  int32_T c2_em_i2;
  int32_T c2_em_i3;
  int32_T c2_em_i4;
  int32_T c2_em_i5;
  uint8_T c2_previousEvent;
  int32_T c2_em_i6;
  int32_T c2_em_i7;
  uint16_T c2_b_CentroidArray[10][2];
  real_T c2_b_booleof;
  int32_T c2_em_i8;
  uint16_T c2_b_StartCoords[2];
  uint16_T c2_b_VidSize[2];
  uint16_T c2_centroid[2];
  real_T c2_i;
  uint16_T c2_m;
  uint16_T c2_myvector[10][1];
  uint16_T c2_ally[10][1];
  uint16_T c2_allx[10][1];
  uint16_T c2_z[2];
  uint16_T c2_b_CentroidCol;
  uint16_T c2_b_LineVector[4][1];
  uint16_T c2_b_CentroidCoords[2];
  boolean_T c2_r;
  int32_T c2_em_i9;
  int32_T c2_em_i10;
  int32_T c2_em_i11;
  uint16_T c2_c_CentroidArray[10][1];
  uint16_T c2_b_z;
  int32_T c2_em_i12;
  uint32_T c2_em_u0;
  uint32_T c2_em_u1;
  uint32_T c2_em_u2;
  uint16_T c2_em_u3;
  int32_T c2_em_i13;
  uint16_T c2_d_CentroidArray[10][1];
  uint16_T c2_c_z;
  int32_T c2_em_i14;
  uint32_T c2_em_u4;
  uint32_T c2_em_u5;
  uint32_T c2_em_u6;
  uint16_T c2_em_u7;
  int32_T c2_em_i15;
  uint16_T c2_b_allx[10][1];
  uint16_T c2_em_uv0[10][1];
  int32_T c2_em_i16;
  uint16_T c2_b_ally[10][1];
  uint16_T c2_em_uv1[10][1];
  int32_T c2_em_i17;
  uint32_T c2_em_u8;
  uint16_T c2_em_u9;
  int32_T c2_em_i18;
  uint16_T c2_x[10][1];
  uint16_T c2_b_x[10][1];
  real_T c2_jstart;
  uint16_T c2_minval;
  real_T c2_indx;
  real_T c2_j1;
  real_T c2_b_j1;
  uint16_T c2_a;
  uint16_T c2_b;
  boolean_T c2_p;
  uint16_T c2_b_minval;
  real_T c2_b_indx;
  int32_T c2_em_i19;
  static int32_T c2_em_iv0[2][1] = { { 0 }, { 1 } };
  int32_T c2_em_i20;
  int32_T c2_em_i21;
  int32_T c2_em_i22;
  uint16_T c2_A;
  real_T c2_B;
  uint16_T c2_c_x;
  real_T c2_y;
  uint16_T c2_d_x;
  real_T c2_b_y;
  real_T c2_k;
  real_T c2_b_k;
  uint16_T c2_e_x;
  real_T c2_c_y;
  real_T c2_c_k;
  real_T c2_d_k;
  uint16_T c2_f_x;
  uint16_T c2_xk;
  real_T c2_b_xk;
  real_T c2_g_x;
  real_T c2_c_xk;
  real_T c2_yk;
  real_T c2_zk;
  real_T c2_em_d0;
  real_T c2_em_d1;
  uint16_T c2_d_z;
  uint16_T c2_e_z;
  uint16_T c2_f_z;
  uint16_T c2_d_y;
  int32_T c2_em_i23;
  int32_T c2_em_i24;
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  for(c2_em_i0 = 0; c2_em_i0 < 2; c2_em_i0 = c2_em_i0 + 1) {
    _SFD_DATA_RANGE_CHECK((real_T)c2_CentroidCoords()[c2_em_i0], 1U);
  }
  for(c2_em_i1 = 0; c2_em_i1 < 10; c2_em_i1 = c2_em_i1 + 1) {
    for(c2_em_i2 = 0; c2_em_i2 < 2; c2_em_i2 = c2_em_i2 + 1) {
      _SFD_DATA_RANGE_CHECK((real_T)c2_CentroidArray()[(c2_em_i1 << 1) +
       c2_em_i2], 5U);
    }
  }
  for(c2_em_i3 = 0; c2_em_i3 < 4; c2_em_i3 = c2_em_i3 + 1) {
    _SFD_DATA_RANGE_CHECK((real_T)c2_LineVector()[c2_em_i3], 2U);
  }
  _SFD_DATA_RANGE_CHECK(*c2_booleof(), 3U);
  for(c2_em_i4 = 0; c2_em_i4 < 2; c2_em_i4 = c2_em_i4 + 1) {
    _SFD_DATA_RANGE_CHECK((real_T)c2_StartCoords()[c2_em_i4], 6U);
  }
  for(c2_em_i5 = 0; c2_em_i5 < 2; c2_em_i5 = c2_em_i5 + 1) {
    _SFD_DATA_RANGE_CHECK((real_T)c2_VidSize()[c2_em_i5], 0U);
  }
  _SFD_DATA_RANGE_CHECK((real_T)*c2_CentroidCol(), 4U);
  c2_previousEvent = _sfEvent_;
  _sfEvent_ = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,1);
  for(c2_em_i6 = 0; c2_em_i6 < 10; c2_em_i6 = c2_em_i6 + 1) {
    for(c2_em_i7 = 0; c2_em_i7 < 2; c2_em_i7 = c2_em_i7 + 1) {
      c2_b_CentroidArray[c2_em_i6][c2_em_i7] = c2_CentroidArray()[(c2_em_i6 <<
        1) + c2_em_i7];
    }
  }
  c2_b_booleof = *c2_booleof();
  for(c2_em_i8 = 0; c2_em_i8 < 2; c2_em_i8 = c2_em_i8 + 1) {
    c2_b_StartCoords[c2_em_i8] = c2_StartCoords()[c2_em_i8];
    c2_b_VidSize[c2_em_i8] = c2_VidSize()[c2_em_i8];
  }
  sf_debug_push_symbol_scope(15U, 0U);
  sf_debug_symbol_scope_add_symbol("LastCentroid", 5, 1U, 2U, 0U, 0U, 1.0, 0,
   0.0, 0U, 0, 0U, 1, &chartInstance.c2_LastCentroid, 0);
  sf_debug_symbol_scope_add_symbol("centroid", 5, 1U, 2U, 0U, 0U, 1.0, 0, 0.0,
   0U, 0, 0U, 1, &c2_centroid, 0);
  sf_debug_symbol_scope_add_symbol("i", 0, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
   0U, 0, &c2_i, 0);
  sf_debug_symbol_scope_add_symbol("m", 5, 0U, 0U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
   0U, 0, &c2_m, 0);
  sf_debug_symbol_scope_add_symbol("myvector", 5, 2U, 1U, 10U, 0U, 1.0, 0, 0.0,
   0U, 0, 0U, 1, &c2_myvector, 0);
  sf_debug_symbol_scope_add_symbol("ally", 5, 2U, 1U, 10U, 0U, 1.0, 0, 0.0, 0U,
   0, 0U, 1, &c2_ally, 0);
  sf_debug_symbol_scope_add_symbol("allx", 5, 2U, 1U, 10U, 0U, 1.0, 0, 0.0, 0U,
   0, 0U, 1, &c2_allx, 0);
  sf_debug_symbol_scope_add_symbol("z", 5, 1U, 2U, 0U, 0U, 1.0, 0, 0.0, 0U, 0,
   0U, 1, &c2_z, 0);
  sf_debug_symbol_scope_add_symbol("CentroidCol", 5, 0U, 0U, 0U, 0U, 1.0, 0,
   0.0, 0U, 0, 0U, 0, &c2_b_CentroidCol, 0);
  sf_debug_symbol_scope_add_symbol("LineVector", 5, 2U, 1U, 4U, 0U, 1.0, 0, 0.0,
   0U, 0, 0U, 1, &c2_b_LineVector, 0);
  sf_debug_symbol_scope_add_symbol("CentroidCoords", 5, 1U, 2U, 0U, 0U, 1.0, 0,
   0.0, 0U, 0, 0U, 1, &c2_b_CentroidCoords, 0);
  sf_debug_symbol_scope_add_symbol("VidSize", 5, 1U, 2U, 0U, 0U, 1.0, 0, 0.0,
   0U, 0, 0U, 1, &c2_b_VidSize, 0);
  sf_debug_symbol_scope_add_symbol("StartCoords", 5, 1U, 2U, 0U, 0U, 1.0, 0,
   0.0, 0U, 0, 0U, 1, &c2_b_StartCoords, 0);
  sf_debug_symbol_scope_add_symbol("booleof", 0, 0U, 0U, 0U, 0U, 1.0, 0, 0.0,
   0U, 0, 0U, 0, &c2_b_booleof, 0);
  sf_debug_symbol_scope_add_symbol("CentroidArray", 5, 2U, 2U, 10U, 0U, 1.0, 0,
   0.0, 0U, 0, 0U, 1, &c2_b_CentroidArray, 0);
  CV_EML_FCN(0, 0);
  /*  This block supports an embeddable subset of the MATLAB language. */
  /*  See the help menu for details.  */
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,6);
  if(CV_EML_COND(0, 0, !chartInstance.c2_LastCentroid_not_empty)) {
  } else {
    c2_r = true;
    if(CV_EML_COND(0, 1, c2_b_booleof == (real_T)c2_r)) {
    } else {
      CV_EML_MCDC(0, 0, false);
      CV_EML_IF(0, 0, false);
      goto label_1;
    }
  }
  CV_EML_MCDC(0, 0, true);
  CV_EML_IF(0, 0, true);
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,7);
  for(c2_em_i9 = 0; c2_em_i9 < 2; c2_em_i9 = c2_em_i9 + 1) {
    chartInstance.c2_LastCentroid[c2_em_i9] = c2_b_StartCoords[c2_em_i9];
  }
  chartInstance.c2_LastCentroid_not_empty = true;
  label_1:;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,10);
  for(c2_em_i10 = 0; c2_em_i10 < 2; c2_em_i10 = c2_em_i10 + 1) {
    c2_z[c2_em_i10] = chartInstance.c2_LastCentroid[c2_em_i10];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,12);
  for(c2_em_i11 = 0; c2_em_i11 < 10; c2_em_i11 = c2_em_i11 + 1) {
    c2_c_CentroidArray[c2_em_i11][0] = c2_b_CentroidArray[c2_em_i11][0];
  }
  c2_b_z = c2_z[0];
  for(c2_em_i12 = 0; c2_em_i12 < 10; c2_em_i12 = c2_em_i12 + 1) {
    c2_em_u0 = (uint32_T)c2_c_CentroidArray[c2_em_i12][0];
    c2_em_u1 = c2_em_u0 - (uint32_T)c2_b_z;
    if(c2_em_u1 > c2_em_u0) {
      c2_em_u1 = 0U;
    }
    c2_em_u2 = c2_em_u1;
    if(c2_em_u2 > 65535U) {
      c2_em_u3 = MAX_uint16_T;
    } else {
      c2_em_u3 = (uint16_T)c2_em_u2;
    }
    c2_allx[c2_em_i12][0] = c2_em_u3;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,13);
  for(c2_em_i13 = 0; c2_em_i13 < 10; c2_em_i13 = c2_em_i13 + 1) {
    c2_d_CentroidArray[c2_em_i13][0] = c2_b_CentroidArray[c2_em_i13][1];
  }
  c2_c_z = c2_z[1];
  for(c2_em_i14 = 0; c2_em_i14 < 10; c2_em_i14 = c2_em_i14 + 1) {
    c2_em_u4 = (uint32_T)c2_d_CentroidArray[c2_em_i14][0];
    c2_em_u5 = c2_em_u4 - (uint32_T)c2_c_z;
    if(c2_em_u5 > c2_em_u4) {
      c2_em_u5 = 0U;
    }
    c2_em_u6 = c2_em_u5;
    if(c2_em_u6 > 65535U) {
      c2_em_u7 = MAX_uint16_T;
    } else {
      c2_em_u7 = (uint16_T)c2_em_u6;
    }
    c2_ally[c2_em_i14][0] = c2_em_u7;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,14);
  for(c2_em_i15 = 0; c2_em_i15 < 10; c2_em_i15 = c2_em_i15 + 1) {
    c2_b_allx[c2_em_i15][0] = c2_allx[c2_em_i15][0];
  }
  c2_power((uint16_T *)c2_b_allx, 2.0, (uint16_T *)c2_em_uv0);
  for(c2_em_i16 = 0; c2_em_i16 < 10; c2_em_i16 = c2_em_i16 + 1) {
    c2_b_ally[c2_em_i16][0] = c2_ally[c2_em_i16][0];
  }
  c2_power((uint16_T *)c2_b_ally, 2.0, (uint16_T *)c2_em_uv1);
  for(c2_em_i17 = 0; c2_em_i17 < 10; c2_em_i17 = c2_em_i17 + 1) {
    c2_em_u8 = (uint32_T)c2_em_uv0[c2_em_i17][0] +
      (uint32_T)c2_em_uv1[c2_em_i17][0];
    if(c2_em_u8 > 65535U) {
      c2_em_u9 = MAX_uint16_T;
    } else {
      c2_em_u9 = (uint16_T)c2_em_u8;
    }
    c2_myvector[c2_em_i17][0] = c2_em_u9;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,15);
  for(c2_em_i18 = 0; c2_em_i18 < 10; c2_em_i18 = c2_em_i18 + 1) {
    c2_x[c2_em_i18][0] = c2_myvector[c2_em_i18][0];
    c2_b_x[c2_em_i18][0] = c2_x[c2_em_i18][0];
  }
  c2_jstart = 1.0;
  c2_minval = (*(uint16_T (*)[10])&c2_b_x)[0];
  c2_indx = c2_jstart;
  c2_j1 = 2.0;
  while(c2_j1 <= 10.0) {
    c2_b_j1 = c2_j1;
    c2_a = (*(uint16_T
      (*)[10])&c2_b_x)[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("x",
     (int32_T)_SFD_INTEGER_CHECK("j1", c2_b_j1), 1, 10, 1)
    - 1];
    c2_b = c2_minval;
    c2_p = (c2_a < c2_b);
    if(c2_p) {
      c2_minval = (*(uint16_T
        (*)[10])&c2_b_x)[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("x",
       (int32_T)_SFD_INTEGER_CHECK("j1", c2_b_j1), 1, 10
       , 1) - 1];
      c2_indx = c2_b_j1;
    }
    c2_j1 = c2_j1 + 1.0;
    sf_mex_listen_for_ctrl_c(chartInstance.S);
  }
  c2_b_minval = c2_minval;
  c2_b_indx = c2_indx;
  c2_m = c2_b_minval;
  c2_i = c2_b_indx;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,16);
  for(c2_em_i19 = 0; c2_em_i19 < 2; c2_em_i19 = c2_em_i19 + 1) {
    c2_centroid[c2_em_i19] =
      c2_b_CentroidArray[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("CentroidArray",
     (int32_T)_SFD_INTEGER_CHECK("i",
      c2_i), 1, 10, 2) - 1][c2_em_iv0[c2_em_i19][0]];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,18);
  if(CV_EML_COND(0, 2, (real_T)(*(uint16_T
      (*)[10])&c2_myvector)[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("myvector",
     (int32_T)
     _SFD_INTEGER_CHECK("i", c2_i), 1, 10, 1) - 1] < 10000.0) && CV_EML_COND(0,
    3, (real_T)c2_centroid[0] > 0.0) && CV_EML_COND(0, 4, (
     real_T)c2_centroid[1] > 10.0)) {
    CV_EML_MCDC(0, 1, true);
    CV_EML_IF(0, 1, true);
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,19);
    for(c2_em_i20 = 0; c2_em_i20 < 2; c2_em_i20 = c2_em_i20 + 1) {
      chartInstance.c2_LastCentroid[c2_em_i20] = c2_centroid[c2_em_i20];
    }
    chartInstance.c2_LastCentroid_not_empty = true;
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,20);
    for(c2_em_i21 = 0; c2_em_i21 < 2; c2_em_i21 = c2_em_i21 + 1) {
      c2_b_CentroidCoords[c2_em_i21] = c2_centroid[c2_em_i21];
    }
  } else {
    CV_EML_MCDC(0, 1, false);
    CV_EML_IF(0, 1, false);
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,22);
    for(c2_em_i22 = 0; c2_em_i22 < 2; c2_em_i22 = c2_em_i22 + 1) {
      c2_b_CentroidCoords[c2_em_i22] = c2_z[c2_em_i22];
    }
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,25);
  c2_A = c2_b_VidSize[1];
  c2_B = 2.0;
  c2_c_x = c2_A;
  c2_y = c2_B;
  c2_d_x = c2_c_x;
  c2_b_y = c2_y;
  c2_k = 1.0;
  c2_b_k = c2_k;
  _SFD_EML_ARRAY_BOUNDS_CHECK("y", (int32_T)_SFD_INTEGER_CHECK("k", c2_b_k), 1,
   1, 1);
  if(c2_b_y == 0.0) {
    sf_mex_call("warning", 0U, 1U, 15, "Divide by zero.");
  }
  c2_e_x = c2_d_x;
  c2_c_y = c2_b_y;
  c2_c_k = 1.0;
  c2_d_k = c2_c_k;
  c2_f_x = c2_e_x;
  c2_xk = c2_f_x;
  c2_b_xk = (real_T)c2_xk;
  c2_g_x = c2_c_y;
  c2_c_xk = c2_g_x;
  c2_yk = c2_c_xk;
  c2_zk = c2_b_xk / c2_yk;
  _SFD_EML_ARRAY_BOUNDS_CHECK("z", (int32_T)_SFD_INTEGER_CHECK("k", c2_d_k), 1,
   1, 1);
  c2_em_d0 = c2_zk;
  c2_em_d1 = c2_em_d0 < 0.0 ? ceil(c2_em_d0 - 0.5) : floor(c2_em_d0 + 0.5);
 c2_d_z = (uint16_T)(c2_em_d1 <= 65535.0 ? c2_em_d1 >= 0.0 ? c2_em_d1 : 0.0 :
    65535.0);
  c2_e_z = c2_d_z;
  c2_f_z = c2_e_z;
  c2_d_y = c2_f_z;
  c2_b_LineVector[0][0] = c2_b_VidSize[0];
  c2_b_LineVector[1][0] = c2_d_y;
  c2_b_LineVector[2][0] = c2_b_CentroidCoords[0];
  c2_b_LineVector[3][0] = c2_b_CentroidCoords[1];
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,26);
  c2_b_CentroidCol = c2_b_CentroidCoords[1];
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,-26);
  sf_debug_pop_symbol_scope();
  for(c2_em_i23 = 0; c2_em_i23 < 2; c2_em_i23 = c2_em_i23 + 1) {
    c2_CentroidCoords()[c2_em_i23] = c2_b_CentroidCoords[c2_em_i23];
  }
  for(c2_em_i24 = 0; c2_em_i24 < 4; c2_em_i24 = c2_em_i24 + 1) {
    c2_LineVector()[c2_em_i24] = c2_b_LineVector[c2_em_i24][0];
  }
  *c2_CentroidCol() = c2_b_CentroidCol;
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
  _sfEvent_ = c2_previousEvent;
  sf_debug_check_for_state_inconsistency(_object_tracker_intensityMachineNumber_,
   chartInstance.chartNumber, chartInstance.
   instanceNumber);
}
Esempio n. 4
0
static void sf_c2_Leda(SFc2_LedaInstanceStruct *chartInstance)
{
  real_T c2_hoistedGlobal;
  real_T c2_nota;
  uint32_T c2_debug_family_var_map[4];
  real_T c2_nargin = 1.0;
  real_T c2_nargout = 0.0;
  int32_T c2_i2;
  int32_T c2_i;
  real_T c2_b_i;
  real_T c2_u;
  const mxArray *c2_y = NULL;
  int32_T c2_i3;
  static char_T c2_cv0[4] = { '.', 'j', 'p', 'g' };

  char_T c2_b_u[4];
  const mxArray *c2_b_y = NULL;
  static real_T c2_dv1[435483];
  int32_T c2_c_i;
  int32_T c2_i4;
  int32_T c2_i5;
  int32_T c2_i6;
  int32_T c2_i7;
  static real_T c2_b_hoistedGlobal[33096708];
  int32_T c2_b_nota;
  int32_T c2_i8;
  int32_T c2_i9;
  int32_T c2_i10;
  static real_T c2_c_u[435483];
  const mxArray *c2_c_y = NULL;
  real_T *c2_c_nota;
  c2_c_nota = (real_T *)ssGetInputPortSignal(chartInstance->S, 0);
  _sfTime_ = (real_T)ssGetT(chartInstance->S);
  _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  _SFD_DATA_RANGE_CHECK(*c2_c_nota, 0U);
  chartInstance->c2_sfEvent = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  c2_hoistedGlobal = *c2_c_nota;
  c2_nota = c2_hoistedGlobal;
  sf_debug_symbol_scope_push_eml(0U, 4U, 4U, c2_debug_family_names,
    c2_debug_family_var_map);
  sf_debug_symbol_scope_add_eml_importable(&c2_nargin, 0U, c2_b_sf_marshallOut,
    c2_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml_importable(&c2_nargout, 1U, c2_b_sf_marshallOut,
    c2_b_sf_marshallIn);
  sf_debug_symbol_scope_add_eml(&c2_nota, 2U, c2_b_sf_marshallOut);
  sf_debug_symbol_scope_add_eml_importable(chartInstance->c2_pent, 3U,
    c2_sf_marshallOut, c2_sf_marshallIn);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 3);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 4);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 9);
  if (CV_EML_IF(0, 1, 0, !chartInstance->c2_pent_not_empty)) {
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 10);
    for (c2_i2 = 0; c2_i2 < 33096708; c2_i2++) {
      chartInstance->c2_pent[c2_i2] = 0.0;
    }

    chartInstance->c2_pent_not_empty = TRUE;
    c2_i = 0;
    while (c2_i < 73) {
      c2_b_i = 4.0 + (real_T)c2_i;
      CV_EML_FOR(0, 1, 0, 1);
      _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 13);
      c2_u = c2_b_i;
      c2_y = NULL;
      sf_mex_assign(&c2_y, sf_mex_create("y", &c2_u, 0, 0U, 0U, 0U, 0), FALSE);
      for (c2_i3 = 0; c2_i3 < 4; c2_i3++) {
        c2_b_u[c2_i3] = c2_cv0[c2_i3];
      }

      c2_b_y = NULL;
      sf_mex_assign(&c2_b_y, sf_mex_create("y", c2_b_u, 10, 0U, 1U, 0U, 2, 1, 4),
                    FALSE);
      c2_d_emlrt_marshallIn(chartInstance, sf_mex_call_debug("imread", 1U, 1U,
        14, sf_mex_call_debug("horzcat", 1U, 2U, 14, sf_mex_call_debug("num2str",
        1U, 1U, 14, c2_y), 14, c2_b_y)), "imread", c2_dv1);
      c2_c_i = _SFD_EML_ARRAY_BOUNDS_CHECK("pent", (int32_T)_SFD_INTEGER_CHECK(
        "i", c2_b_i), 1, 76, 4, 0) - 1;
      for (c2_i4 = 0; c2_i4 < 3; c2_i4++) {
        for (c2_i5 = 0; c2_i5 < 381; c2_i5++) {
          for (c2_i6 = 0; c2_i6 < 381; c2_i6++) {
            chartInstance->c2_pent[((c2_i6 + 381 * c2_i5) + 145161 * c2_i4) +
              435483 * c2_c_i] = c2_dv1[(c2_i6 + 381 * c2_i5) + 145161 * c2_i4];
          }
        }
      }

      c2_i++;
      sf_mex_listen_for_ctrl_c(chartInstance->S);
    }

    CV_EML_FOR(0, 1, 0, 0);
  }

  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 19);
  if (CV_EML_IF(0, 1, 1, c2_nota < 4.0)) {
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 20);
    c2_nota = 4.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 22);
  if (CV_EML_IF(0, 1, 2, c2_nota > 76.0)) {
    _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 23);
    c2_nota = 76.0;
  }

  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 26);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, 32);
  for (c2_i7 = 0; c2_i7 < 33096708; c2_i7++) {
    c2_b_hoistedGlobal[c2_i7] = chartInstance->c2_pent[c2_i7];
  }

  c2_b_nota = _SFD_EML_ARRAY_BOUNDS_CHECK("pent", (int32_T)_SFD_INTEGER_CHECK(
    "nota", c2_nota), 1, 76, 4, 0) - 1;
  for (c2_i8 = 0; c2_i8 < 3; c2_i8++) {
    for (c2_i9 = 0; c2_i9 < 381; c2_i9++) {
      for (c2_i10 = 0; c2_i10 < 381; c2_i10++) {
        c2_c_u[(c2_i10 + 381 * c2_i9) + 145161 * c2_i8] = c2_b_hoistedGlobal
          [((c2_i10 + 381 * c2_i9) + 145161 * c2_i8) + 435483 * c2_b_nota];
      }
    }
  }

  c2_c_y = NULL;
  sf_mex_assign(&c2_c_y, sf_mex_create("y", c2_c_u, 0, 0U, 1U, 0U, 3, 381, 381,
    3), FALSE);
  sf_mex_call_debug("imshow", 0U, 1U, 14, c2_c_y);
  _SFD_EML_CALL(0U, chartInstance->c2_sfEvent, -32);
  sf_debug_symbol_scope_pop();
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 1U, chartInstance->c2_sfEvent);
  sf_debug_check_for_state_inconsistency(_LedaMachineNumber_,
    chartInstance->chartNumber, chartInstance->instanceNumber);
}