checkpoint
[slipway.git] / src / edu / berkeley / slipway / gui / GuiConstants.java
1 package edu.berkeley.slipway.gui;
2
3 import com.atmel.fpslic.*;
4 import static com.atmel.fpslic.FpslicConstants.*;
5 import static com.atmel.fpslic.FpslicUtil.*;
6 import edu.berkeley.slipway.*;
7 import java.awt.*;
8 import java.awt.geom.*;
9 import java.awt.event.*;
10 import java.awt.color.*;
11 import org.ibex.util.*;
12 import java.io.*;
13 import java.util.*;
14 import javax.swing.*;
15
16 public class GuiConstants {
17     public static int SIZE = 92;
18     public static int RINGS = 3;
19     public static int BEVEL = 5;
20     public static int CORE_SIZE = 64;
21     public static int CORE_OFFSET = 10;
22     public static int HOFF = 52;
23
24     public static int RED  = 0xff0000;
25     public static int BLUE = 0x0000ff;
26     //public static int LIGHTRED  = 0xff0000;
27     //public static int LIGHTBLUE = 0x0000ff;
28     public static int LIGHTRED  = 0xffbbbb;
29     public static int LIGHTBLUE = 0xbbbbff;
30     public static int GREEN = 0x006b33;
31     public static int WHITE = 0xffffff;
32     public static int BLACK = 0x000000;
33     public static int ORANGE = 0xff7f00;
34     public static int MAGENTA = 0xff00ff;
35
36     public static final P YLUT_OUTPUT_POINT  = new P(SIZE-CORE_OFFSET-CORE_SIZE+51 - 2, CORE_OFFSET + 41 - 3);
37     public static final P XLUT_OUTPUT_POINT  = new P(SIZE-CORE_OFFSET-CORE_SIZE+17 - 2, CORE_OFFSET + 41 - 3);
38
39     public static final String[] XLUT_EQUATIONS = new String[] {
40         "0",
41         "0",
42         "~t x ~y",
43         "~t ~y",
44         "~t ~x y",
45         "~t ~x",
46         "~t (~x y + x ~y)",
47         "~t (~x + ~y)",
48         "~t x y",
49         "~t x y",
50         "~t x",
51         "~t x",
52         "~t y",
53         "~t y",
54         "~t (x + y)",
55         "~t",
56         "t ~x ~y",
57         "~x ~y",
58         "~y (~t x + t ~x)",
59         "~y (~t + ~x)",
60         "~x (~t y + t ~y)",
61         "~x (~t + ~y)",
62         "~t (~x y + x ~y) + t ~x ~y",
63         "~t (~x + ~y) + ~x ~y",
64         "t ~x ~y + ~t x y",
65         "~x ~y + ~t x y",
66         "~t x + t ~x ~y",
67         "~x ~y + ~t x",
68         "~t y + t ~x ~y",
69         "~x ~y + ~t y",
70         "~t (x + y) + t ~x ~y",
71         "~t + ~x ~y",
72         "t x ~y",
73         "t x ~y",
74         "x ~y",
75         "x ~y",
76         "t x ~y + ~t ~x y",
77         "~t ~x + t x ~y",
78         "x ~y + ~t ~x y",
79         "x ~y + ~t ~x",
80         "x (~t y + t ~y)",
81         "x (~t y + t ~y)",
82         "x (~t + ~y)",
83         "x (~t + ~y)",
84         "~t y + t x ~y",
85         "~t y + t x ~y",
86         "x ~y + ~t y",
87         "~t + x ~y",
88         "t ~y",
89         "t ~y",
90         "~y (t + x)",
91         "~y",
92         "t ~y + ~t ~x y",
93         "t ~y + ~t ~x",
94         "~y (t + x) + ~t ~x y",
95         "~y + ~t ~x",
96         "t ~y + ~t x y",
97         "t ~y + ~t x y",
98         "t ~y + ~t x",
99         "~y + ~t x",
100         "t ~y + ~t y",
101         "t ~y + ~t y",
102         "(t y + ~t ~x ~y)",
103         "(t y)",
104         "t ~x y",
105         "t ~x y",
106         "~t x ~y + t ~x y",
107         "~t ~y + t ~x y",
108         "~x y",
109         "~x y",
110         "~x y + ~t x ~y",
111         "~t ~y + ~x y",
112         "y (~t x + t ~x)",
113         "y (~t x + t ~x)",
114         "~t x + t ~x y",
115         "~t x + t ~x y",
116         "y (~t + ~x)",
117         "y (~t + ~x)",
118         "~x y + ~t x",
119         "~t + ~x y",
120         "t ~x",
121         "t ~x",
122         "t ~x + ~t x ~y",
123         "~t ~y + t ~x",
124         "~x (t + y)",
125         "~x",
126         "~x (t + y) + ~t x ~y",
127         "~x + ~t ~y",
128         "t ~x + ~t x y",
129         "t ~x + ~t x y",
130         "t ~x + ~t x",
131         "t ~x + ~t x",
132         "~t y + t ~x",
133         "~x + ~t y",
134         "~(t x + ~t ~x ~y)",
135         "~(t x)",
136         "t (~x y + x ~y)",
137         "t (~x y + x ~y)",
138         "x ~y + t ~x y",
139         "x ~y + t ~x y",
140         "~x y + t x ~y",
141         "~x y + t x ~y",
142         "x ~y + ~x y",
143         "x ~y + ~x y",
144         "t (~x y + x ~y) + ~t x y",
145         "t (~x y + x ~y) + ~t x y",
146         "x (~t + ~y) + t ~x y",
147         "x (~t + ~y) + t ~x y",
148         "y (~t + ~x) + t x ~y",
149         "y (~t + ~x) + t x ~y",
150         "~(~x ~y + t x y)",
151         "~(~x ~y + t x y)",
152         "t (~x + ~y)",
153         "t (~x + ~y)",
154         "x ~y + t ~x",
155         "~y + t ~x",
156         "t ~y + ~x y",
157         "~x + t ~y",
158         "~(x y + ~t ~x ~y)",
159         "~(x y)",
160         "t (~x + ~y) + ~t x y",
161         "t (~x + ~y) + ~t x y",
162         "~(~t ~x + t x y)",
163         "~(~t ~x + t x y)",
164         "~(~t ~y + t x y)",
165         "~(~t ~y + t x y)",
166         "~(~t ~x ~y + t x y)",
167         "~(t x y)",
168         "t x y",
169         "~t ~x ~y + t x y",
170         "~t ~y + t x y",
171         "~t ~y + t x y",
172         "~t ~x + t x y",
173         "~t ~x + t x y",
174         "~t (~x + ~y) + t x y",
175         "~(t (~x + ~y) + ~t x y)",
176         "x y",
177         "x y + ~t ~x ~y",
178         "~t ~y + x y",
179         "~(t ~y + ~x y)",
180         "y (~t + x)",
181         "~(x ~y + t ~x)",
182         "~t + x y",
183         "~(t (~x + ~y))",
184         "~x ~y + t x y",
185         "~x ~y + t x y",
186         "~y (~t + ~x) + t x y",
187         "~(y (~t + ~x) + t x ~y)",
188         "~x (~t + ~y) + t x y",
189         "~(x (~t + ~y) + t ~x y)",
190         "~(t (~x y + x ~y) + ~t x y)",
191         "~(t (~x y + x ~y) + ~t x y)",
192         "~x ~y + x y",
193         "~(x ~y + ~x y)",
194         "~(~x y + t x ~y)",
195         "~(~x y + t x ~y)",
196         "~(x ~y + t ~x y)",
197         "~(x ~y + t ~x y)",
198         "~(t (~x y + x ~y))",
199         "~(t (~x y + x ~y))",
200         "t x",
201         "t x + ~t ~x ~y",
202         "x (t + ~y)",
203         "~(~t y + t ~x)",
204         "~t ~x + t x",
205         "~(t ~x + ~t x)",
206         "~(t ~x + ~t x y)",
207         "~(t ~x + ~t x y)",
208         "x (t + y)",
209         "~(~x (t + y) + ~t x ~y)",
210         "x",
211         "~(~x (t + y))",
212         "~t y + t x",
213         "~(t ~x + ~t x ~y)",
214         "~(t ~x)",
215         "~(t ~x)",
216         "~x ~y + t x",
217         "~(~x y + ~t x)",
218         "~y + t x",
219         "~(y (~t + ~x))",
220         "~(~t x + t ~x y)",
221         "~(~t x + t ~x y)",
222         "~(y (~t x + t ~x))",
223         "~(y (~t x + t ~x))",
224         "t ~y + x y",
225         "~(~x y + ~t x ~y)",
226         "~(~x y)",
227         "~(~x y)",
228         "~(~t ~y + t ~x y)",
229         "~(~t x ~y + t ~x y)",
230         "~(t ~x y)",
231         "~(t ~x y)",
232         "t y",
233         "t y + ~t ~x ~y",
234         "~t ~y + t y",
235         "~(t ~y + ~t y)",
236         "y (t + ~x)",
237         "~(t ~y + ~t x)",
238         "~(t ~y + ~t x y)",
239         "~(t ~y + ~t x y)",
240         "y (t + x)",
241         "~(~y (t + x) + ~t ~x y)",
242         "~(t ~y + ~t ~x)",
243         "~(t ~y + ~t ~x y)",
244         "y",
245         "~(~y (t + x))",
246         "~(t ~y)",
247         "~(t ~y)",
248         "~x ~y + t y",
249         "~(x ~y + ~t y)",
250         "~(~t y + t x ~y)",
251         "~(~t y + t x ~y)",
252         "~x + t y",
253         "~(x (~t + ~y))",
254         "~(x (~t y + t ~y))",
255         "~(x (~t y + t ~y))",
256         "x y + t ~x",
257         "~(x ~y + ~t ~x y)",
258         "~(~t ~x + t x ~y)",
259         "~(t x ~y + ~t ~x y)",
260         "~(x ~y)",
261         "~(x ~y)",
262         "~(t x ~y)",
263         "~(t x ~y)",
264         "t (x + y)",
265         "~(~t (x + y) + t ~x ~y)",
266         "x ~y + t y",
267         "~(~t y + t ~x ~y)",
268         "~x y + t x",
269         "~(~t x + t ~x ~y)",
270         "~(~x ~y + ~t x y)",
271         "~(t ~x ~y + ~t x y)",
272         "t (x + y) + x y",
273         "~(~t (~x y + x ~y) + t ~x ~y)",
274         "x + t y",
275         "~(~x (~t y + t ~y))",
276         "y + t x",
277         "~(~y (~t x + t ~x))",
278         "~(~x ~y)",
279         "~(t ~x ~y)",
280         "t",
281         "~(~t (x + y))",
282         "~(~t y)",
283         "~(~t y)",
284         "~(~t x)",
285         "~(~t x)",
286         "~(~t x y)",
287         "~(~t x y)",
288         "t + x y",
289         "~(~t (~x y + x ~y))",
290         "~(~t ~x)",
291         "~(~t ~x y)",
292         "~(~t ~y)",
293         "~(~t x ~y)",
294         "1",
295         "1"
296     };
297
298     public static final String[] YLUT_EQUATIONS = new String[] {
299         "0",
300         "0",
301         "~t ~x y",
302         "~t ~x",
303         "~t x ~y",
304         "~t ~y",
305         "~t (~x y + x ~y)",
306         "~t (~x + ~y)",
307         "~t x y",
308         "~t x y",
309         "~t y",
310         "~t y",
311         "~t x",
312         "~t x",
313         "~t (x + y)",
314         "~t",
315         "t ~x ~y",
316         "~x ~y",
317         "~x (~t y + t ~y)",
318         "~x (~t + ~y)",
319         "~y (~t x + t ~x)",
320         "~y (~t + ~x)",
321         "~t (~x y + x ~y) + t ~x ~y",
322         "~t (~x + ~y) + ~x ~y",
323         "t ~x ~y + ~t x y",
324         "~x ~y + ~t x y",
325         "~t y + t ~x ~y",
326         "~x ~y + ~t y",
327         "~t x + t ~x ~y",
328         "~x ~y + ~t x",
329         "~t (x + y) + t ~x ~y",
330         "~t + ~x ~y",
331         "t ~x y",
332         "t ~x y",
333         "~x y",
334         "~x y",
335         "~t x ~y + t ~x y",
336         "~t ~y + t ~x y",
337         "~x y + ~t x ~y",
338         "~t ~y + ~x y",
339         "y (~t x + t ~x)",
340         "y (~t x + t ~x)",
341         "y (~t + ~x)",
342         "y (~t + ~x)",
343         "~t x + t ~x y",
344         "~t x + t ~x y",
345         "~x y + ~t x",
346         "~t + ~x y",
347         "t ~x",
348         "t ~x",
349         "~x (t + y)",
350         "~x",
351         "t ~x + ~t x ~y",
352         "~t ~y + t ~x",
353         "~x (t + y) + ~t x ~y",
354         "~x + ~t ~y",
355         "t ~x + ~t x y",
356         "t ~x + ~t x y",
357         "~t y + t ~x",
358         "~x + ~t y",
359         "t ~x + ~t x",
360         "t ~x + ~t x",
361         "~(t x + ~t ~x ~y)",
362         "~(t x)",
363         "t x ~y",
364         "t x ~y",
365         "t x ~y + ~t ~x y",
366         "~t ~x + t x ~y",
367         "x ~y",
368         "x ~y",
369         "x ~y + ~t ~x y",
370         "x ~y + ~t ~x",
371         "x (~t y + t ~y)",
372         "x (~t y + t ~y)",
373         "~t y + t x ~y",
374         "~t y + t x ~y",
375         "x (~t + ~y)",
376         "x (~t + ~y)",
377         "x ~y + ~t y",
378         "~t + x ~y",
379         "t ~y",
380         "t ~y",
381         "t ~y + ~t ~x y",
382         "t ~y + ~t ~x",
383         "~y (t + x)",
384         "~y",
385         "~y (t + x) + ~t ~x y",
386         "~y + ~t ~x",
387         "t ~y + ~t x y",
388         "t ~y + ~t x y",
389         "t ~y + ~t y",
390         "t ~y + ~t y",
391         "t ~y + ~t x",
392         "~y + ~t x",
393         "~(t y + ~t ~x ~y)",
394         "~(t y)",
395         "t (~x y + x ~y)",
396         "t (~x y + x ~y)",
397         "~x y + t x ~y",
398         "~x y + t x ~y",
399         "x ~y + t ~x y",
400         "x ~y + t ~x y",
401         "x ~y + ~x y",
402         "x ~y + ~x y",
403         "t (~x y + x ~y) + ~t x y",
404         "t (~x y + x ~y) + ~t x y",
405         "y (~t + ~x) + t x ~y",
406         "y (~t + ~x) + t x ~y",
407         "x (~t + ~y) + t ~x y",
408         "x (~t + ~y) + t ~x y",
409         "~(~x ~y + t x y)",
410         "~(~x ~y + t x y)",
411         "t (~x + ~y)",
412         "t (~x + ~y)",
413         "t ~y + ~x y",
414         "~x + t ~y",
415         "x ~y + t ~x",
416         "~y + t ~x",
417         "~(x y + ~t ~x ~y)",
418         "~(x y)",
419         "t (~x + ~y) + ~t x y",
420         "t (~x + ~y) + ~t x y",
421         "~(~t ~y + t x y)",
422         "~(~t ~y + t x y)",
423         "~(~t ~x + t x y)",
424         "~(~t ~x + t x y)",
425         "~(~t ~x ~y + t x y)",
426         "~(t x y)",
427         "t x y",
428         "~t ~x ~y + t x y",
429         "~t ~x + t x y",
430         "~t ~x + t x y",
431         "~t ~y + t x y",
432         "~t ~y + t x y",
433         "~t (~x + ~y) + t x y",
434         "~(t (~x + ~y) + ~t x y)",
435         "x y",
436         "x y + ~t ~x ~y",
437         "y (~t + x)",
438         "~(x ~y + t ~x)",
439         "~t ~y + x y",
440         "~(t ~y + ~x y)",
441         "~t + x y",
442         "~(t (~x + ~y))",
443         "~x ~y + t x y",
444         "~x ~y + t x y",
445         "~x (~t + ~y) + t x y",
446         "~(x (~t + ~y) + t ~x y)",
447         "~y (~t + ~x) + t x y",
448         "~(y (~t + ~x) + t x ~y)",
449         "~(t (~x y + x ~y) + ~t x y)",
450         "~(t (~x y + x ~y) + ~t x y)",
451         "~x ~y + x y",
452         "~(x ~y + ~x y)",
453         "~(x ~y + t ~x y)",
454         "~(x ~y + t ~x y)",
455         "~(~x y + t x ~y)",
456         "~(~x y + t x ~y)",
457         "~(t (~x y + x ~y))",
458         "~(t (~x y + x ~y))",
459         "t y",
460         "t y + ~t ~x ~y",
461         "y (t + ~x)",
462         "~(t ~y + ~t x)",
463         "~t ~y + t y",
464         "~(t ~y + ~t y)",
465         "~(t ~y + ~t x y)",
466         "~(t ~y + ~t x y)",
467         "y (t + x)",
468         "~(~y (t + x) + ~t ~x y)",
469         "y",
470         "~(~y (t + x))",
471         "~(t ~y + ~t ~x)",
472         "~(t ~y + ~t ~x y)",
473         "~(t ~y)",
474         "~(t ~y)",
475         "~x ~y + t y",
476         "~(x ~y + ~t y)",
477         "~x + t y",
478         "~(x (~t + ~y))",
479         "~(~t y + t x ~y)",
480         "~(~t y + t x ~y)",
481         "~(x (~t y + t ~y))",
482         "~(x (~t y + t ~y))",
483         "x y + t ~x",
484         "~(x ~y + ~t ~x y)",
485         "~(x ~y)",
486         "~(x ~y)",
487         "~(~t ~x + t x ~y)",
488         "~(t x ~y + ~t ~x y)",
489         "~(t x ~y)",
490         "~(t x ~y)",
491         "t x",
492         "t x + ~t ~x ~y",
493         "~t ~x + t x",
494         "~(t ~x + ~t x)",
495         "x (t + ~y)",
496         "~(~t y + t ~x)",
497         "~(t ~x + ~t x y)",
498         "~(t ~x + ~t x y)",
499         "x (t + y)",
500         "~(~x (t + y) + ~t x ~y)",
501         "~t y + t x",
502         "~(t ~x + ~t x ~y)",
503         "x",
504         "~(~x (t + y))",
505         "~(t ~x)",
506         "~(t ~x)",
507         "~x ~y + t x",
508         "~(~x y + ~t x)",
509         "~(~t x + t ~x y)",
510         "~(~t x + t ~x y)",
511         "~y + t x",
512         "~(y (~t + ~x))",
513         "~(y (~t x + t ~x))",
514         "~(y (~t x + t ~x))",
515         "t ~y + x y",
516         "~(~x y + ~t x ~y)",
517         "~(~t ~y + t ~x y)",
518         "~(~t x ~y + t ~x y)",
519         "~(~x y)",
520         "~(~x y)",
521         "~(t ~x y)",
522         "~(t ~x y)",
523         "t (x + y)",
524         "~(~t (x + y) + t ~x ~y)",
525         "~x y + t x",
526         "~(~t x + t ~x ~y)",
527         "x ~y + t y",
528         "~(~t y + t ~x ~y)",
529         "~(~x ~y + ~t x y)",
530         "~(t ~x ~y + ~t x y)",
531         "t (x + y) + x y",
532         "~(~t (~x y + x ~y) + t ~x ~y)",
533         "y + t x",
534         "~(~y (~t x + t ~x))",
535         "x + t y",
536         "~(~x (~t y + t ~y))",
537         "~(~x ~y)",
538         "~(t ~x ~y)",
539         "t",
540         "~(~t (x + y))",
541         "~(~t x)",
542         "~(~t x)",
543         "~(~t y)",
544         "~(~t y)",
545         "~(~t x y)",
546         "~(~t x y)",
547         "t + x y",
548         "~(~t (~x y + x ~y))",
549         "~(~t ~y)",
550         "~(~t x ~y)",
551         "~(~t ~x)",
552         "~(~t ~x y)",
553         "1",
554         "Constant 1"
555     };
556 }