Пример #1
0
/* Function Definitions */
comm_SDRuReceiver *SDRuReceiver_SDRuReceiver(const emlrtStack *sp,
  comm_SDRuReceiver *obj, real_T varargin_2, real_T varargin_4, real_T
  varargin_8)
{
  comm_SDRuReceiver *b_obj;
  comm_SDRuReceiver *c_obj;
  real_T varargin_1[10];
  int32_T k;
  int32_T i10;
  static const char_T cv6[5] = { 'S', 'D', 'R', 'u', '_' };

  real_T d1;
  emlrtStack st;
  emlrtStack b_st;
  emlrtStack c_st;
  emlrtStack d_st;
  emlrtStack e_st;
  emlrtStack f_st;
  st.prev = sp;
  st.tls = sp->tls;
  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_obj = obj;
  st.site = &w_emlrtRSI;
  c_obj = b_obj;
  c_obj->LocalOscillatorOffset = 0.0;
  c_obj->pSubDevice = RxId;
  b_st.site = &j_emlrtRSI;
  c_st.site = &k_emlrtRSI;
  d_st.site = &l_emlrtRSI;
  c_st.site = &k_emlrtRSI;
  c_obj->isInitialized = 0;
  d_st.site = &m_emlrtRSI;
  b_st.site = &j_emlrtRSI;
  c_st.site = &n_emlrtRSI;
  b_st.site = &j_emlrtRSI;
  c_st.site = &o_emlrtRSI;
  b_rand(varargin_1);
  for (k = 0; k < 10; k++) {
    varargin_1[k] = 48.0 + muDoubleScalarFloor(varargin_1[k] * 10.0);
  }

  b_st.site = &j_emlrtRSI;
  for (k = 0; k < 10; k++) {
    i10 = (int32_T)varargin_1[k];
    if (!((i10 >= 0) && (i10 <= 255))) {
      emlrtDynamicBoundsCheckR2012b(i10, 0, 255, &emlrtBCI, &b_st);
    }
  }

  for (k = 0; k < 5; k++) {
    c_obj->ObjectID[k] = cv6[k];
  }

  for (k = 0; k < 10; k++) {
    d1 = muDoubleScalarFloor(varargin_1[k]);
    if (muDoubleScalarIsNaN(d1) || muDoubleScalarIsInf(d1)) {
      d1 = 0.0;
    } else {
      d1 = muDoubleScalarRem(d1, 256.0);
    }

    if (d1 < 0.0) {
      c_obj->ObjectID[k + 5] = (int8_T)-(int8_T)(uint8_T)-d1;
    } else {
      c_obj->ObjectID[k + 5] = (int8_T)(uint8_T)d1;
    }
  }

  b_st.site = &j_emlrtRSI;
  c_st.site = &l_emlrtRSI;
  d_st.site = &l_emlrtRSI;
  e_st.site = &p_emlrtRSI;
  c_obj->CenterFrequency = varargin_2;
  e_st.site = &p_emlrtRSI;
  if (varargin_4 > 512.0) {
    f_st.site = &w_emlrtRSI;
    b_warning(&f_st);
  }

  c_obj->DecimationFactor = varargin_4;
  e_st.site = &p_emlrtRSI;
  c_obj->Gain = varargin_8;
  e_st.site = &p_emlrtRSI;
  f_st.site = &j_emlrtRSI;
  checkIPAddressFormat(&f_st);
  return b_obj;
}
Пример #2
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);
    }
  }
}