static const mxArray *emlrt_marshallOut(const real_T u)
{
  const mxArray *y;
  const mxArray *m1;
  y = NULL;
  m1 = emlrtCreateDoubleScalar(u);
  emlrtAssign(&y, m1);
  return y;
}
/*
 * Arguments    : const double u
 * Return Type  : const mxArray *
 */
static const mxArray *emlrt_marshallOut(const double u)
{
  const mxArray *y;
  const mxArray *m0;
  y = NULL;
  m0 = emlrtCreateDoubleScalar(u);
  emlrtAssign(&y, m0);
  return y;
}
示例#3
0
void b_mpower(const emlrtStack *sp, const real_T a[36], real_T c[36])
{
  real_T x[36];
  int32_T jBcol;
  int32_T ipiv[6];
  int8_T p[6];
  int32_T k;
  int32_T j;
  int32_T i;
  int32_T kAcol;
  real_T n1x;
  real_T n1xinv;
  real_T rc;
  static const char_T rfmt[6] = { '%', '1', '4', '.', '6', 'e' };

  char_T u[6];
  const mxArray *y;
  static const int32_T iv4[2] = { 1, 6 };

  const mxArray *m0;
  const mxArray *b_y;
  char_T cv0[14];
  emlrtStack st;
  emlrtStack b_st;
  emlrtStack c_st;
  emlrtStack d_st;
  emlrtStack e_st;
  emlrtStack f_st;
  st.prev = sp;
  st.tls = sp->tls;
  st.site = &l_emlrtRSI;
  b_st.prev = &st;
  b_st.tls = st.tls;
  c_st.prev = &b_st;
  c_st.tls = b_st.tls;
  d_st.prev = &c_st;
  d_st.tls = c_st.tls;
  e_st.prev = &d_st;
  e_st.tls = d_st.tls;
  f_st.prev = &e_st;
  f_st.tls = e_st.tls;
  b_st.site = &m_emlrtRSI;
  c_st.site = &n_emlrtRSI;
  c_st.site = &o_emlrtRSI;
  d_st.site = &p_emlrtRSI;
  for (jBcol = 0; jBcol < 36; jBcol++) {
    c[jBcol] = 0.0;
    x[jBcol] = a[jBcol];
  }

  e_st.site = &r_emlrtRSI;
  xgetrf(&e_st, x, ipiv);
  for (jBcol = 0; jBcol < 6; jBcol++) {
    p[jBcol] = (int8_T)(1 + jBcol);
  }

  for (k = 0; k < 5; k++) {
    if (ipiv[k] > 1 + k) {
      jBcol = p[ipiv[k] - 1];
      p[ipiv[k] - 1] = p[k];
      p[k] = (int8_T)jBcol;
    }
  }

  for (k = 0; k < 6; k++) {
    jBcol = p[k] - 1;
    c[k + 6 * (p[k] - 1)] = 1.0;
    e_st.site = &s_emlrtRSI;
    for (j = k; j + 1 < 7; j++) {
      if (c[j + 6 * jBcol] != 0.0) {
        e_st.site = &t_emlrtRSI;
        for (i = j + 1; i + 1 < 7; i++) {
          c[i + 6 * jBcol] -= c[j + 6 * jBcol] * x[i + 6 * j];
        }
      }
    }
  }

  e_st.site = &u_emlrtRSI;
  f_st.site = &ib_emlrtRSI;
  for (j = 0; j < 6; j++) {
    jBcol = 6 * j;
    for (k = 5; k >= 0; k += -1) {
      kAcol = 6 * k;
      if (c[k + jBcol] != 0.0) {
        c[k + jBcol] /= x[k + kAcol];
        for (i = 0; i + 1 <= k; i++) {
          c[i + jBcol] -= c[k + jBcol] * x[i + kAcol];
        }
      }
    }
  }

  d_st.site = &q_emlrtRSI;
  n1x = norm(a);
  n1xinv = norm(c);
  rc = 1.0 / (n1x * n1xinv);
  if ((n1x == 0.0) || (n1xinv == 0.0) || (rc == 0.0)) {
    e_st.site = &kb_emlrtRSI;
    warning(&e_st);
  } else {
    if (muDoubleScalarIsNaN(rc) || (rc < 2.2204460492503131E-16)) {
      e_st.site = &lb_emlrtRSI;
      for (jBcol = 0; jBcol < 6; jBcol++) {
        u[jBcol] = rfmt[jBcol];
      }

      y = NULL;
      m0 = emlrtCreateCharArray(2, iv4);
      emlrtInitCharArrayR2013a(&e_st, 6, m0, &u[0]);
      emlrtAssign(&y, m0);
      b_y = NULL;
      m0 = emlrtCreateDoubleScalar(rc);
      emlrtAssign(&b_y, m0);
      f_st.site = &pb_emlrtRSI;
      emlrt_marshallIn(&f_st, b_sprintf(&f_st, y, b_y, &c_emlrtMCI), "sprintf",
                       cv0);
      e_st.site = &lb_emlrtRSI;
      b_warning(&e_st, cv0);
    }
  }
}
/*
 * Arguments    : const struct0_T *u
 * Return Type  : const mxArray *
 */
