Module d'interface à la lib symmax2sat/Toulbar2¶
Ce module définit l'interface à l'appel de la fonction solvesymmax2sat_ définit dans la lib symmax2sat
interface function solvesymmax2sat (n, m,posx,posy,cost,sol) result (r) integer ,intent(in):: n ! number of variable/markers integer ,intent(in):: m ! number of constraints integer,dimension(m),intent(in) :: posx integer,dimension(m),intent(in) :: posy double precision,dimension(m),intent(in) :: cost integer,dimension(m),intent(inout) :: sol integer :: r end function solveSymMax2SAT end interface
Définition dans le fichier tb2solver.hpp/tb2solver.cpp définit dans lib/symmax2sat
int solveSymMax2SAT(int n, int m, int *posx, int *posy, double *cost, int *sol); extern "C" int solvesymmax2sat_(int *n, int *m, int *posx, int *posy, double *cost, int *sol);
Il existe 3 fonctions accessibles des autres modules :
- 1 pour la reconstruction des phases parentales
- 2 pour les tests
public :: get_h_from_w public :: test_module_isymmax2sat1 public :: test_module_isymmax2sat2
get_h_from_w appel la fonction solvesymmax2sat de la lib symmax2sat et utilise la fonction create_sparse_W pour mettre la matrice creuse W dans un format adapté (value,posX,posY avec value != 0) .