1 /* definitions.h  9/11/94
2  * 9/1/98 change type of generator from char to `gen'
3  * This file contains definitions of external variables used in all programs
4  */
5 int kbm_store_ptrs = 0;
6 /* This is incremented every time malloc is called
7  * and decremented every time free is called.
8  * It should be zero whenever exit(0) is called (although this
9  * is not normally checked).
10  * It will not usually be 0 when exit(1) (error condition) is called.
11  */
12 int kbm_print_level = 1;
13 /* kbm_print_level = 0 - no printing to stdout
14  * kbm_print_level = 1 - progress reports printed (default)
15  * kbm_print_level = 2 - diagnostic output.
16  */
17 char kbm_buffer[1024];
18 /* Used to store words, lines, etc. when reading and printing */
19 int kbm_algno;
20 int kbm_gen_no[65536]; /* changed 9/1/98 */
21 /* To help fast reading of large sets of words, two specials formats
22  * for monoid generators are recognised:
23  * a) single letter characters (usually 'A' will be inverse of 'a', etc.)
24  * b) names of form <prefix><posint>, for a fixed prefix, where posint should
25  *    be at most MAXGEN.
26  * In case a), the variable kbm_algno is set equal to 0, and the array
27  * kbm_gen_no is used to translate from rws.gen_name back to the gneerator
28  * number.
29  * In case b), kbm_algno is set equal to the length of <prefix> (which must
30  * be strictly positive), and kbm_gen_no is defined on the <posint> suffixes
31  * to get the generator number back from the name.
32  * If neither case a) nor case b) applies then kbm_algno is set equal to -1,
33  * and names are located in the list by a straightforward linear search - of
34  * course this will be considerably slower for long lists of words.
35  */
36 boolean kbm_large = FALSE;
37 boolean kbm_huge = FALSE;
38 /* Means the problem is believed to be large/huge in some sense - the
39  * intial size of the hash-tables are made larger.
40  */
41