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