/***************************************
*                                      *
*   Copyright (c) 1998 Jean-Eric Pin   *
*   All rights reserved.               *
*                                      *
*   TAB = 2 spaces                     *
*                                      *
***************************************/

/*-------------------------------------------------------------------
 * Zero.c    Jean-Eric Pin 07/12/96
 *-------------------------------------------------------------------
 */     

#include <stdlib.h>
#include <stdio.h>
#include "Main.h"
#include "Zero.h"

extern unsigned short NbLettres, PossedeUnZero;
extern unsigned long CalculsEffectues;
extern unsigned long DernierMot, nZero, NbElements;
extern info *Table;

void TesteZero(void)
{
  lettre a;
  unsigned long n;

  if (!(CalculsEffectues & CALCUL_ZERO))
  {
    PossedeUnZero = 0;
    for (n = IDENTITE; n <= NbElements; n++)
    {
      for (a = 0; (a < NbLettres) && (n == (Table[n].Produits[a].D & ~EST_REDUIT)) && (n == Table[n].Produits[a].G); a++)
        ;
      PossedeUnZero = (a == NbLettres);
      if (PossedeUnZero)
      {
        nZero = n;
        break;
      }
    }
    CalculsEffectues |= CALCUL_ZERO;    /* On prend note : le calcul du zero est termine */
  }
}