art-decomp 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. data/.gitignore +2 -0
  2. data/LICENCE +661 -0
  3. data/README +9 -0
  4. data/Rakefile +46 -0
  5. data/VERSION +1 -0
  6. data/bin/ad-compare +22 -0
  7. data/bin/ad-console +11 -0
  8. data/bin/ad-inputs +24 -0
  9. data/bin/ad-validate +9 -0
  10. data/bin/art-decomp +8 -0
  11. data/lib/art-decomp/arch.rb +32 -0
  12. data/lib/art-decomp/b.rb +7 -0
  13. data/lib/art-decomp/bipainter.rb +142 -0
  14. data/lib/art-decomp/blanket.rb +82 -0
  15. data/lib/art-decomp/decomposer.rb +75 -0
  16. data/lib/art-decomp/decomposition.rb +91 -0
  17. data/lib/art-decomp/exceptions.rb +9 -0
  18. data/lib/art-decomp/executable.rb +94 -0
  19. data/lib/art-decomp/fsm.rb +128 -0
  20. data/lib/art-decomp/graph.rb +78 -0
  21. data/lib/art-decomp/kiss.rb +47 -0
  22. data/lib/art-decomp/logging.rb +52 -0
  23. data/lib/art-decomp/qu_generator/block_table.rb +42 -0
  24. data/lib/art-decomp/qu_generator/edge_labels.rb +24 -0
  25. data/lib/art-decomp/qv_generator/bipainting.rb +12 -0
  26. data/lib/art-decomp/qv_generator/graph_colouring.rb +16 -0
  27. data/lib/art-decomp/qv_generator/graph_merging.rb +19 -0
  28. data/lib/art-decomp/sep.rb +7 -0
  29. data/lib/art-decomp/uv_generator/braindead.rb +22 -0
  30. data/lib/art-decomp/uv_generator/relevance.rb +23 -0
  31. data/lib/art-decomp.rb +65 -0
  32. data/lib/core/enumerable.rb +24 -0
  33. data/lib/core/file.rb +11 -0
  34. data/lib/core/integer.rb +13 -0
  35. data/lib/core/set.rb +16 -0
  36. data/lib/core/string.rb +13 -0
  37. data/spec/art-decomp/arch_spec.rb +23 -0
  38. data/spec/art-decomp/b_spec.rb +27 -0
  39. data/spec/art-decomp/bipainter_spec.rb +22 -0
  40. data/spec/art-decomp/blanket_spec.rb +77 -0
  41. data/spec/art-decomp/decomposer_spec.rb +106 -0
  42. data/spec/art-decomp/decomposition_spec.rb +119 -0
  43. data/spec/art-decomp/executable_spec.rb +161 -0
  44. data/spec/art-decomp/fsm_spec.rb +146 -0
  45. data/spec/art-decomp/graph_spec.rb +69 -0
  46. data/spec/art-decomp/kiss_spec.rb +30 -0
  47. data/spec/art-decomp/logging_spec.rb +62 -0
  48. data/spec/art-decomp/qu_generator/block_table_spec.rb +37 -0
  49. data/spec/art-decomp/qu_generator/edge_labels_spec.rb +35 -0
  50. data/spec/art-decomp/qv_generator/bipainting_spec.rb +28 -0
  51. data/spec/art-decomp/qv_generator/graph_colouring_spec.rb +31 -0
  52. data/spec/art-decomp/qv_generator/graph_merging_spec.rb +30 -0
  53. data/spec/art-decomp/sep_spec.rb +13 -0
  54. data/spec/art-decomp/uv_generator/braindead_spec.rb +33 -0
  55. data/spec/art-decomp/uv_generator/relevance_spec.rb +61 -0
  56. data/spec/core/enumerable_spec.rb +20 -0
  57. data/spec/core/file_spec.rb +15 -0
  58. data/spec/core/integer_spec.rb +16 -0
  59. data/spec/core/set_spec.rb +26 -0
  60. data/spec/core/string_spec.rb +17 -0
  61. data/spec/fixtures/ex5 +36 -0
  62. data/spec/fixtures/fsm +24 -0
  63. data/spec/fixtures/fsm.exp +40 -0
  64. data/spec/fixtures/fsm.f +20 -0
  65. data/spec/fixtures/fsm.g +4 -0
  66. data/spec/fixtures/fsm.h +19 -0
  67. data/spec/fixtures/fsm.partially-exp +31 -0
  68. data/spec/fixtures/fsm.q +10 -0
  69. data/spec/fixtures/lion +15 -0
  70. data/spec/fixtures/lion.exp +15 -0
  71. data/spec/fixtures/lion.h +10 -0
  72. data/spec/fixtures/lion.to_kiss +11 -0
  73. data/spec/fixtures/mark1 +26 -0
  74. data/spec/fixtures/mc +14 -0
  75. data/spec/fixtures/mc.to_kiss +10 -0
  76. data/spec/fixtures/opus +26 -0
  77. data/spec/fixtures/opus.amb.h +22 -0
  78. data/spec/fixtures/opus.h +21 -0
  79. data/spec/fixtures/opus.to_kiss +22 -0
  80. data/spec/fixtures/s420 +142 -0
  81. data/spec/fixtures/s8 +24 -0
  82. data/spec/spec.opts +3 -0
  83. data/spec/spec_helper.rb +8 -0
  84. metadata +224 -0