static const mxArray *emlrt_marshallOut(const struct0_T *u)
{
  const mxArray *y;
  const mxArray *b_y;
  const mxArray *m0;
  const mxArray *c_y;
  const mxArray *d_y;
  const mxArray *e_y;
  const mxArray *f_y;
  const mxArray *g_y;
  const mxArray *h_y;
  const mxArray *i_y;
  const mxArray *j_y;
  const mxArray *k_y;
  const mxArray *l_y;
  const mxArray *m_y;
  const mxArray *n_y;
  const mxArray *o_y;
  const mxArray *p_y;
  const mxArray *q_y;
  const mxArray *r_y;
  const mxArray *s_y;
  const mxArray *t_y;
  const mxArray *u_y;
  const mxArray *v_y;
  const mxArray *w_y;
  const mxArray *x_y;
  const mxArray *y_y;
  const mxArray *ab_y;
  y = NULL;
  emlrtAssign(&y, emlrtCreateStructMatrix(1, 1, 0, NULL));
  b_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->Dur_GT);
  emlrtAssign(&b_y, m0);
  emlrtAddField(y, b_y, "Dur_GT", 0);
  c_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->Dur_TR);
  emlrtAssign(&c_y, m0);
  emlrtAddField(y, c_y, "Dur_TR", 0);
  d_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->N_GT);
  emlrtAssign(&d_y, m0);
  emlrtAddField(y, d_y, "N_GT", 0);
  e_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->N_TR);
  emlrtAssign(&e_y, m0);
  emlrtAddField(y, e_y, "N_TR", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->COnPOff_listgt), "COnPOff_listgt", 0);
  f_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnPOff_Precision);
  emlrtAssign(&f_y, m0);
  emlrtAddField(y, f_y, "COnPOff_Precision", 0);
  g_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnPOff_Recall);
  emlrtAssign(&g_y, m0);
  emlrtAddField(y, g_y, "COnPOff_Recall", 0);
  h_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnPOff_Fmeasure);
  emlrtAssign(&h_y, m0);
  emlrtAddField(y, h_y, "COnPOff_Fmeasure", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->COnOff_listgt), "COnOff_listgt", 0);
  i_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnOff_Precision);
  emlrtAssign(&i_y, m0);
  emlrtAddField(y, i_y, "COnOff_Precision", 0);
  j_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnOff_Recall);
  emlrtAssign(&j_y, m0);
  emlrtAddField(y, j_y, "COnOff_Recall", 0);
  k_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnOff_Fmeasure);
  emlrtAssign(&k_y, m0);
  emlrtAddField(y, k_y, "COnOff_Fmeasure", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->COnP_listgt), "COnP_listgt", 0);
  l_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnP_Precision);
  emlrtAssign(&l_y, m0);
  emlrtAddField(y, l_y, "COnP_Precision", 0);
  m_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnP_Recall);
  emlrtAssign(&m_y, m0);
  emlrtAddField(y, m_y, "COnP_Recall", 0);
  n_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COnP_Fmeasure);
  emlrtAssign(&n_y, m0);
  emlrtAddField(y, n_y, "COnP_Fmeasure", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->COn_listgt), "COn_listgt", 0);
  o_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COn_Precision);
  emlrtAssign(&o_y, m0);
  emlrtAddField(y, o_y, "COn_Precision", 0);
  p_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COn_Recall);
  emlrtAssign(&p_y, m0);
  emlrtAddField(y, p_y, "COn_Recall", 0);
  q_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->COn_Fmeasure);
  emlrtAssign(&q_y, m0);
  emlrtAddField(y, q_y, "COn_Fmeasure", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->OBOn_listgt), "OBOn_listgt", 0);
  r_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->OBOn_rategt);
  emlrtAssign(&r_y, m0);
  emlrtAddField(y, r_y, "OBOn_rategt", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->OBP_listgt), "OBP_listgt", 0);
  s_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->OBP_rategt);
  emlrtAssign(&s_y, m0);
  emlrtAddField(y, s_y, "OBP_rategt", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->OBOff_listgt), "OBOff_listgt", 0);
  t_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->OBOff_rategt);
  emlrtAssign(&t_y, m0);
  emlrtAddField(y, t_y, "OBOff_rategt", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->S_listgt), "S_listgt", 0);
  u_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->S_rategt);
  emlrtAssign(&u_y, m0);
  emlrtAddField(y, u_y, "S_rategt", 0);
  v_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->S_ratio);
  emlrtAssign(&v_y, m0);
  emlrtAddField(y, v_y, "S_ratio", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->M_listgt), "M_listgt", 0);
  w_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->M_rategt);
  emlrtAssign(&w_y, m0);
  emlrtAddField(y, w_y, "M_rategt", 0);
  x_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->M_ratio);
  emlrtAssign(&x_y, m0);
  emlrtAddField(y, x_y, "M_ratio", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->PU_listtr), "PU_listtr", 0);
  y_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->PU_ratetr);
  emlrtAssign(&y_y, m0);
  emlrtAddField(y, y_y, "PU_ratetr", 0);
  emlrtAddField(y, b_emlrt_marshallOut(u->ND_listgt), "ND_listgt", 0);
  ab_y = NULL;
  m0 = emlrtCreateDoubleScalar(u->ND_rategt);
  emlrtAssign(&ab_y, m0);
  emlrtAddField(y, ab_y, "ND_rategt", 0);
  return y;
}