コード例 #1
0
ファイル: fitch.c プロジェクト: OS2World/APP-SCIENCE-LVB
void initrav(node *p)
{
  /* traverse to initialize */
  if (p->tip)
    return;
  nodeinit(p);
  initrav(p->next->back);
  initrav(p->next->next->back);
}  /* initrav */
コード例 #2
0
void treevaluate()
{ /* evaluate user-defined tree, iterating branch lengths */
  long i;

  initrav(curtree.start);
  initrav(curtree.start->back);
  for (i = 1; i <= smoothings * 4; i++)
    smooth(curtree.start);
  evaluate(&curtree);
}  /* treevaluate */
コード例 #3
0
ファイル: fitch.c プロジェクト: OS2World/APP-SCIENCE-LVB
void treevaluate()
{
  /* evaluate user-defined tree, iterating branch lengths */
  long i;
  double dummy, oldlike;

  for (i = 1; i <= spp; i++)
    setuptipf(i, &curtree);
  initrav(curtree.start);
  if (curtree.start->back != NULL) {
    initrav(curtree.start->back);
    dummy = evaluate(&curtree);
    do {
      oldlike = curtree.likelihood;
      smooth(curtree.start);
      dummy = evaluate(&curtree);
    } while (fabs(curtree.likelihood - oldlike) > delta);
  }
  dummy = evaluate(&curtree);
}  /* treevaluate */
コード例 #4
0
ファイル: contml.c プロジェクト: Chrisss50/ViralToolBox
void initrav(node *p)
{ /* traverse to initialize */
  node* q; 

  if (p->tip)
    nodeinit(p->back);
  else {
    q = p->next;
    while ( q != p)  {
      initrav(q->back);
      q = q->next;
    }
  }
}  /* initrav */
コード例 #5
0
boolean initrav (tree *tr, nodeptr p)
{ 
  nodeptr  q;
  
  if (!isTip(p->number, tr->rdta->numsp)) 
    {      
      q = p->next;
      
      do 
	{	   
	  if (! initrav(tr, q->back))  return FALSE;		   
	  q = q->next;	
	} 
      while (q != p);  
      
      newviewGeneric(tr, p);
    }
  
  return TRUE;
}