// l-inegalites.c
// << Algorithmique du texte >>
// Maxime Crochemore, Christophe Hancart et Thierry Lecroq
// Vuibert, 2001.
#include <stdio.h>
#include "chl.h"
#include "cellule.h"
#include "fifo.h"
#include "allouer.h"
#include "ineg-fusion.h"
void lInegalites(Mot x, Longueur m, Mot y, Longueur n, int k, File G[]) {
File F, J;
int f, g, j;
F = fileVide();
f = g = -1;
for (j = 0; j <= n - m; ++j) {
if (longueur(F) > 0 && *(int *)tete(F) == j - f - 1)
defiler(F);
if (j <= g)
J = inegFusion(x, y, f, j, g, k, F, G[j - f]);
else
J = fileVide();
if (longueur(J) <= k) {
F = J;
f = j;
do {
++g;
if (x[g - j] != y[g])
enfiler(F, nouvelEntier(g - j));
}
while (longueur(F) <= k && g < j + m - 1);
signalerSi(longueur(F) <= k);
}
}
}