@@ -0,0 +1,19 @@
1
+ ---1 10 10 110
2
+ --01 00 10 000
3
+ --11 00 01 101
4
+ -0-0 01 10 101
5
+ -110 00 00 110
6
+ 0-01 11 01 101
7
+ 00-1 01 01 101
8
+ 0000 10 10 111
9
+ 0011 11 11 011
10
+ 0100 01 11 100
11
+ 0100 10 10 000
12
+ 0110 01 10 111
13
+ 0110 10 11 100
14
+ 1-00 10 00 110
15
+ 10-1 01 10 001
16
+ 1011 11 11 101
17
+ 1101 01 11 111
18
+ 1101 11 11 100
19
+ 1111 01 11 100
@@ -0,0 +1,31 @@
1
+ 0-00 init0 init1 00
2
+ 0-01 init4 IOwait 01
3
+ 0-10 init1 init2 10
4
+ 0-11 init1 init2 10
5
+ 0000 IOwait IOwait 01
6
+ 0001 IOwait IOwait 01
7
+ 0001 read0 read1 11
8
+ 0010 IOwait init2 01
9
+ 0010 RMACK RMACK 11
10
+ 0010 read1 IOwait 01
11
+ 0011 IOwait init2 01
12
+ 0100 init1 init1 00
13
+ 0100 write0 IOwait 01
14
+ 0110 IOwait read0 00
15
+ 0111 IOwait RMACK 11
16
+ 0111 RMACK read0 00
17
+ 0111 init4 init4 10
18
+ 1-00 init0 init1 00
19
+ 1-01 init4 IOwait 01
20
+ 1-10 init1 init2 10
21
+ 1-10 init2 init4 10
22
+ 1-11 init1 init2 10
23
+ 1000 IOwait init1 01
24
+ 1001 IOwait init1 01
25
+ 1001 WMACK write0 01
26
+ 1010 IOwait init2 01
27
+ 1011 IOwait init2 01
28
+ 1100 IOwait write0 11
29
+ 1100 WMACK WMACK 00
30
+ 1101 IOwait WMACK 00
31
+ 1111 init4 init4 10
@@ -0,0 +1,10 @@
1
+ 00 1 init0
2
+ 00 1 init4
3
+ 01 1 IOwait
4
+ 10 0 init1
5
+ 10 1 RMACK
6
+ 10 1 init2
7
+ 11 0 read1
8
+ 11 1 WMACK
9
+ 11 1 read0
10
+ 11 1 write0
@@ -0,0 +1,15 @@
1
+ .i 2
2
+ .o 1
3
+ .p 11
4
+ .s 4
5
+ -0 st0 st0 0
6
+ 11 st0 st0 0
7
+ 01 st0 st1 -
8
+ 0- st1 st1 1
9
+ 11 st1 st0 0
10
+ 10 st1 st2 1
11
+ 1- st2 st2 1
12
+ 00 st2 st1 1
13
+ 01 st2 st3 1
14
+ 0- st3 st3 1
15
+ 11 st3 st2 1
@@ -0,0 +1,15 @@
1
+ 00 st0 st0 0
2
+ 00 st1 st1 1
3
+ 00 st2 st1 1
4
+ 00 st3 st3 1
5
+ 01 st0 st1 -
6
+ 01 st1 st1 1
7
+ 01 st2 st3 1
8
+ 01 st3 st3 1
9
+ 10 st0 st0 0
10
+ 10 st1 st2 1
11
+ 10 st2 st2 1
12
+ 11 st0 st0 0
13
+ 11 st1 st0 0
14
+ 11 st2 st2 1
15
+ 11 st3 st2 1
@@ -0,0 +1,10 @@
1
+ -00 0 0 011
2
+ -01 0 0 000
3
+ -10 1 1 111
4
+ -11 1 1 101
5
+ 001 1 0 011
6
+ 010 0 0 000
7
+ 011 0 1 101
8
+ 101 1 1 111
9
+ 110 0 0 01-
10
+ 111 0 0 000
@@ -0,0 +1,11 @@
1
+ -0 st0 st0 0
2
+ 0- st1 st1 1
3
+ 0- st3 st3 1
4
+ 00 st2 st1 1
5
+ 01 st0 st1 -
6
+ 01 st2 st3 1
7
+ 1- st2 st2 1
8
+ 10 st1 st2 1
9
+ 11 st0 st0 0
10
+ 11 st1 st0 0
11
+ 11 st3 st2 1
@@ -0,0 +1,26 @@
1
+ .i 5
2
+ .o 16
3
+ .p 22
4
+ .s 15
5
+ 0---- * state1 -11---1-00------
6
+ 1---- state1 state3 -11---1-00------
7
+ 1---- state2 state0 -11---1-00------
8
+ 1---- state3 state4 101---1-01------
9
+ 1-111 state4 state13 -11---1-00------
10
+ 1-110 state4 state10 -11---1-00------
11
+ 1-10- state4 state9 -11---1-00------
12
+ 1-011 state4 state8 -11---1-00------
13
+ 1-010 state4 state7 -11---1-00------
14
+ 1-001 state4 state6 -11---1-00------
15
+ 1-000 state4 state5 -11---1-00------
16
+ 1---- state5 state14 0011--1-00------
17
+ 1---- state6 state14 00100-0-00000011
18
+ 1---- state7 state14 001---1100------
19
+ 1---- state8 state14 010---1-00------
20
+ 1---- state9 state14 001---1010000101
21
+ 1---- state10 state11 -11---1-00100000
22
+ 10--- state11 state13 -11---1-00------
23
+ 11--- state11 state12 -11---1-00------
24
+ 1---- state12 state13 -110110-00------
25
+ 1---- state13 state14 -11---1-00------
26
+ 1---- state14 state3 -110110-00------
data/spec/fixtures/mc ADDED
@@ -0,0 +1,14 @@
1
+ .i 3
2
+ .o 5
3
+ .p 10
4
+ .s 4
5
+ 0-- HG HG 00010
6
+ -0- HG HG 00010
7
+ 11- HG HY 10010
8
+ --0 HY HY 00110
9
+ --1 HY FG 10110
10
+ 10- FG FG 01000
11
+ 0-- FG FY 11000
12
+ -1- FG FY 11000
13
+ --0 FY FY 01001
14
+ --1 FY HG 11001
@@ -0,0 +1,10 @@
1
+ --0 FY FY 01001
2
+ --0 HY HY 00110
3
+ --1 FY HG 11001
4
+ --1 HY FG 10110
5
+ -0- HG HG 00010
6
+ -1- FG FY 11000
7
+ 0-- FG FY 11000
8
+ 0-- HG HG 00010
9
+ 10- FG FG 01000
10
+ 11- HG HY 10010
@@ -0,0 +1,26 @@
1
+ .i 5
2
+ .o 6
3
+ .p 22
4
+ .s 10
5
+ --1-- * init0 110000
6
+ --1-- init0 init0 110000
7
+ --0-- init0 init1 110000
8
+ --00- init1 init1 110000
9
+ --01- init1 init2 110001
10
+ --0-- init2 init4 110100
11
+ --01- init4 init4 110100
12
+ --00- init4 IOwait 000000
13
+ 0000- IOwait IOwait 000000
14
+ 1000- IOwait init1 110000
15
+ 01000 IOwait read0 101000
16
+ 11000 IOwait write0 100010
17
+ 01001 IOwait RMACK 100000
18
+ 11001 IOwait WMACK 100000
19
+ --01- IOwait init2 110001
20
+ --0-0 RMACK RMACK 100000
21
+ --0-1 RMACK read0 101000
22
+ --0-0 WMACK WMACK 100000
23
+ --0-1 WMACK write0 100010
24
+ --0-- read0 read1 101001
25
+ --0-- read1 IOwait 000000
26
+ --0-- write0 IOwait 000000
@@ -0,0 +1,22 @@
1
+ -0--01 10 11 10000000
2
+ -0--01 11 10 01110100
3
+ -0--10 00 10 00101001
4
+ -0--10 11 01 00110000
5
+ -0-001 00 00 00100000
6
+ -0-010 01 01 01100000
7
+ -0-101 00 00 01101000
8
+ -0-110 01 10 00100010
9
+ -00-01 01 01 00110000
10
+ -00-10 10 11 10000000
11
+ -01-00 11 11 00110001
12
+ -01-01 01 11 00110001
13
+ -01-10 10 10 01110100
14
+ -01-11 11 11 00110001
15
+ -1---- * 11 01110000
16
+ -1--10 11 11 01110000
17
+ 000-00 11 11 10000000
18
+ 000-11 11 01 00110000
19
+ 100000 11 00 01101000
20
+ 100011 11 10 00100010
21
+ 100100 11 00 00100000
22
+ 100111 11 01 01100000
@@ -0,0 +1,21 @@
1
+ ----00 * 11 00110000
2
+ ----00 11 11 00110000
3
+ ----01 11 11 01110000
4
+ ----10 00 00 00110100
5
+ ----10 10 11 10101001
6
+ ----11 11 01 01000000
7
+ ---001 01 01 00100000
8
+ ---001 10 10 00100000
9
+ ---101 01 10 01101000
10
+ ---101 10 11 10100010
11
+ --0-01 00 01 01000000
12
+ --0-10 11 11 01110000
13
+ --1-01 00 00 00110100
14
+ --1-10 01 00 01110001
15
+ --1-10 11 00 01110001
16
+ 000-10 01 01 01000000
17
+ 010010 01 10 01101000
18
+ 010110 01 01 00100000
19
+ 100-10 01 11 01110000
20
+ 110010 01 11 10100010
21
+ 110110 01 10 00100000
@@ -0,0 +1,22 @@
1
+ --0-- init0 init1 110000
2
+ --0-- init2 init4 110100
3
+ --0-- read0 read1 101001
4
+ --0-- read1 IOwait 000000
5
+ --0-- write0 IOwait 000000
6
+ --0-0 RMACK RMACK 100000
7
+ --0-0 WMACK WMACK 100000
8
+ --0-1 RMACK read0 101000
9
+ --0-1 WMACK write0 100010
10
+ --00- init1 init1 110000
11
+ --00- init4 IOwait 000000
12
+ --01- IOwait init2 110001
13
+ --01- init1 init2 110001
14
+ --01- init4 init4 110100
15
+ --1-- * init0 110000
16
+ --1-- init0 init0 110000
17
+ 0000- IOwait IOwait 000000
18
+ 01000 IOwait read0 101000
19
+ 01001 IOwait RMACK 100000
20
+ 1000- IOwait init1 110000
21
+ 11000 IOwait write0 100010
22
+ 11001 IOwait WMACK 100000
@@ -0,0 +1,142 @@
1
+ .i 19
2
+ .o 2
3
+ .p 137
4
+ .s 18
5
+ .r 1111111111111111
6
+ 1----------------1- 1111111111111111 0000000000000000 11
7
+ 1----------------00 1111111111111111 0000000000000000 10
8
+ 1----------------01 1111111111111111 0000000000000000 11
9
+ 0------------------ 1111111111111111 0000000000000000 10
10
+ 10----------------1 0000000000000000 0001000000000000 01
11
+ 10----------------0 0000000000000000 0001000000000000 00
12
+ 00----------------- 0000000000000000 0000000000000000 00
13
+ 01----------------1 0000000000000000 0000000000000000 00
14
+ 11----------------1 0000000000000000 0000000000000000 01
15
+ -1----------------0 0000000000000000 0000000000000000 00
16
+ 0------------------ 0001000000000000 0000000000000000 00
17
+ 11---------------1- 0001000000000000 0000000000000000 01
18
+ 11---------------00 0001000000000000 0000000000000000 00
19
+ 11---------------01 0001000000000000 0000000000000000 01
20
+ 10---------------00 0001000000000000 0010000000000000 00
21
+ 10---------------10 0001000000000000 0010000000000000 01
22
+ 10----------------1 0001000000000000 0010000000000000 01
23
+ 00----------------- 0010000000000000 0000000000000000 00
24
+ 10--------------0-0 0010000000000000 0011000000000000 00
25
+ 10--------------1-0 0010000000000000 0011000000000000 01
26
+ 10----------------1 0010000000000000 0011000000000000 01
27
+ 01----------------- 0010000000000000 0000000000000000 00
28
+ 11--------------0-0 0010000000000000 0000000000000000 00
29
+ 11--------------1-0 0010000000000000 0000000000000000 01
30
+ 11----------------1 0010000000000000 0000000000000000 01
31
+ 0------------------ 0011000000000000 0000000000000000 00
32
+ 11---------------10 0011000000000000 0000000000000000 01
33
+ 11---------------00 0011000000000000 0000000000000000 00
34
+ 11----------------1 0011000000000000 0000000000000000 01
35
+ 10---------------1- 0011000000000000 0100000000000000 01
36
+ 10---------------01 0011000000000000 0100000000000000 01
37
+ 10---------------00 0011000000000000 0100000000000000 00
38
+ 10----------------1 0100000000000000 0101000000000000 01
39
+ 10-------------0--0 0100000000000000 0101000000000000 00
40
+ 10-------------1--0 0100000000000000 0101000000000000 01
41
+ 00----------------- 0100000000000000 0000000000000000 00
42
+ 01-------------0--1 0100000000000000 0000000000000000 00
43
+ 11-------------0--1 0100000000000000 0000000000000000 01
44
+ -1-------------0--0 0100000000000000 0000000000000000 00
45
+ 01-------------1--- 0100000000000000 0000000000000000 00
46
+ 11-------------1--- 0100000000000000 0000000000000000 01
47
+ 0------------------ 0101000000000000 0000000000000000 00
48
+ 11---------------10 0101000000000000 0000000000000000 01
49
+ 11---------------00 0101000000000000 0000000000000000 00
50
+ 11----------------1 0101000000000000 0000000000000000 01
51
+ 10---------------10 0101000000000000 0110000000000000 01
52
+ 10---------------00 0101000000000000 0110000000000000 00
53
+ 10----------------1 0101000000000000 0110000000000000 01
54
+ 0------------------ 0110000000000000 0000000000000000 00
55
+ 11--------------1-0 0110000000000000 0000000000000000 01
56
+ 11--------------0-0 0110000000000000 0000000000000000 00
57
+ 11----------------1 0110000000000000 0000000000000000 01
58
+ 10--------------1-- 0110000000000000 0111000000000000 01
59
+ 10--------------0-0 0110000000000000 0111000000000000 00
60
+ 10--------------0-1 0110000000000000 0111000000000000 01
61
+ 0------------------ 0111000000000000 0000000000000000 00
62
+ 11---------------1- 0111000000000000 0000000000000000 01
63
+ 11---------------00 0111000000000000 0000000000000000 00
64
+ 11---------------01 0111000000000000 0000000000000000 01
65
+ 10---------------1- 0111000000000000 1000000000000000 01
66
+ 10---------------01 0111000000000000 1000000000000000 01
67
+ 10---------------00 0111000000000000 1000000000000000 00
68
+ 00----------------- 1000000000000000 0000000000000000 00
69
+ 10----------------1 1000000000000000 1001000000000000 01
70
+ 10------------1---0 1000000000000000 1001000000000000 01
71
+ 10------------0---0 1000000000000000 1001000000000000 00
72
+ 01------------0---1 1000000000000000 0000000000000000 00
73
+ 11------------0---1 1000000000000000 0000000000000000 01
74
+ 11------------1---1 1000000000000000 0000000000000000 01
75
+ 01------------1---1 1000000000000000 0000000000000000 00
76
+ 11------------1---0 1000000000000000 0000000000000000 01
77
+ 11------------0---0 1000000000000000 0000000000000000 00
78
+ 01----------------0 1000000000000000 0000000000000000 00
79
+ 00----------------- 1001000000000000 0000000000000000 00
80
+ 10---------------1- 1001000000000000 1010000000000000 01
81
+ 10---------------00 1001000000000000 1010000000000000 00
82
+ 10---------------01 1001000000000000 1010000000000000 01
83
+ 01----------------- 1001000000000000 0000000000000000 00
84
+ 11---------------1- 1001000000000000 0000000000000000 01
85
+ 11---------------01 1001000000000000 0000000000000000 01
86
+ 11---------------00 1001000000000000 0000000000000000 00
87
+ 00----------------- 1010000000000000 0000000000000000 00
88
+ 10--------------1-- 1010000000000000 1011000000000000 01
89
+ 10--------------0-1 1010000000000000 1011000000000000 01
90
+ 10--------------0-0 1010000000000000 1011000000000000 00
91
+ 01----------------- 1010000000000000 0000000000000000 00
92
+ 11--------------1-0 1010000000000000 0000000000000000 01
93
+ 11--------------0-0 1010000000000000 0000000000000000 00
94
+ 11----------------1 1010000000000000 0000000000000000 01
95
+ 00----------------- 1011000000000000 0000000000000000 00
96
+ 10---------------00 1011000000000000 1100000000000000 00
97
+ 10---------------10 1011000000000000 1100000000000000 01
98
+ 10----------------1 1011000000000000 1100000000000000 01
99
+ 01----------------- 1011000000000000 0000000000000000 00
100
+ 11---------------10 1011000000000000 0000000000000000 01
101
+ 11---------------00 1011000000000000 0000000000000000 00
102
+ 11----------------1 1011000000000000 0000000000000000 01
103
+ 00----------------- 1100000000000000 0000000000000000 00
104
+ 10-------------0--1 1100000000000000 1101000000000000 01
105
+ 10-------------0--0 1100000000000000 1101000000000000 00
106
+ 10-------------1--- 1100000000000000 1101000000000000 01
107
+ 11----------------1 1100000000000000 0000000000000000 01
108
+ 01----------------1 1100000000000000 0000000000000000 00
109
+ 11-------------0--0 1100000000000000 0000000000000000 00
110
+ 11-------------1--0 1100000000000000 0000000000000000 01
111
+ 01----------------0 1100000000000000 0000000000000000 00
112
+ 0------------------ 1101000000000000 0000000000000000 00
113
+ 10---------------1- 1101000000000000 1110000000000000 01
114
+ 10---------------00 1101000000000000 1110000000000000 00
115
+ 10---------------01 1101000000000000 1110000000000000 01
116
+ 11---------------1- 1101000000000000 0000000000000000 01
117
+ 11---------------00 1101000000000000 0000000000000000 00
118
+ 11---------------01 1101000000000000 0000000000000000 01
119
+ 10--------------1-- 1110000000000000 1111000000000000 01
120
+ 10--------------0-0 1110000000000000 1111000000000000 00
121
+ 10--------------0-1 1110000000000000 1111000000000000 01
122
+ 00----------------- 1110000000000000 0000000000000000 00
123
+ 01----------------- 1110000000000000 0000000000000000 00
124
+ 11--------------1-- 1110000000000000 0000000000000000 01
125
+ 11--------------0-0 1110000000000000 0000000000000000 00
126
+ 11--------------0-1 1110000000000000 0000000000000000 01
127
+ 01----------------- 1111000000000000 0000000000000000 00
128
+ 11---------------00 1111000000000000 0000000000000000 00
129
+ 11---------------10 1111000000000000 0000000000000000 01
130
+ 11----------------1 1111000000000000 0000000000000000 01
131
+ 00----------------- 1111000000000000 0000000100000000 00
132
+ 10---------------10 1111000000000000 0000000100000000 01
133
+ 10---------------00 1111000000000000 0000000100000000 00
134
+ 10----------------1 1111000000000000 0000000100000000 01
135
+ 00----------------- 0000000100000000 0000000000000000 00
136
+ 10-----------1----- 0000000100000000 0001000000000000 01
137
+ 10-----------0----0 0000000100000000 0001000000000000 00
138
+ 10-----------0----1 0000000100000000 0001000000000000 01
139
+ 01----------------- 0000000100000000 0000000000000000 00
140
+ 11-----------1----0 0000000100000000 0000000000000000 01
141
+ 11-----------0----0 0000000100000000 0000000000000000 00
142
+ 11----------------1 0000000100000000 0000000000000000 01
data/spec/fixtures/s8 ADDED
@@ -0,0 +1,24 @@
1
+ .i 4
2
+ .o 1
3
+ .p 20
4
+ .s 5
5
+ 1000 s1 s1 1
6
+ 0100 s1 s1 1
7
+ 0010 s1 s2 1
8
+ 0001 s1 s2 1
9
+ 1000 s2 s2 1
10
+ 0100 s2 s3 1
11
+ 0010 s2 s2 1
12
+ 0001 s2 s1 1
13
+ 1000 s3 s3 1
14
+ 0100 s3 s5 1
15
+ 0010 s3 s3 1
16
+ 0001 s3 s5 1
17
+ 1000 s4 s4 1
18
+ 0100 s4 s2 1
19
+ 0010 s4 s3 1
20
+ 0001 s4 s3 1
21
+ 1000 s5 s5 1
22
+ 0100 s5 s5 1
23
+ 0010 s5 s1 1
24
+ 0001 s5 s4 1
data/spec/spec.opts ADDED
@@ -0,0 +1,3 @@
1
+ --colour
2
+ --diff unified
3
+ --require spec/spec_helper
@@ -0,0 +1,8 @@
1
+ require 'tempfile'
2
+ require 'tmpdir'
3
+
4
+ require 'lib/art-decomp'
5
+
6
+ def rex string
7
+ Regexp.new Regexp.escape(string)
8
+ end
metadata ADDED
@@ -0,0 +1,224 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: art-decomp
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Piotr Szotkowski
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-02 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: teejayvanslyke-gazer
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: trollop
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: diff-lcs
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: jeweler
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rcov
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: rspec
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ description:
76
+ email: p.szotkowski@tele.pw.edu.pl
77
+ executables:
78
+ - ad-validate
79
+ - ad-compare
80
+ - ad-console
81
+ - ad-inputs
82
+ - art-decomp
83
+ extensions: []
84
+
85
+ extra_rdoc_files:
86
+ - README
87
+ files:
88
+ - .gitignore
89
+ - LICENCE
90
+ - README
91
+ - Rakefile
92
+ - VERSION
93
+ - bin/ad-compare
94
+ - bin/ad-console
95
+ - bin/ad-inputs
96
+ - bin/ad-validate
97
+ - bin/art-decomp
98
+ - lib/art-decomp.rb
99
+ - lib/art-decomp/arch.rb
100
+ - lib/art-decomp/b.rb
101
+ - lib/art-decomp/bipainter.rb
102
+ - lib/art-decomp/blanket.rb
103
+ - lib/art-decomp/decomposer.rb
104
+ - lib/art-decomp/decomposition.rb
105
+ - lib/art-decomp/exceptions.rb
106
+ - lib/art-decomp/executable.rb
107
+ - lib/art-decomp/fsm.rb
108
+ - lib/art-decomp/graph.rb
109
+ - lib/art-decomp/kiss.rb
110
+ - lib/art-decomp/logging.rb
111
+ - lib/art-decomp/qu_generator/block_table.rb
112
+ - lib/art-decomp/qu_generator/edge_labels.rb
113
+ - lib/art-decomp/qv_generator/bipainting.rb
114
+ - lib/art-decomp/qv_generator/graph_colouring.rb
115
+ - lib/art-decomp/qv_generator/graph_merging.rb
116
+ - lib/art-decomp/sep.rb
117
+ - lib/art-decomp/uv_generator/braindead.rb
118
+ - lib/art-decomp/uv_generator/relevance.rb
119
+ - lib/core/enumerable.rb
120
+ - lib/core/file.rb
121
+ - lib/core/integer.rb
122
+ - lib/core/set.rb
123
+ - lib/core/string.rb
124
+ - spec/art-decomp/arch_spec.rb
125
+ - spec/art-decomp/b_spec.rb
126
+ - spec/art-decomp/bipainter_spec.rb
127
+ - spec/art-decomp/blanket_spec.rb
128
+ - spec/art-decomp/decomposer_spec.rb
129
+ - spec/art-decomp/decomposition_spec.rb
130
+ - spec/art-decomp/executable_spec.rb
131
+ - spec/art-decomp/fsm_spec.rb
132
+ - spec/art-decomp/graph_spec.rb
133
+ - spec/art-decomp/kiss_spec.rb
134
+ - spec/art-decomp/logging_spec.rb
135
+ - spec/art-decomp/qu_generator/block_table_spec.rb
136
+ - spec/art-decomp/qu_generator/edge_labels_spec.rb
137
+ - spec/art-decomp/qv_generator/bipainting_spec.rb
138
+ - spec/art-decomp/qv_generator/graph_colouring_spec.rb
139
+ - spec/art-decomp/qv_generator/graph_merging_spec.rb
140
+ - spec/art-decomp/sep_spec.rb
141
+ - spec/art-decomp/uv_generator/braindead_spec.rb
142
+ - spec/art-decomp/uv_generator/relevance_spec.rb
143
+ - spec/core/enumerable_spec.rb
144
+ - spec/core/file_spec.rb
145
+ - spec/core/integer_spec.rb
146
+ - spec/core/set_spec.rb
147
+ - spec/core/string_spec.rb
148
+ - spec/fixtures/ex5
149
+ - spec/fixtures/fsm
150
+ - spec/fixtures/fsm.exp
151
+ - spec/fixtures/fsm.f
152
+ - spec/fixtures/fsm.g
153
+ - spec/fixtures/fsm.h
154
+ - spec/fixtures/fsm.partially-exp
155
+ - spec/fixtures/fsm.q
156
+ - spec/fixtures/lion
157
+ - spec/fixtures/lion.exp
158
+ - spec/fixtures/lion.h
159
+ - spec/fixtures/lion.to_kiss
160
+ - spec/fixtures/mark1
161
+ - spec/fixtures/mc
162
+ - spec/fixtures/mc.to_kiss
163
+ - spec/fixtures/opus
164
+ - spec/fixtures/opus.amb.h
165
+ - spec/fixtures/opus.h
166
+ - spec/fixtures/opus.to_kiss
167
+ - spec/fixtures/s420
168
+ - spec/fixtures/s8
169
+ - spec/spec.opts
170
+ - spec/spec_helper.rb
171
+ has_rdoc: true
172
+ homepage: http://github.com/chastell/art-decomp
173
+ licenses: []
174
+
175
+ post_install_message:
176
+ rdoc_options:
177
+ - --charset=UTF-8
178
+ require_paths:
179
+ - lib
180
+ required_ruby_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: "0"
185
+ version:
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: "0"
191
+ version:
192
+ requirements: []
193
+
194
+ rubyforge_project:
195
+ rubygems_version: 1.3.5
196
+ signing_key:
197
+ specification_version: 3
198
+ summary: "art d\xC3\xA9comp: an FSM \xE2\x86\x92 FPGA decomposer"
199
+ test_files:
200
+ - spec/core/set_spec.rb
201
+ - spec/core/string_spec.rb
202
+ - spec/core/enumerable_spec.rb
203
+ - spec/core/file_spec.rb
204
+ - spec/core/integer_spec.rb
205
+ - spec/art-decomp/graph_spec.rb
206
+ - spec/art-decomp/logging_spec.rb
207
+ - spec/art-decomp/arch_spec.rb
208
+ - spec/art-decomp/fsm_spec.rb
209
+ - spec/art-decomp/sep_spec.rb
210
+ - spec/art-decomp/bipainter_spec.rb
211
+ - spec/art-decomp/blanket_spec.rb
212
+ - spec/art-decomp/kiss_spec.rb
213
+ - spec/art-decomp/qv_generator/graph_colouring_spec.rb
214
+ - spec/art-decomp/qv_generator/bipainting_spec.rb
215
+ - spec/art-decomp/qv_generator/graph_merging_spec.rb
216
+ - spec/art-decomp/executable_spec.rb
217
+ - spec/art-decomp/decomposer_spec.rb
218
+ - spec/art-decomp/qu_generator/edge_labels_spec.rb
219
+ - spec/art-decomp/qu_generator/block_table_spec.rb
220
+ - spec/art-decomp/uv_generator/relevance_spec.rb
221
+ - spec/art-decomp/uv_generator/braindead_spec.rb
222
+ - spec/art-decomp/decomposition_spec.rb
223
+ - spec/art-decomp/b_spec.rb
224
+ - spec/spec_helper.rb