model_server/edge/src/sugitopsort.cxx
/*
 * IsBackEdge
 *	returns 1 if node s is descendant of node t
 */
IsBackEdge
returns 1 if node s is descendant of node t
IsBackEdge returns 1 if node s is descendant of node t
int IsBackEdge(graph* g, node* s, node* t)
{
    nlist* RecentSet = new nlist;
    nlist* NewRecentSet;
    node* p;
    RecentSet->append(t);
    g->set_nodes_unreached();
    while (RecentSet->length() != 0) {
        slist_iterator_forw iter2(*(slist*) RecentSet);
        while (p=(node*)iter2()) 
	    if (p == s) 
		return 1;
	NewRecentSet = findkids(RecentSet);
	RecentSet = NewRecentSet;
    }
    return 0;
}
int IsBackEdge ( graph * g , node * s , node * t ) { nlist * RecentSet = new nlist ; nlist * NewRecentSet ; node * p ; RecentSet -> append ( t ) ; g -> set_nodes_unreached ( ) ; while ( RecentSet -> length ( ) != 0 ) { slist_iterator_forw iter2 ( * ( slist * ) RecentSet ) ; while ( p = ( node * ) iter2 ( ) ) if ( p == s ) return 1 ; NewRecentSet = findkids ( RecentSet ) ; RecentSet = NewRecentSet ; } return 0 ; }
IsBackEdge
      returns 1 if node s is descendant of node t
IsBackEdge returns 1 if node s is descendant of node t