art-decomp 0.0.0 → 0.1.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.
- data/VERSION +1 -1
- data/bin/{ad-compare → ad-analyse} +8 -0
- data/bin/ad-inputs +2 -0
- data/lib/art-decomp/decomposition.rb +4 -4
- data/lib/art-decomp/executable.rb +3 -1
- data/lib/art-decomp/fsm.rb +12 -5
- data/spec/art-decomp/decomposition_spec.rb +3 -3
- data/spec/art-decomp/executable_spec.rb +1 -1
- data/spec/art-decomp/fsm_spec.rb +16 -2
- data/spec/fixtures/ex4 +25 -0
- data/spec/fixtures/truth_table +4 -0
- metadata +6 -5
- data/spec/fixtures/s420 +0 -142
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.1.0
|
@@ -1,10 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# encoding: UTF-8
|
3
3
|
|
4
|
+
require 'rubygems' if RUBY_VERSION < '1.9'
|
5
|
+
require 'backports/1.9' if RUBY_VERSION < '1.9'
|
6
|
+
|
4
7
|
require_relative '../lib/art-decomp'
|
5
8
|
|
6
9
|
input_limit = ARGV.first.to_i.zero? ? 0 : ARGV.shift.to_i
|
7
10
|
|
11
|
+
$stdout.sync = true
|
12
|
+
|
8
13
|
ARGV.each do |fsm_file|
|
9
14
|
fsm = ArtDecomp::FSM.from_kiss fsm_file
|
10
15
|
seps = fsm.beta_f.seps
|
@@ -14,7 +19,10 @@ ARGV.each do |fsm_file|
|
|
14
19
|
puts fsm_file
|
15
20
|
puts "X seps: #{input_seps.map(&:size).inspect}"
|
16
21
|
|
22
|
+
input_seps.each_with_index { |a, i| puts "#{i} insignificant" if a.empty? }
|
23
|
+
|
17
24
|
(0...input_seps.size).pairs.to_a.each do |a, b|
|
25
|
+
next if input_seps[a].empty? or input_seps[b].empty?
|
18
26
|
puts "#{a} ⊂ #{b}" if input_seps[a].proper_subset? input_seps[b]
|
19
27
|
puts "#{a} = #{b}" if input_seps[a] == input_seps[b]
|
20
28
|
puts "#{a} ⊃ #{b}" if input_seps[a].proper_superset? input_seps[b]
|
data/bin/ad-inputs
CHANGED
@@ -8,10 +8,6 @@ module ArtDecomp class Decomposition
|
|
8
8
|
[@fsm, @u, @v, @qu, @qv, @g] == [other.fsm, other.u, other.v, other.qu, other.qv, other.g]
|
9
9
|
end
|
10
10
|
|
11
|
-
def decomposable?
|
12
|
-
@qu.size > 2
|
13
|
-
end
|
14
|
-
|
15
11
|
def disjoint?
|
16
12
|
(@u & @v).empty?
|
17
13
|
end
|
@@ -80,6 +76,10 @@ module ArtDecomp class Decomposition
|
|
80
76
|
@v.size + @qv.pins <= archs.map(&:pins).max and @u.size + @qu.pins + @g.pins < @fsm.input_count + @fsm.beta_q.pins
|
81
77
|
end
|
82
78
|
|
79
|
+
def symbolic?
|
80
|
+
@qu.size > 2
|
81
|
+
end
|
82
|
+
|
83
83
|
def valid?
|
84
84
|
@g.seps.subset?((@fsm.beta_x(@v) * @qv).seps) and @fsm.beta_f.seps.subset?((@fsm.beta_x(@u) * @qu * @g).seps)
|
85
85
|
end
|
@@ -12,6 +12,7 @@ module ArtDecomp class Executable
|
|
12
12
|
opt :uv, 'UV generator(s)', :default => ['Relevance']
|
13
13
|
opt :qu, 'Qu generator(s)', :default => ['EdgeLabels']
|
14
14
|
opt :qv, 'Qv generator(s)', :default => ['GraphColouring']
|
15
|
+
opt :binary, 'Compute binary decompositions', :default => false
|
15
16
|
opt :non_disjoint, 'Compute non-disjoint decompositions', :default => false
|
16
17
|
opt :deep_ndj, 'Compute deep non-dj decompositions', :default => false
|
17
18
|
opt :log, 'Logging target', :type => :string
|
@@ -38,6 +39,7 @@ module ArtDecomp class Executable
|
|
38
39
|
@fsm = FSM.from_kiss args.first
|
39
40
|
@archs = opts[:archs].map { |s| Arch[*s.split('/').map(&:to_i)] }.to_set
|
40
41
|
@iters = opts[:iters]
|
42
|
+
@binary = opts[:binary]
|
41
43
|
@non_disjoint = opts[:non_disjoint]
|
42
44
|
@deep_ndj = opts[:deep_ndj]
|
43
45
|
|
@@ -80,7 +82,7 @@ module ArtDecomp class Executable
|
|
80
82
|
if dec.final? @archs
|
81
83
|
this = cells + dec.g_cells(@archs) + dec.h_cells(@archs)
|
82
84
|
@best = this if @best.nil? or this < @best
|
83
|
-
elsif iters != 1 and dec.
|
85
|
+
elsif iters != 1 and (@binary or dec.symbolic?) and (@best.nil? or cells < @best)
|
84
86
|
in_dir = "#{dir}/#{i}"
|
85
87
|
Dir.mkdir in_dir
|
86
88
|
decompositions(FSM.from_kiss(dec.h_kiss), iters - 1, in_dir, cells + dec.g_cells(@archs)).each do |in_dec, in_dir, in_i|
|
data/lib/art-decomp/fsm.rb
CHANGED
@@ -4,8 +4,11 @@ module ArtDecomp class FSM
|
|
4
4
|
kiss = File.read kiss unless kiss.index "\n"
|
5
5
|
inputs, outputs, state, next_state = [], [], [], []
|
6
6
|
kiss.lines do |line|
|
7
|
-
|
8
|
-
ins, st, nxt, outs = line.split
|
7
|
+
case line
|
8
|
+
when /^\s*[01-]+\s+\S+\s+\S+\s+[01-]+\s*$/ then ins, st, nxt, outs = *line.split
|
9
|
+
when /^\s*[01-]+\s+[01-]+\s*$/ then st, nxt, ins, outs = DontCare, DontCare, *line.split
|
10
|
+
else next
|
11
|
+
end
|
9
12
|
inputs << ins.split(//).map(&:to_sym)
|
10
13
|
outputs << outs.split(//).map(&:to_sym)
|
11
14
|
state << (st == '*' ? DontCare : st.to_sym)
|
@@ -31,8 +34,7 @@ module ArtDecomp class FSM
|
|
31
34
|
end
|
32
35
|
|
33
36
|
def beta_f
|
34
|
-
|
35
|
-
outs.inject(:*) * Blanket.from_array(@next_state)
|
37
|
+
@outputs.map { |o| Blanket.from_array o }.inject(:*) * Blanket.from_array(@next_state)
|
36
38
|
end
|
37
39
|
|
38
40
|
def beta_q
|
@@ -98,10 +100,15 @@ module ArtDecomp class FSM
|
|
98
100
|
st = @state.map { |e| e == DontCare ? '*' : e }
|
99
101
|
nxt = @next_state.map { |e| e == DontCare ? '*' : e }
|
100
102
|
div = Array.new @state.size, ' '
|
101
|
-
|
103
|
+
mid = truth_table? ? [div] : [div, st, div, nxt, div]
|
104
|
+
cols = @inputs + mid + @outputs
|
102
105
|
KISS.new(cols.transpose.map(&:join)).formatted
|
103
106
|
end
|
104
107
|
|
108
|
+
def truth_table?
|
109
|
+
@state.all? { |s| s == DontCare } and @next_state.all? { |ns| ns == DontCare }
|
110
|
+
end
|
111
|
+
|
105
112
|
def x_encoding ins, rows
|
106
113
|
ins.map { |i| encoding @inputs[i], rows }.join
|
107
114
|
end
|
@@ -73,9 +73,9 @@ module ArtDecomp describe Decomposition do
|
|
73
73
|
@b4 = mock Blanket, :pins => 4
|
74
74
|
end
|
75
75
|
|
76
|
-
it 'should
|
77
|
-
Decomposition.new(@fsm, Set[0], Set[1], @b1, @b, @b).should_not
|
78
|
-
Decomposition.new(@fsm, Set[0], Set[1], @b2, @b, @b).should
|
76
|
+
it 'should report whether the resulting H block is an FSM' do
|
77
|
+
Decomposition.new(@fsm, Set[0], Set[1], @b1, @b, @b).should_not be_symbolic
|
78
|
+
Decomposition.new(@fsm, Set[0], Set[1], @b2, @b, @b).should be_symbolic
|
79
79
|
end
|
80
80
|
|
81
81
|
it 'should properly report whether it’s sensible, based on the target Archs and G and H blocks’ architectures' do
|
@@ -156,6 +156,6 @@ module ArtDecomp describe Executable do
|
|
156
156
|
File.read(log.path).should =~ rex('final best decomposition: 0 cells')
|
157
157
|
end
|
158
158
|
|
159
|
-
# FIXME: add specs for --non-disjoint and --deep-ndj
|
159
|
+
# FIXME: add specs for --binary, --non-disjoint and --deep-ndj
|
160
160
|
|
161
161
|
end end
|
data/spec/art-decomp/fsm_spec.rb
CHANGED
@@ -5,13 +5,14 @@ module ArtDecomp describe FSM do
|
|
5
5
|
context 'parsed from an example KISS file' do
|
6
6
|
|
7
7
|
before do
|
8
|
+
@ex4 = FSM.from_kiss 'spec/fixtures/ex4'
|
8
9
|
@fsm = FSM.from_kiss 'spec/fixtures/fsm'
|
9
10
|
@lion = FSM.from_kiss 'spec/fixtures/lion'
|
10
11
|
@mark1 = FSM.from_kiss 'spec/fixtures/mark1'
|
11
12
|
@mc = FSM.from_kiss 'spec/fixtures/mc'
|
12
13
|
@opus = FSM.from_kiss 'spec/fixtures/opus'
|
13
14
|
@s8 = FSM.from_kiss 'spec/fixtures/s8'
|
14
|
-
@
|
15
|
+
@tt = FSM.from_kiss 'spec/fixtures/truth_table'
|
15
16
|
end
|
16
17
|
|
17
18
|
it 'should parse both KISS files and strings' do
|
@@ -22,6 +23,12 @@ module ArtDecomp describe FSM do
|
|
22
23
|
lambda { FSM.from_kiss 'spec/fixtures/ex5' }.should_not raise_error
|
23
24
|
end
|
24
25
|
|
26
|
+
it 'should handle truth table files by faking a don’t-care state column' do
|
27
|
+
@tt.input_count.should == 4
|
28
|
+
@tt.output_count.should == 2
|
29
|
+
@tt.beta_q.should == Blanket[B[0,1,2,3]]
|
30
|
+
end
|
31
|
+
|
25
32
|
it 'should properly report the number of inputs' do
|
26
33
|
@opus.input_count.should == 5
|
27
34
|
@lion.input_count.should == 2
|
@@ -56,6 +63,7 @@ module ArtDecomp describe FSM do
|
|
56
63
|
@opus.to_kiss.should == File.read('spec/fixtures/opus.to_kiss')
|
57
64
|
@lion.to_kiss.should == File.read('spec/fixtures/lion.to_kiss')
|
58
65
|
@mc.to_kiss.should == File.read('spec/fixtures/mc.to_kiss')
|
66
|
+
@tt.to_kiss.should == File.read('spec/fixtures/truth_table')
|
59
67
|
end
|
60
68
|
|
61
69
|
it 'should return given inputs’ encoding for the given row(s)' do
|
@@ -132,13 +140,19 @@ module ArtDecomp describe FSM do
|
|
132
140
|
end
|
133
141
|
|
134
142
|
it 'should report its input relevance, and drop irrelevant inputs' do
|
143
|
+
@ex4.input_relevance.should == [nil, nil, nil, nil, 2, 1, 5, 4, 3]
|
135
144
|
@fsm.input_relevance.should == [2, 1, 3, 0, nil, nil, nil, nil]
|
136
145
|
@lion.input_relevance.should == [0, nil, nil, 1]
|
137
146
|
@mark1.input_relevance.should == [nil, nil, nil, nil, 0, 3, 2, 4, 1]
|
138
147
|
@mc.input_relevance.should == [nil, nil, 2, 1, 0]
|
139
148
|
@opus.input_relevance.should == [nil, nil, nil, nil, 2, 3, 4, 0, 1]
|
140
149
|
@s8.input_relevance.should == [3, 2, 1, 0, nil, nil, nil]
|
141
|
-
@
|
150
|
+
@tt.input_relevance.should == [1, 3, 2]
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'should report whether it’s a truth table or a full-blown FSM' do
|
154
|
+
@tt.should be_truth_table
|
155
|
+
@fsm.should_not be_truth_table
|
142
156
|
end
|
143
157
|
|
144
158
|
end
|
data/spec/fixtures/ex4
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
.i 6
|
2
|
+
.o 9
|
3
|
+
.p 21
|
4
|
+
.s 14
|
5
|
+
1----- 1 3 110000000
|
6
|
+
1----- 3 2 000000000
|
7
|
+
1----- 2 5 001000000
|
8
|
+
1----- 5 7 000000000
|
9
|
+
10---- 7 7 000000000
|
10
|
+
11---- 7 11 100110000
|
11
|
+
1----- 11 12 100100000
|
12
|
+
1-1--- 12 8 000001100
|
13
|
+
1-0--- 12 8 000000100
|
14
|
+
1-0--- 8 3 110000000
|
15
|
+
1-10-- 8 3 110000000
|
16
|
+
1-11-- 8 4 110000000
|
17
|
+
1---1- 4 13 000000010
|
18
|
+
1---0- 4 13 000000000
|
19
|
+
1----- 13 14 001000010
|
20
|
+
1----- 14 6 000000000
|
21
|
+
10---- 6 6 000000000
|
22
|
+
11---- 6 9 100110000
|
23
|
+
1----- 9 10 100100000
|
24
|
+
1----1 10 3 110000101
|
25
|
+
1----0 10 4 110000100
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: art-decomp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Szotkowski
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-05 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -76,8 +76,8 @@ description:
|
|
76
76
|
email: p.szotkowski@tele.pw.edu.pl
|
77
77
|
executables:
|
78
78
|
- ad-validate
|
79
|
-
- ad-compare
|
80
79
|
- ad-console
|
80
|
+
- ad-analyse
|
81
81
|
- ad-inputs
|
82
82
|
- art-decomp
|
83
83
|
extensions: []
|
@@ -90,7 +90,7 @@ files:
|
|
90
90
|
- README
|
91
91
|
- Rakefile
|
92
92
|
- VERSION
|
93
|
-
- bin/ad-
|
93
|
+
- bin/ad-analyse
|
94
94
|
- bin/ad-console
|
95
95
|
- bin/ad-inputs
|
96
96
|
- bin/ad-validate
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- spec/core/integer_spec.rb
|
146
146
|
- spec/core/set_spec.rb
|
147
147
|
- spec/core/string_spec.rb
|
148
|
+
- spec/fixtures/ex4
|
148
149
|
- spec/fixtures/ex5
|
149
150
|
- spec/fixtures/fsm
|
150
151
|
- spec/fixtures/fsm.exp
|
@@ -164,8 +165,8 @@ files:
|
|
164
165
|
- spec/fixtures/opus.amb.h
|
165
166
|
- spec/fixtures/opus.h
|
166
167
|
- spec/fixtures/opus.to_kiss
|
167
|
-
- spec/fixtures/s420
|
168
168
|
- spec/fixtures/s8
|
169
|
+
- spec/fixtures/truth_table
|
169
170
|
- spec/spec.opts
|
170
171
|
- spec/spec_helper.rb
|
171
172
|
has_rdoc: true
|
data/spec/fixtures/s420
DELETED
@@ -1,142 +0,0 @@
|
|
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
|