This file is indexed.

/usr/include/libgoffice-0.10/goffice/math/go-matrix.h is in libgoffice-0.10-dev 0.10.18-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
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
#ifndef GO_MATRIX_H__
#define GO_MATRIX_H__

#include <glib.h>

G_BEGIN_DECLS

struct GOQuadMatrix_ {
	GOQuad **data;   /* [m][n] */
	int m; /* down */
	int n; /* right */
};

GOQuadMatrix *go_quad_matrix_new (int m, int n);
GOQuadMatrix *go_quad_matrix_dup (const GOQuadMatrix *A);
void go_quad_matrix_free (GOQuadMatrix *A);

void go_quad_matrix_copy (GOQuadMatrix *A, const GOQuadMatrix *B);
void go_quad_matrix_transpose (GOQuadMatrix *A, const GOQuadMatrix *B);

void go_quad_matrix_multiply (GOQuadMatrix *C,
			      const GOQuadMatrix *A,
			      const GOQuadMatrix *B);

GOQuadMatrix *go_quad_matrix_inverse (const GOQuadMatrix *A, double threshold);

void go_quad_matrix_determinant (const GOQuadMatrix *A, GOQuad *res);

GOQuadMatrix *go_quad_matrix_pseudo_inverse (const GOQuadMatrix *A,
					     double threshold);

gboolean go_quad_matrix_back_solve (const GOQuadMatrix *R, GOQuad *x,
				    const GOQuad *b,
				    gboolean allow_degenerate);
gboolean go_quad_matrix_fwd_solve (const GOQuadMatrix *R, GOQuad *x,
				   const GOQuad *b,
				   gboolean allow_degenerate);

void go_quad_matrix_eigen_range (const GOQuadMatrix *A,
				 double *emin, double *emax);

void go_quad_matrix_dump (const GOQuadMatrix *A, const char *fmt);

/* ---------------------------------------- */

GOQuadQR *go_quad_qr_new (const GOQuadMatrix *A);
void go_quad_qr_free (GOQuadQR *qr);
void go_quad_qr_determinant (const GOQuadQR *qr, GOQuad *det);
const GOQuadMatrix *go_quad_qr_r (const GOQuadQR *qr);
void go_quad_qr_multiply_qt (const GOQuadQR *qr, GOQuad *x);
void go_quad_qr_mark_degenerate (GOQuadQR *qr, int i);

/* ---------------------------------------- */

#ifdef GOFFICE_WITH_LONG_DOUBLE
struct GOQuadMatrixl_ {
	GOQuadl **data;   /* [m][n] */
	int m; /* down */
	int n; /* right */
};

GOQuadMatrixl *go_quad_matrix_newl (int m, int n);
GOQuadMatrixl *go_quad_matrix_dupl (const GOQuadMatrixl *A);
void go_quad_matrix_freel (GOQuadMatrixl *A);

void go_quad_matrix_copyl (GOQuadMatrixl *A, const GOQuadMatrixl *B);
void go_quad_matrix_transposel (GOQuadMatrixl *A, const GOQuadMatrixl *B);

void go_quad_matrix_multiplyl (GOQuadMatrixl *C,
			       const GOQuadMatrixl *A,
			       const GOQuadMatrixl *B);

GOQuadMatrixl *go_quad_matrix_inversel (const GOQuadMatrixl *A, long double threshold);

void go_quad_matrix_determinantl (const GOQuadMatrixl *A, GOQuadl *res);

GOQuadMatrixl *go_quad_matrix_pseudo_inversel (const GOQuadMatrixl *A,
					       long double threshold);

gboolean go_quad_matrix_back_solvel (const GOQuadMatrixl *R, GOQuadl *x,
				     const GOQuadl *b,
				     gboolean allow_degenerate);
gboolean go_quad_matrix_fwd_solvel (const GOQuadMatrixl *R, GOQuadl *x,
				    const GOQuadl *b,
				    gboolean allow_degenerate);

void go_quad_matrix_eigen_rangel (const GOQuadMatrixl *A,
				  long double *emin, long double *emax);

void go_quad_matrix_dumpl (const GOQuadMatrixl *A, const char *fmt);

/* ---------------------------------------- */

GOQuadQRl *go_quad_qr_newl (const GOQuadMatrixl *A);
void go_quad_qr_freel (GOQuadQRl *qr);
void go_quad_qr_determinantl (const GOQuadQRl *qr, GOQuadl *det);
const GOQuadMatrixl *go_quad_qr_rl (const GOQuadQRl *qr);
void go_quad_qr_multiply_qtl (const GOQuadQRl *qr, GOQuadl *x);
void go_quad_qr_mark_degeneratel (GOQuadQRl *qr, int i);

#endif

G_END_DECLS

#endif