File: todd_coxeter.h

package info (click to toggle)
magnus 20060324-5.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 19,436 kB
  • ctags: 20,462
  • sloc: cpp: 130,217; ansic: 37,090; tcl: 10,970; perl: 1,109; makefile: 966; sh: 403; yacc: 372; csh: 57; awk: 33; asm: 10
file content (76 lines) | stat: -rw-r--r-- 2,423 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* include file todd_coxeter.h  */
#include "ctype.h"
#include "tc.h"
#include "tcyacc.h"
#include "miscellaneous.h"
#ifndef __TODD__
#define __TODD__
#define Pdl_Space	512
#define Edp_Space	2 * Rel_len + 4 * NDGEN
#define Other_Space	6 * NDGEN + 30
#define Trans_Parameter  RELATORS_IN_SUBGROUP = Rel_in_sgp; \
        		FILL_FACTOR = Fill_factor; \
			COMP_PCT = Compact; \
			F_TYPE_DEF = F_type; \
			A_FACTOR = A_factor; \
			NDGEN = Gen_no; \
			NDREL = Rel_no; \
			NSGPG = Sgen_no; \
			SGEN_LEN = Sgn_len; \
			REL_LEN = Rel_len; \
        		MSGLVE = Message_interval; \
			PAGE_STRATEGY = toupper(Page_strategy); \
        		MAXTAB = Max_coset; \
			NEWREL = Newrel; Newrel = 0; \
			NEWSG = Newsg; Newsg = 0; \
			for (i=0; i<=9; i++) \
				DIAG[i] = Diag[i]; \
			relator_space = 2 * Rel_len + 3 * NDREL; \
			subg_gen_space = Sgn_len + 2 * NSGPG; \
			Y = Space; \
        		if (Time != 0.000000)  { \
				LTIME = utl_second(); \
            			LTIME = LTIME + Time; \
          		} else \
            			LTIME = 0.000000;
#define Assign_space	PDL_COL = &y[BACKY - 256]; \
			PDL_ROW = PDL_COL - 256; \
			GEN_TO_COL = PDL_ROW - 1 - NDGEN; \
			INV_TO_COL = GEN_TO_COL - 3 * NDGEN - 1; \
			COL_TO_GEN = INV_TO_COL - 2 * NDGEN - 1; \
			SUBG_LENGTH = COL_TO_GEN - NSGPG - 3; \
			SUBG_INDEX = SUBG_LENGTH - NSGPG - 1; \
			SUBGROUP_GEN = SUBG_INDEX - Sgn_len - 1; \
			RELATOR_EXPONENT = SUBGROUP_GEN - NDREL - 1; \
			RELATOR_LENGTH = RELATOR_EXPONENT - NDREL - 1; \
			RELATOR_INDEX = RELATOR_LENGTH - NDREL - 1; \
			RELATORS = RELATOR_INDEX - 2 * Rel_len - 1; \
			EDP = RELATORS - 2 * Rel_len - 2; \
			EDP_END = EDP - 2 * NDGEN - 2; \
			EDP_BEG = EDP_END - 2 * NDGEN - 1; \
			DED_END = EDP_BEG - 2; \
			COSET_TABLE = &y[FRONTY]
#define Set_maxrow	nmax = relator_space + subg_gen_space; \
			nmax += Pdl_Space + Edp_Space + Other_Space - 1; \
			nmax = BACKY - nmax; \
			nmax = nmax/NCOL; \
			if (MAXTAB > 0) { \
				nmax = min0(nmax, MAXTAB); \
				MAXROW = nmax; \
			} else if (MAXTAB < 0) \
				MAXROW = nmax + MAXTAB; \
			else \
				MAXROW = nmax; \
			if (MSGLVE && PAGE_STRATEGY) \
				tc_text(25,tc_pvar); \
			else if (MSGLVE) \
				tc_text(16, tc_pvar)
#define Execution_time	FNTIME = utl_second(); \
                        FNTIME = FNTIME - sttime; \
                        tc_text(17, tc_pvar)
#define Check_overflow	if (OVERFL) { \
				Execution_time; \
				return; \
			}
#endif