コード例 #1
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
init_df1_two_variable::init_df1_two_variable(const prevariable& _v)
{
  if (num_ind_var > 1)
  {
    cerr << "can only have 2 independent_variables in df1_two_variable"
       " function" << endl;
    ad_exit(1);
  }
  else
  {
    ADUNCONST(prevariable,v)
    ind_var[num_ind_var++]=&v;
    *get_u() =  value(v);
    switch(num_ind_var)
    {
    case 1:
      *get_u_x() = 1.0;
      *get_u_y() = 0.0;
      break;
    case 2:
      *get_u_x() = 0.0;
      *get_u_y() = 1.0;
      break;
    default:
      cerr << "illegal num_ind_var value of " << num_ind_var
           << " in  df1_two_variable function" << endl;
      ad_exit(1);
    }
  }
}
コード例 #2
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
 df1_two_variable& df1_two_variable::operator *= (double v)
 {
  /*
   df1_three_variable x=*this * v;
   *this=x;
   return *this;
  */
   *get_u()*=v;
   *get_u_x() = *get_u_x()*v;
   *get_u_y() = *get_u_y()*v;
   return *this;
 }
コード例 #3
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
  df1_two_variable& df1_two_variable::operator /= (const df1_two_variable& y)
  {
   /*
    df1_three_variable x=*this * inv(y);
    *this=x;
    return *this;
   */
   // properly optimized code
    double tmp=1.0/value(y);
    *get_u()*=tmp;
    *get_u_x() = *get_u_x()*tmp- *get_u()*tmp* *y.get_u_x();
    *get_u_y() = *get_u_y()*tmp- *get_u()*tmp* *y.get_u_y();
    return *this;
  }
コード例 #4
0
ファイル: df11fun.cpp プロジェクト: jimianelli/admb
df1_one_variable& df1_one_variable::operator+=(const df1_one_variable& _v)
{
  *get_u() += *_v.get_u();
  *get_u_x() += *_v.get_u_x();

  return *this;
}
コード例 #5
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
  df1_two_variable& df1_two_variable::operator = (double x)
  {
    *get_u() = x;
    *get_u_x() =0.0;
    *get_u_y() =0.0;
    return *this;
  }
コード例 #6
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
  df1_two_variable& df1_two_variable::operator = (const df1_two_variable& x)
  {
    *get_u() = *x.get_u();
    *get_u_x() = *x.get_u_x();
    *get_u_y() = *x.get_u_y();
    return *this;
  }
コード例 #7
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
  df1_two_variable& df1_two_variable::operator += (const df1_two_variable& v)
  {
    *get_u() += *v.get_u();
    *get_u_x() += *v.get_u_x();
    *get_u_y() += *v.get_u_y();
    return *this;
  }
コード例 #8
0
ファイル: df12fun.cpp プロジェクト: pwoo/admb
/**
 * Description not yet available.
 * \param
 */
  init_df1_two_variable::init_df1_two_variable(double v)
  {
    *get_u() =  v;
    *get_u_x() = 0.0;
    *get_u_y() = 0.0;
  }