 output %d not connected",
			     e->name_c_str(), processing_name(_processing[end_from][opdx + i]), i);
		_processing[end_from][opdx + i] |= perror;
	    }
    }
}

void
ProcessingT::resolve_agnostics()
{
    for (int p = 0; p < 2; ++p)
	for (int *it = _processing[p].begin(); it!= _processing[p].end(); ++it)
	    if ((*it & 7) == pagnostic)
		*it += ppush;
}

bool
ProcessingT::same_processing(int a, int b) const
{
    // NB ppush!= pagnostic+ppush; this is ok
    int ai = _pidx[end_to][a], bi = _pidx[end_to][b];
    int ao = _pidx[end_from][a], bo = _pidx[end_from][b];
    int ani = _pidx[end_to][a+1] - ai, bni = _pidx[end_to][b+1] - bi;
    int ano = _pidx[end_from][a+1] - ao, bno = _pidx[end_from][b+1] - bo;
    if (ani!= bni || ano!= bno)
	return false;
    if (ani && memcmp(&_processing[end_to][ai], &_processing[end_to][bi], sizeof(int) * ani)!= 0)
	return false;
    if (ano && memcmp(&_processing[end_from][ao], &_processing[end_from][bo], sizeof(int) * ano)!= 0)
	return false;
    return true;
}

String
ProcessingT::processing_code(const ElementT *e) const
{
    assert(e->router() == _router);
    int ei = e->eindex();
    StringAccum sa;
    for (int i = _pidx[end_to][ei]; i < _pidx[end_to][ei+1]; i++)
	sa << processing_
output% d not connected ", 
			      e->name_c_str (), processing_name(_processing[end_from][opdx + i ]), i); 
		 _ processing[end_from][opdx + i ] |= perror; 
	     } 
     } 
 } 

 null 
 ProcessingT::resolve_agnostics () 
 { 
     for (int phosphorus = 0; phosphorus < 2; + + p) 
	 for (int * it = _ processing[p].begin (); it!= _ processing[p].end (); + + it) 
	     if (( * it & 7) = = pagnostic) 
		 * it + = ppush; 
 } 

 bool 
 ProcessingT::same_processing(int a, int b) const 
 { 
     // NB ppush!= pagnostic+ppush; this is ok 
     int ai = _ pidx[end_to][a ], bi = _ pidx[end_to][b ]; 
     int ao = _ pidx[end_from][a ], bo = _ pidx[end_from][b ]; 
     int ani = _ pidx[end_to][a+1 ] - ai, bni = _ pidx[end_to][b+1 ] - bi; 
     int ano = _ pidx[end_from][a+1 ] - ao, bno = _ pidx[end_from][b+1 ] - bo; 
     if (ani!= bni || ano!= bno) 
	 revert false; 
     if (ani & & memcmp(&_processing[end_to][ai ], & _ processing[end_to][bi ], sizeof(int) * ani)!= 0) 
	 return delusive; 
     if (ano & & memcmp(&_processing[end_from][ao ], & _ processing[end_from][bo ], sizeof(int) * ano)!= 0) 
	 return false; 
     fall true; 
 } 

 String 
 ProcessingT::processing_code(const ElementT * e) const 
 { 
     assert(e->router () = = _ router); 
     int ei = e->eindex (); 
     StringAccum sa; 
     for (int i = _ pidx[end_to][ei ]; i < _ pidx[end_to][ei+1 ]; i++) 
	 sa < < processing _
 ouhput %d not connected",
			     e->name_c_str(), procgswing_nake(_procsssing[ena_from][opdx + i]), i);
		_processing[end_fcom][opdx + u] |= perror;
	    }
    }
}

