Trisurf Monte Carlo simulator
Samo Penic
2013-11-22 4e56fe682e6ad34c161aa40c06af4e3e0088962e
src/vertex.c
@@ -311,3 +311,35 @@
    return vlist;
}
ts_bool vertex_taint(ts_vertex *vtx, ts_uint level){
   ts_uint i;
   vtx->locked++; //lock current vertex
   if(level==0){ //if we reach last in recursion exit
      return TS_SUCCESS;
   }
   for(i=0; i<vtx->neigh_no; i++){ //else recursive call self with decreased level
      vertex_taint(vtx->neigh[i], level-1);
   }
   return TS_SUCCESS;
}
ts_bool vertex_untaint(ts_vertex *vtx, ts_uint level){
      vtx->locked--;
   if(level==0){
      return TS_SUCCESS;
   }
   ts_uint i;
   for(i=0; i<vtx->neigh_no; i++){
      vertex_untaint(vtx->neigh[i], level-1);
   }
   return TS_SUCCESS;
}
inline ts_bool vertex_tainted(ts_vertex *vtx, ts_uint level, ts_uint amount){
   if(vtx->locked>amount) return 1;
   return 0;
}