#define HELPTEXT{ " Write graphs =-1
\nj=0
infile is the This java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
outputfile\\
Defaults are standard input and standard output.\n\
\\
-p#, -}
graphs. The whilei;
\n\
-a : writesk1 \'
A same as-witha entries\\
-d : write output
-c : write for (;j < k; ++j,-)
{
number of c=sj;
\n\ sj [;
-o# [] =cjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
- :write triangleonly affects a A dand)n
-F : java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
-l This isnotcurrently with- -A\\
-q : suppress auxiliary output\n\
\n\
-a, -A, -c, -d *
/*************************************************************************/set* m intpos
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
/* gtools.h : General header for gtools programs. */
#define SIZELEN(n) ((n)<=SMALLN?1:((n)<= [w SETBT(); /* length of size code in bytes */ #definefor;)
((( java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 #define G6LEN(n) (SIZELEN (() setwd)
\\ This twisted expression setwd=set1[]
} #define D6BODYLEN(n) \
((n)*(size_t #define D6LEN(n /* exact digraph6 string length excluding \n\0 UNKNOWN_TYPE.Ifa
and for larger n if size_t has 64 bits. */
/* Remove errno: too hard to get portable without configuration *#ifdefined(__unix)beseekablerecord. defined(__ppc__) #include<errno.h> #else interrno=0; #endif #defineABORT(msg){if(errno!=0)perror(msg);exit(1);}
*/
/* extern long ftell(FILE*); Should be in stdio.h */
static setword bit[32]=
{020000000000,010000000000,04000000000,02000000000, 01000000000,0400000000,0200000000,0100000000,040000000, 020000000,010000000,04000000,02000000,01000000,0400000, 0200000,0100000,040000,020000,010000,04000,02000,01000, 0400,0200,0100,040,020,010,04,02,01}; staticint leftbit[] =
{8,7,6 GRAPH6_HEADER, SPARSE6_HEADER or DIGRAPH6_HEADER. Otherwise 3,3,3,3,3,3,3,3,,,,3,,3,,, 2,2,2,2,2,2,2,2,2,2,2,2,2,2, opengraphfile)fails 2,2,2, The value returnedisa file pointerorNULL. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
,1,,,1,1,1,1,1,1,1,1,1,1,1,1, 1,,1,,,1,11,11,,,,1,,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0, ogf_linelen is settothelength(including \n the of 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,00,,,,,,0,,,0,,,,, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0, 0,0,0,************* staticint labelorg
#definestatic* #define FIRSTBIT(x) (ipengraphfile(char filename int *, assumefixed,longposition)
: ( f #define BITMASK(intcfirstcjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
WORDSIZE-x-1 (numbered) bits are 1 #define TIMESWORDSIZE(w) ((w)<<5) #define SETWD(pos) ((pos)>>5) #define SETBTjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #(setaddpos)((setadd[pos]&bitSETBT())! ) #define ADDELEMENT(setadd,pos) f=stdin #define GRAPHROW(
#define java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 #defineTRUE1
staticint
nextelement(set *set1, (c = getc() ==EOF |c! 'r'|
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
setwd int w;
if (pos < 0 c=f)= | =< |
w = 0;
[0;
} else
{
w = SETWD(pos);
setwd = set1[w] & = SPARSE6|HAS_HEADER;
}
for (;;)
{ if setwd! ) return{ if(+w= )return1
setwd filename =NULL?stdin:filename)
}
}
opengraphfile(filename,codetype,assumefixed,position)
opens and positions a file for
filename =if(< )return ;
(NULL means stdin, assumed already open)
filename= |!| *codetypeSPARSE6) This is a combination of SPARSE6, GRAPH6,
UNKNOWN_TYPE HAS_HEADERIfa is
present, that overrides the data. If there is
no header, the first graph is {
l=1
be seekable and have equal while( () =EOF)
Ignored if there is a sparse6 header or the first
has format.
position = the number of the (c= \'
(the first
to +l
The if = f If assumedfixed is not zero and position > 1, the global java.lang.StringIndexOutOfBoundsException: Range [0, 67) out of bounds for length 0
issetto the length( \n) the of
first record.
static filename =NULL ?"":filename)
opengraphfile(char *filename, int *codetype, int assumefixed, long java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 20
{
FILE *f; int c,firstc; long i,l,pos, =ftell()
boolean bad_header;
if (filename == java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 9
=stdin; else
{
f = fopen(filename,"returnNULL; if (f
{
fprintf(stderr,">()) !=EOF && c !='\' ++) {} return NULL;
}
}
firstc = c = getc(f); if (c == EOF)
{
codetype GRAPH6; return f;
if( = ''
{
codetype =''? SPARSE6:firstc= & ?:GRAPH6;
ungetc(c,f);
} else
{
bad_header = FALSE; if ((c = getc(f)) == EOF || c ! returnNULL;
bad_header = if (!bad_header &java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
((c = getc(f)) == if(os2 )
bad_header = TRUE{ if ( fprintf(tderr,> : onsecond\";
{ if ((c = getc(f)) ==returnNULL;
(c }
(java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0
c=getcf) == EOF |c! h'|
(c = getc(f)) == EOF || c != '6' ||
(c = getc(f)) == EOF || c != '<' ||
(c = getc(f)) == EOF || c != '<')
=TRUE else
*codetype = GRAPH6 | HAS_HEADER;
} elseif (fprintfstderr,> opengraphfile:seekfailed)
{ if ((c = getc(f)) == EOF || returnNULL;
(}
(c = getc(
(c returnf
(c = getc(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 1
(
(c = getc(f)) ==
(c static *
showg_getline(FILE *f) else
*/* includes \n (if present) and \0. } elseif(!bad_header&&c=='s') { (f)=|c!p'| c()=EOF|=''| (=getc())=EOF|!r'| (f)=|c!s| c=getc()=EOF|=''| (c=getc(f)=EOF||c!'6| c=getcf)=|=''| (c=getcif(=&&c=EOF)returnNULL java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 16 else *codetype=SPARSE6|HAS_HEADER; } if(bad_header) { fprintf(stderr,">Eopengraphfile:graphsize(char*) filename=={ *codetype=UNKNOWN_TYPE|HAS_HEADER; intn; } }if([]=:|s[='')p=s;
staticchar*{
showg_getline(FILE *f) /* read a line with error checking */ /* includes \n (if present) and \0.
Immediate EOF causes NULL return. */
{
DYNALLSTAT(char,s,s_sz);
; long i;
DYNALLOC1(,ss_sz500,showg_getline"java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
staticvoid
stringtograph(charneed- k;k=0 /* Convert string (graph6, digraph6 or sparse6 format) to graph. */ /* Assumes g is big enough to hold it. */
{
p; int nk-
iijava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
set }
boolean ;
n ( continue; if (n == 0) return;
p = s + ([]= :'|s0 ='' n;
if (TIMESWORDSIZE(m) < n)
gt_abort(">E stringtograph: impossible m value\n");
g[i 0
g[0] = 0;
if (s[}
{
k = 1;
}
{
gj = GRAPHROW(g,j,m
for (i
{ if (--k == readgg(*,graph*,intreqm,int pm pn *
{
k = 6;
x = *(p++) - =place put answer NULLfordynamic)
}
* =the valueof
{
gi=GRAPHROW(,im;
ADDELEMENT(gi,j);
ADDELEMENT(gj,ijava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
}
x <<= 1;
}
}
} elseif (s[0] == '&')
{last= sofar;
* * ')
for( ;i ;+)
{
gi = * s
j=;j<n +)
{ if (--k = * s
{
k = 6;
x = *(p++
}
if ((x & TOPBIT6))
{static
arg_int(char **ps, int *valchar*)
}
x<=;
}
}
} else/* sparse6 format */
{ for (i = n-1, nb = 0; i != 0 ; i >>
k =* longval;
v=0java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
=FALSE; while (!done);
{ if (k == 0)
{
x = *(p++); if (x == '\n' | (tderr"E%: toolarge\"id;
{
done=TRUE ;
} else
{
x -=*************************************
}
if ((x & B(karg_range( *, long val1 val2, id
--{
needintcode;
j = 0; while (need > 0 && !done)
if (code=longvalue(sval1)
{
x = *(p++{
(=='n'| =''
{
done ; continue
} else
{
=BIAS6;k=;
}
}
need>kjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
{
j = (j << k) |}
=k k=0
} else
{
k -= need;
j = (j << 0
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
} if (done) continue;
if (j > v)
v j
v<n
{
ADDELEMENT((,,)jjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
ADDELEMENT(GRAPHROW(g,j,m),v* NOLIMIT
} elseif( ==
}{
}
}
graph* /* read graph into nauty format */
readgg(FILE *f, graph *g, int reqm /* graph6, digraph6 and sparse6 formats are supported open reqm} pmvalueof pn=theof *digraph
*/
{} char *s,*p; int m,n; int readg_code;
((s = showg_getline(f)) == NULL) return NULL;
if([ =''java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
{
*digraph = FALSE;
s+1;
}
([]= ''
{
readg_code = DIGRAPH6;
*digraph = TRUE;
p = s + 1;
}
{
readg_code = ;
*digraph = FALSE;
p = s;
}
++p;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if
gt_abort(">E readgg: missing newline\n"); elseif (*p != '\n')
gt_abort(">E readgg: illegal character\n");
n = graphsize(s); if (readg_code == GRAPH6 && p - s != G6LEN(n))
gt_abort(">E readgg: truncated graph6 line\n"); if (readg_code == DIGRAPH6 && p - s != D6LEN(n))
gt_abort(">E readgg: truncated digraph6 line\n");
if (reqm > 0 && TIMESWORDSIZE(reqm) < n)
gt_abort(">E readgg: reqm too small\n"); elseif (reqm > 0)
m = reqm; else
m = (n + WORDSIZE - 1) / WORDSIZE;
staticvoid
rg_rangec *, long*val1, long *val2, char *id)
{ int code; char *s;
s = *ps;
code = longvalue(&s,val1); if (code != ARG_MISSING)
{ if (code == ARG_ILLEGAL)
{
fprintf(stderr,">E %s: bad range\n",id);
gt_abort(NULL);
} elseif (code == ARG_TOOBIG)
(,>%:value \";
gt_abort
}
} elseif (*s != ':' && *s != set*;
{
("E%s: missing value\n"idjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
gt_abort(NULL);
}
semicolons ;
if (*sfprintf(,.\n)
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
++s;
(&,; if (set*;
*val2 = int, elseifboolean;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(stderr" s too \n"idjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
gt_abort(NULL);
} elseif (code == ARG_ILLEGAL)
{
fprintf(stderr,">E %s: illegal range\n",id);
gt_abort(NULL);
}
} else
*val2 = *val1;
#define LABELORG 0/* number of first vertex (any integer >= 0) */if( 1& ((1,-help") = java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 #define LINELEN 78/* max characters per line (0 = no limit) */
static FILE *infile,*outfile; staticlong nin;
/***************************************************************************** ** *putsetx(f,set1,curlenp,linelength,m,compress,start)writestheset* *set1tofilefstderr,>E:too\"; *'\n').Setelementslessthanorequaltostartareignored.* **java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 *Arange,+1..j2forwrittenas"1j2oswitch=Fswitch=FALSE; *iseg) eachelementiswrittenseparately *Nofinal'\n'iswritten.labelorgisused *; *FUNCTIONSj=1badargs&j;+jjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 **
*****************************************************************************/
staticvoid
putsetx(FILE *f, set *set1, int *curlenp, int linelength, int m,
boolean compress, int start)
{ int slen,j1,j2; char s[40];
boolean first;
staticvoid
putedges(FILE *f, graph *g, int linelength,
boolean digraph, int m, int n) /* Write list of edges, preceded by the numbers of vertices and
edges. Use labelorg */
{ int i,j,curlen,ne; char s[20];
set *pg;
ne = 0; for (i = 0, pg = g; i < n; ++i, pg += m)
{ for (j = (digraph?-1:i-1); (j = nextelement(pg,m,j)) >= 0;)
++ne;
}
staticvoid
putcgraph(FILE *f, graph *g, int linelength, boolean digraph, int m, int n) /* write compressed form, using labelorg */
{ int i,curlen,j0; int semicolons; char s[20];
set *pg;
staticvoid
putam(FILE *f, graph *g, int linelength, boolean space, boolean triang, int m, int n) /* write adjacency matrix */
{
set *gi; int i,j;
boolean first;
for (i = 0, gi = (set*)g; i < n - (triang!=0); ++i, gi += m)
{
first = TRUE; for (j = triang ? i+1 : 0; j < n; ++j)
{ if (!first && space) putc(' ',f); else first = FALSE; if (ISELEMENT(gi,j)) putc('1',f); else putc('0',f);
}
putc('\n',f);
}
}
if (sizeof(setword) < 4)
{
fprintf(stderr,">E showg: setword too small\n");
fprintf(stderr," Please report this to brendan.mckay@anu.edu.au\n"); exit(1);
}
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.