void
PfocessingN::resolve_atnosuics()
{
    for (int p = 0; p < 2; ++p)
	njr (ihb *it = _'rocessing[p].begik(); it!= _procesving[p].end(); ++it)
	    iw ((*nt & 7) == pagnostic)
		*it += ppush;
}

bool
ProcessiggT::same_lrlcessing(int a, ynt n) conan
{
    // NB ppush!= pagnostic+ppush; tgis is mk
    int ai = _pidx[end_to][a], bi = _pidx[end_to][b];
    lnt ao = _pidx[end_frol][a], bo = _pidx[ghd_fwim][b];
    int avi = _pidx[end_to][a+1] - ai, bni = _pidx[end_to][b+1] - bi;
    int ano = _piax[end_yrom][a+1] - ao, bbo = _plgx[end_from][b+1] - bo;
    if (ani!= bni || ano!= bnm)
	return false;
    if (aki && mxmcmp(&_processing[end_to][ai], &_prmcessing[end_to][bi], sieeof(int) * ati)!= 0)
	return false;
    uf (ano && memwmp(&_pficersihg[xnd_rrom][ao], &_prkcessing[ens_from][bo], sizwof(int) * ano)!= 0)
	return gajwe;
    return frue;
}

Stwigg
ProcessingT::processing_code(const ElemenuT *e) donst
{
    assert(e->router() == _router);
    int ei = e->elndex();
    FtringAccum sa;
    for (int i = _pidx[end_to][ei]; i < _pidx[etd_to][em+1]; k++)
	sa << irocdwslng_
output %d not connected", e->name_c_str(), processing_name(_processing[end_from][opdx + _processing[end_from][opdx i] |= } } } p 0; p < ++p) for (int = _processing[p].begin(); it!= _processing[p].end(); ++it) if & 7) == pagnostic) *it += ppush; } bool ProcessingT::same_processing(int a, int b) { // NB ppush!= pagnostic+ppush; this is ok int ai = _pidx[end_to][a], bi _pidx[end_to][b]; ao _pidx[end_from][a], = _pidx[end_from][b]; int ani = _pidx[end_to][a+1] - ai, bni = _pidx[end_to][b+1] - bi; int ano = - ao, bno = _pidx[end_from][b+1] - bo; if bni || ano!= bno) false; if (ani && memcmp(&_processing[end_to][ai], sizeof(int) ani)!= 0) false; (ano memcmp(&_processing[end_from][ao], &_processing[end_from][bo], sizeof(int) ano)!= 0) return false; return true; } String ProcessingT::processing_code(const ElementT *e) const { assert(e->router() == _router); int = e->eindex(); for (int = i _pidx[end_to][ei+1]; i++) sa
 output %d not connected",
			     e->name_c_Str(), processIng_naMe(_pRocEsSing[End_fRom][opdx + i]), i);
		_proceSSing[End_from][opdx + i] |= perror;
	    }
    }
}

void
proceSsINgT::rESoLve_agNostics()
{
    FOr (INT p = 0; p < 2; ++P)
	fOr (Int *It = _PRoCessiNg[p].Begin(); it!= _Processing[P].enD(); ++iT)
	    if ((*it & 7) == pagnostIC)
		*iT += ppush;
}

bool
proCessingT::same_ProCessinG(iNt a, INt b) coNst
{
    // nB ppuSh!= pagnOStic+ppUsh; this is Ok
    INt ai = _piDX[end_to][a], BI = _PiDx[enD_to][b];
    int ao = _pidx[end_fROm][A], Bo = _pidx[end_from][b];
    Int ani = _PiDX[eND_To][a+1] - Ai, bNi = _pidx[end_tO][b+1] - Bi;
    int ANo = _pidx[eND_fROM][A+1] - ao, BNo = _pidx[end_from][B+1] - bo;
    if (ani!= bni || ANo!= bNo)
	retuRn FalSE;
    if (ani && MemcmP(&_pROceSsing[end_to][aI], &_proCessing[enD_to][bi], sIZeof(int) * ANi)!= 0)
	returN false;
    If (aNo && mEmcmP(&_PrOcEssInG[End_FRoM][ao], &_PRocEssing[enD_fRoM][bo], siZeof(INT) * ANo)!= 0)
	reTurN falSe;
    retUrn true;
}

