#define HELPTEXT \ " For each v, complement the edges from N(v) to V(G)-N(v)-v.\n\
\n\
The output file has a header if and only if the input file does.\n\
\n\
-l Canonically label outputs.\n\
-q Suppress auxiliary information.\n"
void
NRswitch(graph *g, int m, int n, int v, graph *h) /* h := g with N-R edge set complemented */
{ register int i,j; register setword *gv,*gi,*hi; #if MAXN
set Nset[MAXM];
set Rset[MAXM]; #else
DYNALLSTAT(set,Nset,Nset_sz);
DYNALLSTAT(set,Rset,Rset_sz);
DYNALLOC1(set,Nset,Nset_sz,m,"NRswitchg");
DYNALLOC1(set,Rset,Rset_sz,m,"NRswitchg"); #endif
EMPTYSET(Rset,m);
for (i = 0; i < n; ++i) ADDELEMENT(Rset,i);
gv = GRAPHROW(g,v,m);
for (j = 0; j < m; ++j)
{
Nset[j] = gv[j];
Rset[j] ^= gv[j];
}
FLIPELEMENT(Rset,v);
gi = (setword*) g;
hi = (setword*) h;
for (i = 0; i < n; ++i)
{
if (i == v)
for (j = 0; j < m; ++j) hi[j] = gi[j]; else if (ISELEMENT(Nset,i))
for (j = 0; j < m; ++j) hi[j] = gi[j] ^ Rset[j]; else
for (j = 0; j < m; ++j) hi[j] = gi[j] ^ Nset[j];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.