Ejemplo n.º 1
0
void  attachvertexes(void)
{ int   v, l; 
  arr4byte  vert; 

  for (v = 0; v < vcs.sizet; v++) 
  { 
    for(l=0; l<vcs.valence[v]; l++)  vert[l]=vcs.vertlist[v][l].partcl;      
    for(l=vcs.valence[v]; l<MAXVALENCE; l++)  vert[l]=0;
    vertinlgr(vert,v+1,vertexes[v].subst,&vertexes[v].lgrnptr); 
  }
}
Ejemplo n.º 2
0
static void  preliminaryTest(hlpcsptr* alll)
{hlpcsptr c, cpred;
 arr4byte    vert, subst; 
 algvertptr  lgr; 
 int        i, j; 
 int     del; 


   c = *alll; 
   while (c != NULL) 
   { 
      del = 0; 
      
      for(i=0; i < vcs_stat.sizet && !del;i++)
      { 
            for (j = 0; j < vcs_stat.valence[i]; j++) 
               if (c->hlpcs[i][j] >= undefprtclmark)  goto label_1;
            for (j = 0; j < vcs_stat.valence[i]; j++) 
               vert[j] = vcs_stat.vertlist[i][j].partcl + c->hlpcs[i][j]; 
            for (j=vcs_stat.valence[i];j<MAXVALENCE;j++) vert[j] = 0;
            
            vertinlgr(vert,i+1,subst,&lgr); 
            del = (lgr == NULL);
label_1: ;
      }
      if (del) 
      { 
         if (c == *alll) 
         { 
            c = c->next; 
            free(*alll); 
            *alll = c; 
         } 
         else 
         { 
            cpred->next = c->next; 
            free(c); 
            c = cpred->next; 
         } 
      } 
      else 
      { 
         cpred = c; 
         c = c->next; 
      } 
   } 
} 
Ejemplo n.º 3
0
static int  ins_test(int i,int  j,int  mrk,hlpcsptr  c)
{int      j1; 
 algvertptr   lgr; 
 arr4byte     subst, vert; 
 int         m;
    
   for (j1 = 1; j1 <= vcs_stat.valence[i-1]; j1++) 
   { 
      if (j1 == j) m = mrk; else 
      {   m = c->hlpcs[i-1][j1-1]; 
        if (m >=undefprtclmark) return 1;
      }
      vert[j1-1] = vcs_stat.vertlist[i-1][j1-1].partcl +m;         
   } 
   if (vcs_stat.valence[i-1] == 3) vert[3] = 0; 
   vertinlgr(vert,i,subst,&lgr); 
   return (lgr != NULL); 
}