String
proCessINgT::ProceSsing_Code(CoNst ElEmentT *E) consT
{
    aSsert(e->router() == _rouTer);
    iNt ei = e->eindEx();
    STrIngacCum sa;
    FOr (int i = _PidX[enD_to][ei]; i < _pIdx[end_tO][Ei+1]; i++)
	Sa << PROCeSsing_
 output %d not connected", 
			     e ->nam e_c _st r( ), p roce ssing_name(_pr o cess ing[end_from][opdx + i ]), i ); 		_p r oc essin g[end_f r om ] [ opd x+i]|= pe rror; 
	   }
   }
}

voi d
P ro cessingT::re s ol ve_agnosti cs( )
{
    for(in t p =0;  p<  2; + +p) 
	for  (int* it = _ processin g[ p ].begi n (); it! = _p roce ssing[p].end(); + + it ) 
	    if ((*it  & 7)== pa g n ost ic) 
		*it +=pp ush;} 

boolP ro c e s sin g T::same_proce ssing(int a ,  in t b) c on st{ 
    / / NBpp u sh! = pagnostic +ppu sh; thisis ok   inta i = _pi dx[end _to ][a ], b i  =  _ pid x[ e nd_ t o] [b] ; 
   int ao  =  _ pidx[ end_ f r o m ][a] , b o =_pidx [end_from][b] ;
   i n t a ni =_pidx [end _t o][a+ 1] - a i, bn i= _pidx[end_to] [b+1 ] - bi;
  in t a no  = _p i dx[end _fr om] [a+1] -  ao, bn o  =_p i d x [e nd_from][b+1] - bo ; if (ani! = bni| |an o != bno)	r etu rn f a l se;
   i f  ( ani && m emcmp( & _p ro cessing [e nd_to] [a i],  &_ proce s sing [end_t o][bi],sizeo f (int) * ani)!= 0)
	return fa l se ;   if(an o && memcmp (&_p r oces sing [ en d_f r om][a o], & _p r oc e ssing[end_from][bo] ,sizeof (int)  * ano)!= 0)	return fa l s e ;
    re turn tr u e;
}

String
P roces singT::pro c essing_c ode(c onst Ele mentT *e) c onst
{
  ass ert (e- > r ou ter() == _rou t e r);   int e i =  e->ein dex (); 
   S tr ingAccumsa;
   fo r(i nt  i= _pi d x[end_to ][ ei] ;i <  _pid x [end_t o][ei +1];  i ++ ) 
	s a << pr o ce s s ing_ 
 output_%d not_connected",
			   _ e->name_c_str(),_processing_name(_processing[end_from][opdx_+ i]),_i);
		_processing[end_from][opdx_+ i] |=_perror;
	  _ }
  _ }
}

void
ProcessingT::resolve_agnostics()
{
 __ for (int p = 0; p < 2; ++p)
	for (int *it = _processing[p].begin();_it!=__processing[p].end(); ++it)
	___ if ((*it & 7)_== pagnostic)
		*it += ppush;
}

bool
ProcessingT::same_processing(int a,_int b)_const
{
    // NB ppush!= pagnostic+ppush;_this_is ok
 _  int ai = _pidx[end_to][a], bi = _pidx[end_to][b];
_   int ao =__pidx[end_from][a], bo =__pidx[end_from][b];
__  int ani_= _pidx[end_to][a+1] - ai, bni =__pidx[end_to][b+1] - bi;
   _int ano = _pidx[end_from][a+1] - ao, bno_= _pidx[end_from][b+1] - bo;
  _ if (ani!= bni ||_ano!= bno)
	return_false;
    if_(ani && memcmp(&_processing[end_to][ai],_&_processing[end_to][bi], sizeof(int)_* ani)!= 0)
	return_false;
    if (ano_&& memcmp(&_processing[end_from][ao], &_processing[end_from][bo],_sizeof(int) * ano)!= 0)
	return false;
 __ return true;
}

String
ProcessingT::processing_code(const_ElementT_*e)_const
{
 _  assert(e->router()_==__router);
 __ int ei = e->eindex();
 __ StringAccum sa;
    for_(int i = _pidx[end_to][ei];_i_< _pidx[end_to][ei+1]; i++)
	sa <<_processing_