This file is indexed.

/usr/include/python2.7/pysparse/spmatrix.h is in python-sparse 1.1-1.3build1.

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
69
70
71
72
73
#ifndef SPMATRIX_H
#define SPMATRIX_H

#include "ll_mat.h"
#include "csr_mat.h"
#include "sss_mat.h"

#include "spmatrix_api.h"

/*
 * Macro definitions
 */

/** SPMATRIX_PARSE_ARGS_ARR_ARR
 * 
 * Macro for parsing arguments for matvec and precon type operations
 */
#define SPMATRIX_PARSE_ARGS_ARR_ARR(args, arg1, arg2, n1, n2) \
  if (!PyArg_ParseTuple((args), "O!O!", &PyArray_Type, &(arg1), &PyArray_Type, &(arg2))) \
    return NULL; \
  \
  if ((arg1)->nd != 1 || \
      (arg1)->descr->type_num != PyArray_DOUBLE || \
      (arg1)->dimensions[0] != (n1) || \
      !((arg1)->flags & CONTIGUOUS)) { \
    PyErr_SetString(PyExc_ValueError, "arg 1 must be a contiguous 1-dimensional double array of appropriate size."); \
    return NULL; \
  } \
  \
  if ((arg2)->nd != 1 || \
      (arg2)->descr->type_num != PyArray_DOUBLE || \
      (arg2)->dimensions[0] != (n2) || \
      !((arg2)->flags & CONTIGUOUS)) { \
    PyErr_SetString(PyExc_ValueError, "arg 2 must be a contiguous 1-dimensional double array of appropriate size."); \
    return NULL; \
  }

#define SPMATRIX_PARSE_ARGS_ARR_ARR_STRIDE(args, arg1, arg2, n1, n2) \
  if (!PyArg_ParseTuple((args), "O!O!", &PyArray_Type, &(arg1), &PyArray_Type, &(arg2))) \
    return NULL; \
  \
  if ((arg1)->nd != 1 || \
      (arg1)->descr->type_num != PyArray_DOUBLE || \
      (arg1)->dimensions[0] != (n1)) { \
    PyErr_SetString(PyExc_ValueError, "arg 1 must be a 1-dimensional double array of appropriate size."); \
    return NULL; \
  } \
  \
  if ((arg2)->nd != 1 || \
      (arg2)->descr->type_num != PyArray_DOUBLE || \
      (arg2)->dimensions[0] != (n2)) { \
    PyErr_SetString(PyExc_ValueError, "arg 2 must be a 1-dimensional double array of appropriate size."); \
    return NULL; \
  }

/** SPMATRIX_CHECK_ARR_DIM_SIZE
 * 
 * Macro for checking the type and size of vector arguments
 */
#define SPMATRIX_CHECK_ARR_DIM_SIZE(arr, dim, size) \
  if ((arr)->nd != (dim) || \
      (arr)->descr->type_num != PyArray_DOUBLE || \
      (arr)->dimensions[0] != (size) || \
      !((arr)->flags & CONTIGUOUS)) { \
    PyErr_SetString(PyExc_ValueError, "argument must be a contiguous 1-dimensional double array of appropriate size."); \
    return NULL; \
  }

#ifdef SPMATRIX_MODULE
extern PyObject *SpMatrix_ErrorObject;
#endif

#endif