1 | // $Id: makedbm.lib,v 1.10 2000-12-19 18:31:47 obachman Exp $ |
---|
2 | //========================================================================= |
---|
3 | // |
---|
4 | // Please send bugs and comments to krueger@mathematik.uni-kl.de |
---|
5 | // |
---|
6 | //============================================================================= |
---|
7 | |
---|
8 | version="$Id: makedbm.lib,v 1.10 2000-12-19 18:31:47 obachman Exp $"; |
---|
9 | category="Miscellaneous"; |
---|
10 | info=" |
---|
11 | LIBRARY: makedbm.lib some usefull tools needed by the Arnold-Classifier. |
---|
12 | |
---|
13 | dbm_read(l); read all entries from a DBM-databaes pointed by l |
---|
14 | dbm_getnext(l); read next entry from a DBM-databaes pointed by l |
---|
15 | create_sing_dbm(); |
---|
16 | read_sing_dbm(); |
---|
17 | "; |
---|
18 | |
---|
19 | //============================================================================= |
---|
20 | |
---|
21 | proc makedbm_init() |
---|
22 | { |
---|
23 | string s; |
---|
24 | link l="DBM:r NFlist"; |
---|
25 | s = read(l,"VERSION"); |
---|
26 | if (s == "" ) { |
---|
27 | "Need to create database..."; |
---|
28 | create_sing_dbm(); |
---|
29 | } |
---|
30 | close(l); |
---|
31 | l="DBM:r NFlist"; |
---|
32 | s = read(l,"VERSION"); |
---|
33 | "Creation done. Current version:", s; |
---|
34 | } |
---|
35 | //============================================================================= |
---|
36 | |
---|
37 | proc dbm_read (link l) |
---|
38 | { |
---|
39 | string s=""; |
---|
40 | s=read(l); |
---|
41 | while( s != "" ) |
---|
42 | { |
---|
43 | s,"=",read(l,s); |
---|
44 | s=read(l); |
---|
45 | } |
---|
46 | } |
---|
47 | |
---|
48 | //============================================================================= |
---|
49 | proc dbm_getnext (link l) |
---|
50 | { |
---|
51 | string s=""; |
---|
52 | s=read(l); |
---|
53 | if( s != "" ) { s,"=",read(l,s); } |
---|
54 | } |
---|
55 | |
---|
56 | //============================================================================= |
---|
57 | proc create_sing_dbm |
---|
58 | { |
---|
59 | // DatenFormat: crk=#; Mu=#; MlrCd=#; |
---|
60 | string s; |
---|
61 | link l="DBM:rw NFlist"; |
---|
62 | |
---|
63 | write(l, "A[k]", "x^(k+1)"); |
---|
64 | s ="crk=1; Mu=k; MlnCd=k;"; |
---|
65 | write(l, "I_A[k]", s); |
---|
66 | |
---|
67 | write(l, "D[k]", "x2y+y^(k-1)"); |
---|
68 | s = "crk=2; Mu=k; MlnCd=1,1,k-3"; |
---|
69 | write(l, "I_D[k]", s); |
---|
70 | |
---|
71 | write(l, "E[6k]", "x3+y^(3*k+1)+a*x*(y^(2*k+1))"); |
---|
72 | s = "crk=2; Mu=6*k; MlnCd=1,2*k,2*k-1"; |
---|
73 | write(l, "I_E[6k]", s); |
---|
74 | |
---|
75 | write(l, "E[6k+1]", "x3+x*(y^(2*k+1))+a*(y^(3*k+2))"); |
---|
76 | write(l, "E[6k+2]", "x3+y^(3*k+2)+a*x*(y^(2*k+2))"); |
---|
77 | write(l, "J[k,0]", "x3+b*x^2*y^k+y^(3*k)+c*x*y^(2*k+1)"); |
---|
78 | write(l, "J[k,r]", "x3+x2*y^k+a*y^(3*k+r)"); |
---|
79 | write(l, "X[1,0]", "x4+a*x2y2+y4"); |
---|
80 | write(l, "X[1,r]", "x4+x2y2+a*y^(4+r)"); |
---|
81 | write(l, "X[k,0]", "x4+b*x^3*y^k+a*x^2*y^(2*k) + x*y^(3*k)"); |
---|
82 | write(l, "X[k,r]", "x4+a*x^3*y^k+x^2*y^(2*k)+b*(y^(4*k+r))"); |
---|
83 | write(l, "W[12k]", "x4+y^(4*k+1)+a*x*(y^(3*k+1))+c*x^2*(y^(2*k+1))"); |
---|
84 | write(l, "W[12k+1]", "x4+x*(y^(3*k+1))+a*x^2*(y^(2*k+1))+c*y^(4*k+2)"); |
---|
85 | write(l, "W[12k+5]", "x4+x*(y^(3*k+2))+a*x2*(y^(2*k+2))+b*y^(4*k+3)"); |
---|
86 | write(l, "W[12k+6]", "x4+y^(4*k+3)+a*x*(y^(3*k+3))+b*x2*(y^(2*k+2))"); |
---|
87 | write(l, "W[k,0]", "x4+b*x2*(y^(2*k+1))+a*x*(y^(3*k+2))+y^(4*k+2)"); |
---|
88 | write(l, "W[k,r]", "x4+a*x3*(y^(k+1))+x2*(y^(2*k+1))+b*y^(4*k+2+r)"); |
---|
89 | write(l, "W#[k,2r-1]", "(x2+y^(2*k+1))^2+b*x*(y^(3*k+1+r))+a*y^(4*k+2+r)"); |
---|
90 | write(l, "W#[k,2r]", "(x2+y^(2*k+1))^2+b*x2*(y^(2*k+1+r))+a*x*(y^(3*k+2+r))"); |
---|
91 | write(l, "Y[1,r,s]", "x^(4+r)+a*x2*(y2)+y^(4+s)"); |
---|
92 | write(l, "Y[k,r,s]", "((x+a*y^k)^2 + b*y^(2*k+s))*( x2 + y^(2*k+r))"); |
---|
93 | write(l, "Z[1,0]", "x3y + x2y3 + xy6 +y7"); |
---|
94 | write(l, "Z[1,r]", "x3y + x2*(y^3) + a*y^(7+r)"); |
---|
95 | write(l, "Z[k,r,s]", "(x2+a*x*(y^k)+b*y^(2*k+r))*(x2+y^(2*k+2*r+s))"); |
---|
96 | write(l, "Z[k,r,0]", "(x+a*(y^k))*(x3+d*x2*(y^(k+r))+c*x*(y^(2*k+2*r+1))+y^(3*k+3*r))"); |
---|
97 | write(l, "Z[k,12k+6r-1]", "(x+a*(y^k))*(x3+b*x*(y^(2*k+2*r+1))+y^(3*k+3*r+1))"); |
---|
98 | write(l, "Z[k,12k+6r]", "(x+a*(y^k))*(x3+x*(y^(2*k+2*r+1))+b*y^(3*k+3*r+2))"); |
---|
99 | write(l, "Z[k,12k+6r+1]", "(x+a*(y^k))*(x3+b*x*(y^(2*k+2*r+2))+y^(3*k+3*r+2))"); |
---|
100 | write(l, "Z[k,0]", "y*(x3+d*x2*(y^(k+1))+c*x*(y^(2*k+3))+y^(3*k+3))"); |
---|
101 | write(l, "Z[k,r]", "y*(x3+x^2*y^(k+1)+b*(y^(3*k+r+3)))"); |
---|
102 | write(l, "Z[6k+5]", "y*(x3+b*x*(y^(2*k+1))+y^(3*k+1))"); |
---|
103 | write(l, "Z[6k+6]", "y*(x3+x*(y^(2*k+1))+b*y^(3*k+2))"); |
---|
104 | write(l, "Z[6k+7]", "y*(x3+b*x*(y^(2*k+2))+y^(3*k+2))"); |
---|
105 | write(l, "Q[k,0]", "x3+z2y+b*x2*(y^k)+x*(y^(2*k))"); |
---|
106 | write(l, "Q[k,r]", "x3+z2y+x2*(y^k)+b*y^(3*k+r)"); |
---|
107 | write(l, "Q[6k+4]", "x3+z2y+y^(3*k+1)+b*x*(y^(2*k+1))"); |
---|
108 | write(l, "Q[6k+5]", "x3+z2y+x*(y^(2*k+1))+b*y^(3*k+2)"); |
---|
109 | write(l, "Q[6k+6]", "x3+z2y+y^(3*k+2)+b*x*(y^(2*k+2))"); |
---|
110 | write(l, "S[12k-1]", "x2z+z2y+y^(4*k)+a*x*(y^(3*k))+c*z*(y^(2*k+1))"); |
---|
111 | write(l, "S[12k]", "x2z+z2y+x*(y^(3*k))+c*y^(4*k+1)+a*z*(y^(2*k+1))"); |
---|
112 | write(l, "S[k,0]", "x2z+z2y+y^(4*k+1)+a*x*(y^(3*k+1))+b*z*(y^(2*k+1))"); |
---|
113 | write(l, "S[k,r]", "x2z+z2y+x2*(y^(2*k))+a*x3*(y^k)+b*y^(4*k+r+1)"); |
---|
114 | write(l, "S#[k,2r-1]", "x2z+z2y+z*(y^(2*k+1))+b*x*(y^(3*k+r))+a*(y^(4*k+r+1))"); |
---|
115 | write(l, "S#[k,2r]", "x2z+z2y+z*(y^(2*k+1))+b*x2*(y^(2*k+r))"); |
---|
116 | write(l, "S[12k+4]", "x2z+z2y+x*(y^(3*k+1))+a*z*(y^(2*k+2))+b*y^(4*k+2)"); |
---|
117 | write(l, "S[12k+5]", "x2z+z2y+y^(4*k+2)+a*x*(y^(3*k+2))+b*z*(y^(2*k+2))"); |
---|
118 | write(l, "U[12k]", "x3+z2x+y^(3*k+1)+a*x*(y^(2*k+1))+b*z*(y^(2*k+1))+d*x2*(y^(k+1))"); |
---|
119 | write(l, "U[k,2r-1]", "x3+z2x+x*(y^(2*k+1))+a*x2*(y^(k+1))+b*(y^(3*k+r+2))+c*z*(y^(2*k+r+1))"); |
---|
120 | write(l, "U[k,2r]", "x3+z2x+x*(y^(2*k+1))+a*x2*(y^(k+1))+b*z*(y^(2*k+r+1))+c*z2*(y^(k+r))"); |
---|
121 | write(l, "U[12k+4]", "x3+z2x+y^(3*k+2)+a*x*(y^(2*k+2))+b*z*(y^(2*k+2))+c*x2*(y^(k+1))"); |
---|
122 | write(l, "V[1,0]", "x2y+z4+a*z3y+b*z2y2+y3z"); |
---|
123 | write(l, "V[1,r]", "x2y+z4+b*z3y+z2y2+a*(y^(r+4))"); |
---|
124 | write(l, "V#[1,2r-1]", "x2y+z3y+a*z2y2+y4+b*x*(z^(r+2))"); |
---|
125 | write(l, "V#[1,2r]", "x2y+z3y+a*z2y2+y4+b*(z^(r+4))"); |
---|
126 | write(l, "T[k,r,s]", "x^k+y^r+z^s+xyz"); |
---|
127 | |
---|
128 | s = "crk=2; Mu=6*k+1; MlnCd=1,2*k,2*k"; |
---|
129 | write(l, "I_E[6k+1]", s); |
---|
130 | //"I_E[6k+1]=", read(l, "I_E[6k+1]"); |
---|
131 | s = "crk=2; Mu=6*k+2; MlnCd=1,2*k+1,2*k-1"; |
---|
132 | write(l, "I_E[6k+2]", s); |
---|
133 | s = "crk=2; Mu=6*k-2; MlnCd=1,2*k-1,2*k-1"; |
---|
134 | write(l, "I_J[k,0]", s); |
---|
135 | //"I_J[k,0]=", read(l, "I_J[k,0]"); |
---|
136 | s = "crk=2; Mu=6*k-2+r; MlnCd=1,2*k-1,2*k-1+r"; |
---|
137 | write(l, "I_J[k,r]", s); |
---|
138 | //"I_J[k,r]=", read(l, "I_J[k,r]"); |
---|
139 | s = "crk=2; Mu=9; MlnCd=1,1,1,1,1"; |
---|
140 | write(l, "I_X[1,0]", s); |
---|
141 | s = "crk=2; Mu=9+r; MlnCd=1,1,1,1,1+r"; |
---|
142 | write(l, "I_X[1,r]", s); |
---|
143 | s = "crk=2; Mu=12*k-3; MlnCd=1,1,2*k-1,2*k-1,2*k-1"; |
---|
144 | write(l, "I_X[k,0]", s); |
---|
145 | s = "crk=2; Mu=12*k-3+r; MlnCd=1,1,2*k-1,2*k-1,2*k-1+r"; |
---|
146 | write(l, "I_X[k,r]", s); |
---|
147 | s = "crk=2; Mu=12*k;"; |
---|
148 | write(l, "I_W[12k]", s); |
---|
149 | s = "crk=2; Mu=12*k+1;"; |
---|
150 | write(l, "I_W[12k+1]", s); |
---|
151 | s = "crk=2; Mu=12*k+5;"; |
---|
152 | write(l, "I_W[12k+5]", s); |
---|
153 | s = "crk=2; Mu=12*k+6;"; |
---|
154 | write(l, "I_W[12k+6]", s); |
---|
155 | s = "crk=2; Mu=12*k+3;"; |
---|
156 | write(l, "I_W[k,0]", s); |
---|
157 | s = "crk=2; Mu=12*k+3+r;"; |
---|
158 | write(l, "I_W[k,r]", s); |
---|
159 | s = "crk=2; Mu=12*k+2+2*r;"; |
---|
160 | write(l, "I_W#[k,2r-1]", s); |
---|
161 | s = "crk=2; Mu=12*k+3+2*r;"; |
---|
162 | write(l, "I_W#[k,2r]", s); |
---|
163 | s = "crk=2; Mu=9+r+s;"; |
---|
164 | write(l, "I_Y[1,r,s]", s); |
---|
165 | s = "crk=2; Mu=12*k-3+r+s;"; |
---|
166 | write(l, "I_Y[k,r,s]", s); |
---|
167 | s = "crk=2; Mu=15;"; |
---|
168 | write(l, "I_Z[1,0]", s); |
---|
169 | s = "crk=2; Mu=15+r;"; |
---|
170 | write(l, "I_Z[1,r]", s); |
---|
171 | s = "crk=2; Mu=9+6*k+r;"; |
---|
172 | write(l, "I_Z[k,r]", s); |
---|
173 | s = "crk=2; Mu=12*k+6*r-3;"; |
---|
174 | write(l, "I_Z[k,r,0]", s); |
---|
175 | s = "crk=2; Mu=12*k+6*r+s-3;"; |
---|
176 | write(l, "I_Z[k,r,s]", s); |
---|
177 | s = "crk=2; Mu=12*k+6*r-1;"; |
---|
178 | write(l, "I_Z[k,12k+6r-1]", s); |
---|
179 | s = "crk=2; Mu=12*k+6*r;"; |
---|
180 | write(l, "I_Z[k,12k+6r]", s); |
---|
181 | s = "crk=2; Mu=12*k+6*r+1;"; |
---|
182 | write(l, "I_Z[k,12k+6r+1]", s); |
---|
183 | s = "crk=2; Mu=9+6*k;"; |
---|
184 | write(l, "I_Z[k,0]", s); |
---|
185 | s = "crk=2; Mu=6*(r+1)-1;"; |
---|
186 | write(l, "I_Z[6k+5]", s); |
---|
187 | s = "crk=2; Mu=6*(r+1);"; |
---|
188 | write(l, "I_Z[6k+6]", s); |
---|
189 | s = "crk=2; Mu=6*(r+1)+1;"; |
---|
190 | write(l, "I_Z[6k+7]", s); |
---|
191 | s = "crk=3; Mu=6*k+2;"; |
---|
192 | write(l, "I_Q[k,0]", s); |
---|
193 | s = "crk=3; Mu=6*k+2+r;"; |
---|
194 | write(l, "I_Q[k,r]", s); |
---|
195 | s = "crk=3; Mu=6*k+4;"; |
---|
196 | write(l, "I_Q[6k+4]", s); |
---|
197 | s = "crk=3; Mu=6*k+5;"; |
---|
198 | write(l, "I_Q[6k+5]", s); |
---|
199 | s = "crk=3; Mu=6*k+6;"; |
---|
200 | write(l, "I_Q[6k+6]", s); |
---|
201 | s = "crk=3; Mu=12*k-1;"; |
---|
202 | write(l, "I_S[12k-1]", s); |
---|
203 | s = "crk=3; Mu=12*k;"; |
---|
204 | write(l, "I_S[12k]", s); |
---|
205 | s = "crk=3; Mu=12*k+2;"; |
---|
206 | write(l, "I_S[k,0]", s); |
---|
207 | s = "crk=3; Mu=12*k+2+r;"; |
---|
208 | write(l, "I_S[k,r]", s); |
---|
209 | s = "crk=3; Mu=12*k+2*r+1;"; |
---|
210 | write(l, "I_S#[k,2r-1]", s); |
---|
211 | s = "crk=3; Mu=12*k+2*r+2;"; |
---|
212 | write(l, "I_S#[k,2r]", s); |
---|
213 | s = "crk=3; Mu=12*k+4;"; |
---|
214 | write(l, "I_S[12k+4]", s); |
---|
215 | s = "crk=3; Mu=12*k+5;"; |
---|
216 | write(l, "I_S[12k+5]", s); |
---|
217 | s = "crk=3; Mu=12*k;"; |
---|
218 | write(l, "I_U[12k]", s); |
---|
219 | s = "crk=3; Mu=12*k+4;"; |
---|
220 | write(l, "I_U[12k+4]", s); |
---|
221 | s = "crk=3; Mu=12*k+1+2*r;"; |
---|
222 | write(l, "I_U[k,2r-1]", s); |
---|
223 | s = "crk=3; Mu=12*k+2+2*r;"; |
---|
224 | write(l, "I_U[k,2r]", s); |
---|
225 | s = "crk=3; Mu=15;"; |
---|
226 | write(l, "I_V[1,0]", s); |
---|
227 | s = "crk=3; Mu=15+r;"; |
---|
228 | write(l, "I_V[1,r]", s); |
---|
229 | s = "crk=3; Mu=14+2*r;"; |
---|
230 | write(l, "I_V#[1,2r-1]", s); |
---|
231 | s = "crk=3; Mu=15+2*r;"; |
---|
232 | write(l, "I_V#[1,2r]", s); |
---|
233 | s = "crk=3; Mu=0;"; |
---|
234 | write(l, "I_T[k,r,s]", s); |
---|
235 | write(l,"VERSION", "1.0"); |
---|
236 | close(l); |
---|
237 | } |
---|
238 | |
---|
239 | proc read_sing_dbm |
---|
240 | { |
---|
241 | link l="DBM: NFlist"; |
---|
242 | "A[k] = "+read(l, "A[k]"); |
---|
243 | "D[k] = "+read(l, "D[k]"); |
---|
244 | "E[6k] = "+read(l, "E[6k]"); |
---|
245 | "E[6k+1] = "+read(l, "E[6k+1]"); |
---|
246 | "E[6k+2] = "+read(l, "E[6k+2]"); |
---|
247 | "J[k,0] = "+read(l, "J[k,0]"); |
---|
248 | "J[k,r] = "+read(l, "J[k,r]"); |
---|
249 | "X[1,0] = "+read(l, "X[1,0]"); |
---|
250 | "X[1,r] = "+read(l, "X[1,r]"); |
---|
251 | "X[k,0] = "+read(l, "X[k,0]"); |
---|
252 | "X[k,r] = "+read(l, "X[k,r]"); |
---|
253 | "W[12k] = "+read(l, "W[12k]"); |
---|
254 | "W[12k+1] = "+read(l, "W[12k+1]"); |
---|
255 | "W[12k+5] = "+read(l, "W[12k+5]"); |
---|
256 | "W[12k+6] = "+read(l, "W[12k+6]"); |
---|
257 | "W[k,0] = "+read(l, "W[k,0]"); |
---|
258 | "W[k,r] = "+read(l, "W[k,r]"); |
---|
259 | "W#[k,2r-1] = "+read(l, "W#[k,2r-1]"); |
---|
260 | "W#[k,2r] = "+read(l, "W#[k,2r]"); |
---|
261 | "Y[1,r,s] = "+read(l, "Y[1,r,s]"); |
---|
262 | "Y[k,r,s] = "+read(l, "Y[k,r,s]"); |
---|
263 | "Z[1,0] = "+read(l, "Z[1,0]"); |
---|
264 | "Z[1,r] = "+read(l, "Z[1,r]"); |
---|
265 | "Z[k,r,s] = "+read(l, "Z[k,r,s]"); |
---|
266 | "Z[k,r,0] = "+read(l, "Z[k,r,0]"); |
---|
267 | "Z[k,12k+6r-1]= "+read(l, "Z[k,12k+6r-1]"); |
---|
268 | "Z[k,12k+6r] = "+read(l, "Z[k,12k+6r]"); |
---|
269 | "Z[k,12k+6r+1]= "+read(l, "Z[k,12k+6r+1]"); |
---|
270 | "Z[k,0] = "+read(l, "Z[k,0]"); |
---|
271 | "Z[k,r] = "+read(l, "Z[k,r]"); |
---|
272 | "Z[6k+5] = "+read(l, "Z[6k+5]"); |
---|
273 | "Z[6k+6] = "+read(l, "Z[6k+6]"); |
---|
274 | "Z[6k+7] = "+read(l, "Z[6k+7]"); |
---|
275 | "Q[k,0] = "+read(l, "Q[k,0]"); |
---|
276 | "Q[k,r] = "+read(l, "Q[k,r]"); |
---|
277 | "Q[6k+4] = "+read(l, "Q[6k+4]"); |
---|
278 | "Q[6k+5] = "+read(l, "Q[6k+5]"); |
---|
279 | "Q[6k+6] = "+read(l, "Q[6k+6]"); |
---|
280 | "S[12k-1] = "+read(l, "S[12k-1]"); |
---|
281 | "S[12k] = "+read(l, "S[12k]"); |
---|
282 | "S[k,0] = "+read(l, "S[k,0]"); |
---|
283 | "S[k,r] = "+read(l, "S[k,r]"); |
---|
284 | "S#[k,2r-1] = "+read(l, "S#[k,2r-1]"); |
---|
285 | "S#[k,2r] = "+read(l, "S#[k,2r]"); |
---|
286 | "S[12k+4] = "+read(l, "S[12k+4]"); |
---|
287 | "S[12k+5] = "+read(l, "S[12k+5]"); |
---|
288 | "U[12k] = "+read(l, "U[12k]"); |
---|
289 | "U[k,2r-1]= "+read(l, "U[k,2r-1]"); |
---|
290 | "U[k,2r] = "+read(l, "U[k,2r]"); |
---|
291 | "U[12k+4] = "+read(l, "U[12k+4]"); |
---|
292 | "V[1,0] = "+read(l, "V[1,0]"); |
---|
293 | "V[1,r] = "+read(l, "V[1,r]"); |
---|
294 | "V#[1,2r-1] = "+read(l, "V#[1,2r-1]"); |
---|
295 | "V#[1,2r] = "+read(l, "V#[1,2r]"); |
---|
296 | "T[k,r,s] = "+read(l, "T[k,r,s]"); |
---|
297 | close(l); |
---|
298 | } |
---|