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) .

get_h.png (24,957 ko) Olivier Filangi, 17/01/2013 10:31

get_h.odg (10,167 ko) Olivier Filangi, 17/01/2013 10:31