Switch to side-by-side view

--- a
+++ b/feasible_joint_stiffness/lrslib-062/lrsnashlib.h
@@ -0,0 +1,71 @@
+/*******************************************************/
+/* lrsnashlib is a library of routines for computing   */
+/* computing all nash equilibria for two person games  */
+/* given by mxn payoff matrices A,B                    */
+/*                                                     */
+/*                                                     */
+/* Main user callable function is                      */
+/*         lrs_solve_nash(game *g)                     */
+/*                                                     */
+/* Sample driver: lrsnash.c                            */
+/* Derived from nash.c in lrslib-060                   */
+/* by Terje Lensberg, October 26, 2015:                */
+/*******************************************************/
+
+/*************/
+/* Games     */
+/*************/
+
+#define MAXSTRAT 200
+#define ROW 0
+#define COL 1
+
+typedef struct {
+        long num;
+        long den;
+} ratnum;
+
+typedef struct {
+  long nstrats[2];
+  ratnum payoff[MAXSTRAT][MAXSTRAT][2];
+  // For auxiliary information
+        void *aux;
+} game;
+
+typedef struct {
+        char name[100];
+        int fwidth[MAXSTRAT][2]; // Column field widths (for output)
+} gInfo;
+
+
+int lrs_solve_nash(game * g);
+
+long nash2_main(lrs_dic * P1, lrs_dat * Q1, lrs_dic * P2orig,
+                lrs_dat * Q2, long *numequilib, lrs_mp_vector output, long linindex[]);
+        /* lrs driver, argv[2]= 2nd input file for nash equilibria */
+
+long lrs_getfirstbasis2(lrs_dic ** D_p, lrs_dat * Q, lrs_dic * P2orig, lrs_mp_matrix * Lin, long no_output,
+                        long linindex[]);
+
+long getabasis2(lrs_dic * P, lrs_dat * Q, lrs_dic * P2orig, long order[], long linindex[]);
+
+long lrs_nashoutput(lrs_dat * Q, lrs_mp_vector output, long player);
+                  /* returns TRUE and prints output if not the origin */
+
+int lrs_solve_nash_legacy (int argc, char *argv[]);
+
+void BuildRep(lrs_dic * P, lrs_dat * Q, const game * g, int p1, int p2);
+void FillFirstRow(lrs_dic * P, lrs_dat * Q, int n);
+void FillLinearityRow(lrs_dic * P, lrs_dat * Q, int m, int n);
+void FillConstraintRows(lrs_dic * P, lrs_dat * Q, const game * g, int p1, int p2, int firstRow);
+void FillNonnegativityRows(lrs_dic * P, lrs_dat * Q, int firstRow, int lastRow, int n);
+void printGame(game * g);
+void setFwidth(game *g, int len);
+void initFwidth(game *g);
+void updateFwidth(game *g, int col, int pos, char *str);
+
+
+long FirstTime;          /* set this to true for every new game to be solved */
+static long Debug_flag;
+static long Verbose_flag;
+