This file is indexed.

/usr/include/yalecad/assign.h is in libycadgraywolf-dev 0.1.4+20170307gite1bf319-2build1.

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
/* ----------------------------------------------------------------- 
FILE:	    assign.h                                       
DESCRIPTION:include file for the linear assignment solver.
DATE:	    May 15, 1990 - modified mighty code.
REVISIONS:  
            Wed Apr 15 16:40:01 EDT 1992
	       - Replaced by new algorithms
----------------------------------------------------------------- */
#ifndef YASSIGN_H
#define YASSIGN_H

#ifndef lint
static char YassignId[] = "@(#) assign.h (Yale) version 1.3 10/9/90" ;
#endif

#include <yalecad/base.h>
#include <yalecad/debug.h>
#include <yalecad/message.h>

/* LOW MED HIGH and INFINITY are used for the cost matrix */
#define ASSIGN_INF         1000000
#define ASSIGN_PREASSIGN    500000

/* a large number, bigger than any cost */
#define		LAP_HUGE			200000000

typedef struct {
  INT	*xmate;    	/* match array for x's	*/
  INT	*ymate;		/* match array for y's	*/
  INT	*udual;   	/* dual array for u's	*/
  INT	*vdual;		/* dual array for v's	*/
  INT	*pred;	        /* predecessor array for shortest path	*/
  INT	*unassigned;	/* unassigned rows			*/
  INT	*shortlen;	/* shortest path lengths	*/
  INT	*column;	/* array of columns		*/
} LAPJV_block;
	

/******** ASSIGNMENT FUNCTIONS *************/
extern INT **Yassign_init( P2( INT m, INT n ) ) ;
/* 
 * Arguments:
 *   INT m, n ; 
 * Function:
 *   Initializes the linear assignment solver.
 * Bug:  Internally alllcate MAX(m,n) by MAX(m,n) square matrix 
 */

extern INT *Yassign( P3( INT **cost_matrix, INT m, INT n ) ) ;
/* 
 * Arguments:
 *   INT  **cost_matrix ;
 *   INT m, n;
 * Function:
 *   Solves the linear assignment problem.
 * Return:
 *   A 0..m ans array,  ans[0] contain total cost,
 *                      ans[i], 1 <= i <= m,
 *                             means row i going to map column ans[i]
 * Bug: 
 *   m must smaller or equal to n.
 *   Actually, when m < n, cost_matrix will be padded to a 
 *   square matrix, the padding value is ASSIGN_INF.
 *   Therefore, it might overflow if cost become too large. 
 */

extern void Yassign_reset( P3(INT **cost_matrix, INT m, INT n ) ) ;
/* 
 * Arguments:
 *   INT m, n ;
 *   INT **cost_matrix ;
 * Function:
 *   Do nothing, backward compatiblity.
 */

extern void Yassign_print( P3(INT **cost_matrix, INT m, INT n ) ) ;
/* 
 * Arguments:
 *   INT m, n ;
 *   INT **cost_matrix ;
 * Function:
 *   Print the state of the linear assignment solver.
 */

extern void Yassign_free( P3(INT **cost_matrix, INT m, INT n ) ) ;
/* 
 * Arguments:
 *  INT **cost_matrix ;
 *  INT m, n ;
 * Function:
 *   Free the memory associated with the solver.
 */

#endif