/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
|