示例#1
0
    bool test_direct_object(const poly_subject_t& subject, const poly_direct_object_t& dirobj)
    {
        typedef typename BinarySentenceConcept<T>::subject_type       subject_type;
        typedef typename BinarySentenceConcept<T>::direct_object_type direct_object_type;

        any_regular_t s_projection(subject.project());
        any_regular_t do_projection(dirobj.project());

        return s_projection.type_info() != adobe::type_info<subject_type>() ||
               do_projection.type_info() != adobe::type_info<direct_object_type>() ?
               false :
               BinarySentenceConcept<T>::test_direct_object(this->get(),
                       s_projection.cast<subject_type>(),
                       do_projection.cast<direct_object_type>());
    }
示例#2
0
文件: pp_shoot.c 项目: tommie/xppaut
/*   more general mixed boundary types   */
void do_bc(double *y__0, double t0, double *y__1, double t1, double *f, int n) {
  int n0 = PrimeStart;
  int i;
  if (HOMOCLINIC_FLAG)
    do_projection(y__0, t0, y__1, t1);
  set_ivar(0, t0);
  set_ivar(n0, t1);

  for (i = 0; i < n; i++) {
    set_ivar(i + 1, y__0[i]);
    set_ivar(i + n0 + 1, y__1[i]);
  }
  for (i = n; i < n + FIX_VAR; i++)
    set_ivar(i + 1, evaluate(my_ode[i]));

  for (i = 0; i < n; i++)
    f[i] = evaluate(my_bc[i].com);
}