This file is indexed.

/usr/lib/petscdir/3.7.5/x86_64-linux-gnu-complex/include/petsc/private/dmlabelimpl.h is in libpetsc-complex-3.7.5-dev 3.7.5+dfsg1-4+b1.

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
#if !defined(_LABELIMPL_H)
#define _LABELIMPL_H

#include <petscdmlabel.h>
#include <petscbt.h>
#include <../src/sys/utils/hash.h>

/* This is an integer map, in addition it is also a container class
   Design points:
     - Low storage is the most important design point
     - We want flexible insertion and deletion
     - We can live with O(log) query, but we need O(1) iteration over strata
*/
struct _n_DMLabel {
  PetscInt         refct;
  PetscObjectState state;
  char       *name;           /* Label name */
  PetscInt    numStrata;      /* Number of integer values */
  PetscInt    defaultValue;   /* Background value when no value explicitly given */
  PetscInt   *stratumValues;  /* Value of each stratum */
  /* Basic sorted array storage */
  PetscBool  *arrayValid;     /* The array storage is valid (no additions need to be merged in) */
  PetscInt   *stratumSizes;   /* Size of each stratum */
  PetscInt  **points;         /* Points for each stratum, always sorted */
  /* Hashtable for fast insertion */
  PetscHashI *ht;             /* Hash table for fast insertion */
  /* Index for fast search */
  PetscInt    pStart, pEnd;   /* Bounds for index lookup */
  PetscBT     bt;             /* A bit-wise index */
};

#endif