This file is indexed.

/usr/include/trilinos/ml_operator_blockmat.h is in libtrilinos-ml-dev 12.12.1-5.

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
/* ******************************************************************** */
/* See the file COPYRIGHT for a complete copyright notice, contact      */
/* person and disclaimer.                                               */
/* ******************************************************************** */

#ifndef __MLOPERATOR_BLOCKMAT__
#define __MLOPERATOR_BLOCKMAT__

#include "ml_common.h"
#include "ml_operator.h"
/*****************************************************************************/
/* structure to wrap ML subblock matrices into a large ML matrix.            */
/*****************************************************************************/

struct ML_Operator_blockmat_data {
  /* Ke functions for matvec & getrow */

  int (*Ke_matvec)(ML_Operator *, int, double *, int, double *);
  int (*Ke_getrow)(ML_Operator *,int,int*,int,int*,double*,int*);
  void *Ke_matvec_data, *Ke_getrow_data, *Ke_comm_data;
  double *Ke_diag;

  /* M functions for matvec, getrow. NOTE: it is assumed    */
  /* that M's communication is identical to Ke's.           */

  int (*M_matvec)(ML_Operator *, int, double *, int, double *);
  int (*M_getrow)(ML_Operator *,int,int*,int,int*,double*,int*);
  void *M_matvec_data, *M_getrow_data;
  double *M_diag;
  ML_Operator *M_mat;
  ML_Operator *Ke_mat;
  int    destroy_M_mat;

  int N_Ke, Nghost;
  int *cols;         /* work vectors for block matrix getrow */
  double *vals;
};

#ifndef ML_CPP
#ifdef __cplusplus
extern "C" {
#endif
#endif

extern int ML_Operator_blockmat_matvec(ML_Operator *, int , double *, int, double *);
extern int ML_Operator_blockmat_comm( double *x, void *data);
extern int ML_Operator_blockmat_getrow(ML_Operator *, int, int *, int, int *,
				       double *, int *);
extern int  ML_Operator_Gen_blockmat(ML_Operator *blockmat,
				     ML_Operator *original1,
				     ML_Operator *original2);
extern void  ML_Operator_blockmatdata_Destroy(void *data);
extern int ML_Operator_blockmat_set_M_mat_destroy(ML_Operator *blockmat,
						  int yes_or_no);

#ifndef ML_CPP
#ifdef __cplusplus
}
#endif
#endif


#endif