Référence du fichier /tmp/galet/src/regle1.cpp

contient la règle 1 Plus de détails...

#include "regles.h"

Graphe des dépendances par inclusion de regle1.cpp:

Aller au code source de ce fichier.

Fonctions

res_regle regle_1 (const entier_type &N, GRAPHE &G)
 On teste la regle n°1 (suppression des galets inutiles).


Description détaillée

contient la règle 1

Auteur:
Brice Boyer
Date:
17 juillet 2008

Définition dans le fichier regle1.cpp.


Documentation des fonctions

res_regle regle_1 ( const entier_type N,
GRAPHE G 
)

On teste la regle n°1 (suppression des galets inutiles).

On ne supprime pas un galet si :

  • il reste une arête vers les fils. (Dans le cas contraire, si l'algorithme est correct, il n'y en a pas non plus vers les parents.)
  • il reste deux galets fils qui se servent de ce galet de manière destructive (non faisable) On se sert de GRAPHE::on_essaie_de_calculer. Les indéterminations ont été enlevées. On supprime vraiment une fois que tout est déterminé. On met le graphe à jour au fur et à mesure
    À faire:
    TODO check me
    Renvoie:
    true si on a fait qqch, faux sinon.

Définition à la ligne 46 du fichier regle1.cpp.

Références _debog, _DEBUG1, _DEBUG2, _resul, cinfo, GRAPHE::nom_de(), et GRAPHE::on_essaie_de_calculer().

Référencé par CreuseProfondUnique().

00046                                                         { /*{{{*/
00047    cinfo(_DEBUG2,true,3,_debog) << "regle_1 : Règle 1 en " << G.nom_de ( N ) << " :\n";
00048 
00049    res_regle fait = G.on_essaie_de_calculer ( N );         // on regarde si on peut...
00050 
00051    //ctrace(_DEBUG2,fait.first,G);
00052 
00053    cinfo(_DEBUG1, fait.first,3,_resul) << "regle_1 : noeud "     << G.nom_de ( N ) << " calculé.\n";
00054    cinfo(_DEBUG2,!fait.first,3,_resul) << "regle_1 : au noeud "  << G.nom_de ( N ) << " non appliquée.\n";
00055    return ( fait );                                   // et on le dit !
00056 } /*}}}*/

Voici le graphe d'appel pour cette fonction :