diff --git a/c_ext/Makefile b/c_ext/Makefile new file mode 100644 index 0000000..71c3eb6 --- /dev/null +++ b/c_ext/Makefile @@ -0,0 +1,5 @@ +# You must specify your env variable LSAPE_DIR +#LSAPE_DIR=/home/bgauzere/Téléchargements/lsape/include/ + +liblsap.so:lsap.cpp + g++ -fPIC -I/home/bgauzere/Téléchargements/lsape/include/ -shared lsap.cpp -o liblsap.so -O3 -I$(LSAPE_DIR) diff --git a/c_ext/lsap.cpp b/c_ext/lsap.cpp new file mode 100644 index 0000000..712a092 --- /dev/null +++ b/c_ext/lsap.cpp @@ -0,0 +1,43 @@ +/* +Python wrapper +*/ + +#include "hungarian-lsape.hh" +#include "hungarian-lsap.hh" + +#include + +extern "C" int lsap(double * C, const int nm, long * rho, long * varrho){ + double * u = new double[nm]; + double * v = new double[nm]; + + int * rho_int = new int[nm]; + int * varrho_int = new int[nm]; + + hungarianLSAP(C,nm,nm,rho_int,u,v,varrho_int); + //Find a better way to do + for (int i =0;i