/*************************************** * * * Copyright (c) 1998 Jean-Eric Pin * * All rights reserved. * * * * TAB = 2 spaces * * * ***************************************/ /*------------------------------------------------------------------- * Globales.c Jean-Eric Pin 07/12/96 * Merci a Alair Pereira Lago et a Mario Branco pour la version portugaise * Merci a Anca Muscholl pour la version allemande * Merci a Roberto Mantaci pour la version italienne * Merci a Antonio Cano Gomez pour la version espagnole *------------------------------------------------------------------- */ /************************************************* * * Variables globales du programme semigroupe * *************************************************/ #include <stdio.h> #include "Main.h" #include "Globales.h" #include "Initialisation.h" #ifdef DEBUG long ElementsAlloues = 0; #endif /* DEBUG */ float Version = 1.00; /* Version de Semigroupe */ unsigned short NbEtats, NbLettres, NbChiffresNbElements, Longueur, LongueurMax, TypeSemigroupe, TypeCalcul, PartiePointee, PossedeUnZero, PossedeUnNeutre, OptionAction, EstRegulier, SemigroupeRenverse, SauvegardeSouhaitee, InitiauxASpecifer, FinauxASpecifer, CalculsEffectues, MemoireAllouee; unsigned long Periode, Seuil, TestsEffectues, Varietes; short TailleElement; unsigned long NbRelations, TailleTableDeHachage, TailleTableDeHachageMoinsUn; numero DernierMot, nZero, NbElements, NbReelElements, NbIdempotents, NbRclasses, NbLclasses, NbDclasses, NbLclassesMinimales, TailleRIdealMinimal, TailleMaxi; element Identite; /* L'identite du monoide ou du semigroupe */ element *Generateurs; /* Les generateurs du semigroupe */ element *TableDesValeurs; /* Les valeurs des elements du semigroupe dans l'univers. */ numero *TableDeHachage; /* La table de l'adresse des elements. On y accede par hachage et adressage ouvert. */ numero *TableIdempotents; /* La table des idempotents */ info *Table; /* La table contenant les informations sur les elements */ info2 *Table2; /* La table contenant les autres informations sur les elements (R-classe, L-classe, D-classe, xOmega, etc.) */ numero **TableDeS; /* La table de multiplication du semigroupe */ ProduitsDG *TableInfo; Copie_ Copie; Hachage_ Hachage; Hachage_ HachageSecondaire; Produit_ Produit; ProduitRapide_ ProduitRapide; EstEgal_ EstEgal; FaireIdentite_ FaireIdentite; Produit_ ProduitNormal; Entree_ Entree; Sortie_ SortieElement; Sauvegarde_ Sauvegarde; Lecture_ LectureFichier; Alloue_ AlloueMemoireElement; Libere_ LibereMemoireElement; EntreePartie_ EntreePartie; char **Messages; short *EtatsInitiaux, *EtatsFinaux;