--- a +++ b/feasible_joint_stiffness/lrslib-062/nashdemo.c @@ -0,0 +1,67 @@ +/*********************************************************/ +/* nashdemo is a simple template for lrsnashlib.c */ +/* */ +/* It builds two 3x4 matrices A B and computes */ +/* their equilibria */ +/*********************************************************/ +/* +Compile: +gcc -O3 -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c -lgmp -DGMP + +Usage: +nashdemo +*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include "lrslib.h" +#include "lrsnashlib.h" + + +int main() +{ + long s,t; + game Game; // Storage for one game + game *g = &Game; + gInfo GI= {.name="Game"}; // Input file name could go here if there is one + g->aux = &GI; + + + if ( !lrs_init ("\n*nashdemo:")) // Done once but essential for lrslib usage ! + return 1; + + + g->nstrats[ROW]=3; // row player + g->nstrats[COL]=4; // col player + + setFwidth(g,4); // field length for printing games + + for(s=0;s<3;s++) // Game 1: load payoff matrices with some integers + for(t=0;t<4;t++) + { + g->payoff[s][t][ROW].num=s+t; + g->payoff[s][t][COL].num=s*t; + g->payoff[s][t][ROW].den=1; + g->payoff[s][t][COL].den=1; + } + printGame(g); + lrs_solve_nash(g); + + for(s=0;s<3;s++) // Game 2: load payoff matrices with some rationals + for(t=0;t<4;t++) + { + g->payoff[s][t][ROW].num=s+t; + g->payoff[s][t][COL].num=1; + g->payoff[s][t][ROW].den=2; + g->payoff[s][t][COL].den=3; + } + + printGame(g); + lrs_solve_nash(g); + + + return 0; +} + +