This file is indexed.

/usr/include/nauty/schreier.h is in libnauty2-dev 2.6r10+ds-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* schreier.h - Version 1.2 (January 2013) */

#ifndef  _SCHREIER_H_    /* only process this file once */
#define  _SCHREIER_H_

#include <nauty/nauty.h>
#include <nauty/naurng.h>

typedef struct permnodestruct
{
    struct permnodestruct *prev,*next;   /* prev&next in circular list */
    unsigned long refcount;              /* number of references */
    int nalloc;                          /* size of p[] in ints,
                                            <= 0 for a perm marker */
    int mark;                            /* a mark, 0 unless changed */
    int p[2];                            /* actual vector, extended to
                                            nalloc enties */
} permnode;

typedef struct schreierlevel
{
    struct schreierlevel *next;    /* down one level, if any */
    int fixed;                     /* fixed at next level, -1 if none */
                	/* Invariant: next=NULL => fixed = -1 */
    int nalloc;                    /* size of vec[] and orbits[] */
    permnode **vec;                /* vec[i]^pwr[i] is edge label, */
    int *pwr;                      /*  transitive closure maps i->fixed */
    int *orbits;                   /* vector of orbits */
    permnode *marker;              /* points to marker for this level */
} schreier;

#define SCHREIERFAILS 10 
  /* Default number of Schreier failures before giving up. */

#ifdef __cplusplus
extern "C" {
#endif

/* See separate file schreier.txt for a description of usage. */

extern void freeschreier(schreier **gp, permnode **gens);
extern void addpermutation(permnode **ring, int *p, int n); 
extern permnode *findpermutation(permnode *gens, int *p, int n);
extern boolean addgenerator(schreier **gp, permnode **gens, int *p, int n);
extern boolean
	condaddgenerator(schreier **gp, permnode **gens, int *p, int n);
extern boolean expandschreier(schreier *gp, permnode **gens, int n);
extern int *getorbits(int *fix, int nfix,
		 schreier *gp, permnode **gens, int n);
extern int getorbitsmin(int *fix, int nfix, schreier *gp, permnode **gens,
		 int **orbits, int *cell, int ncell, int n, boolean changed);
extern void pruneset(set *fixset, schreier *gp, permnode **gens,
		      set *x, int m, int n);
extern void newgroup(schreier **gp, permnode **gens, int n);
extern void schreier_freedyn(void);
extern int schreier_fails(int nfails);
extern void dumpschreier(FILE *f, schreier *gp, permnode *gens, int n);
extern int schreier_gens(permnode *gens);
extern void deleteunmarked(permnode **gens);
extern void grouporder(int *fix, int nfix,  schreier *gp, permnode **gens,
		double *grpsize1, int *grpsize2, int n);
extern void schreier_check(int wordsize, int m, int n, int version);

#ifdef __cplusplus
}
#endif

#endif  /* _SCHREIER_H_ */