lucene-java-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rm...@apache.org
Subject svn commit: r921820 [2/2] - in /lucene/java/branches/flex_1458: ./ src/java/org/apache/lucene/search/ src/java/org/apache/lucene/util/automaton/ src/test/org/apache/lucene/search/ src/test/org/apache/lucene/util/automaton/
Date Thu, 11 Mar 2010 12:15:49 GMT
Added: lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/fuzzyTestData.txt
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/fuzzyTestData.txt?rev=921820&view=auto
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/fuzzyTestData.txt (added)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/fuzzyTestData.txt Thu
Mar 11 12:15:48 2010
@@ -0,0 +1,3721 @@
+3
+0,0,1,0.1
+1
+0,1.0
+1,0,1,0.1
+1
+1,1.0
+2,0,1,0.1
+1
+2,1.0
+3,0,1,0.1
+1
+3,1.0
+4,0,1,0.1
+1
+4,1.0
+5,0,1,0.1
+1
+5,1.0
+6,0,1,0.1
+1
+6,1.0
+7,0,1,0.1
+1
+7,1.0
+0,0,1,0.3
+1
+0,1.0
+1,0,1,0.3
+1
+1,1.0
+2,0,1,0.3
+1
+2,1.0
+3,0,1,0.3
+1
+3,1.0
+4,0,1,0.3
+1
+4,1.0
+5,0,1,0.3
+1
+5,1.0
+6,0,1,0.3
+1
+6,1.0
+7,0,1,0.3
+1
+7,1.0
+0,0,1,0.5
+1
+0,1.0
+1,0,1,0.5
+1
+1,1.0
+2,0,1,0.5
+1
+2,1.0
+3,0,1,0.5
+1
+3,1.0
+4,0,1,0.5
+1
+4,1.0
+5,0,1,0.5
+1
+5,1.0
+6,0,1,0.5
+1
+6,1.0
+7,0,1,0.5
+1
+7,1.0
+0,0,1,0.7
+1
+0,1.0
+1,0,1,0.7
+1
+1,1.0
+2,0,1,0.7
+1
+2,1.0
+3,0,1,0.7
+1
+3,1.0
+4,0,1,0.7
+1
+4,1.0
+5,0,1,0.7
+1
+5,1.0
+6,0,1,0.7
+1
+6,1.0
+7,0,1,0.7
+1
+7,1.0
+0,0,1,0.9
+1
+0,1.0
+1,0,1,0.9
+1
+1,1.0
+2,0,1,0.9
+1
+2,1.0
+3,0,1,0.9
+1
+3,1.0
+4,0,1,0.9
+1
+4,1.0
+5,0,1,0.9
+1
+5,1.0
+6,0,1,0.9
+1
+6,1.0
+7,0,1,0.9
+1
+7,1.0
+0,0,2,0.1
+1
+0,1.0
+1,0,2,0.1
+1
+1,1.0
+2,0,2,0.1
+2
+2,0.91381156
+4,0.4061385
+3,0,2,0.1
+2
+3,0.91381156
+2,0.4061385
+4,0,2,0.1
+2
+4,0.84623283
+5,0.53281325
+5,0,2,0.1
+2
+5,0.84623283
+4,0.53281325
+6,0,2,0.1
+2
+6,0.84623283
+4,0.53281325
+7,0,2,0.1
+2
+7,0.84623283
+5,0.53281325
+0,0,2,0.3
+1
+0,1.0
+1,0,2,0.3
+1
+1,1.0
+2,0,2,0.3
+2
+2,0.96152395
+4,0.27472112
+3,0,2,0.3
+2
+3,0.96152395
+2,0.27472112
+4,0,2,0.3
+2
+4,0.88583153
+5,0.4640069
+5,0,2,0.3
+2
+5,0.88583153
+4,0.4640069
+6,0,2,0.3
+2
+6,0.88583153
+4,0.4640069
+7,0,2,0.3
+2
+7,0.88583153
+5,0.4640069
+0,0,2,0.5
+1
+0,1.0
+1,0,2,0.5
+1
+1,1.0
+2,0,2,0.5
+1
+2,1.0
+3,0,2,0.5
+1
+3,1.0
+4,0,2,0.5
+2
+4,0.9486833
+5,0.3162277
+5,0,2,0.5
+2
+5,0.9486833
+4,0.3162277
+6,0,2,0.5
+2
+6,0.9486833
+4,0.3162277
+7,0,2,0.5
+2
+7,0.9486833
+5,0.3162277
+0,0,2,0.7
+1
+0,1.0
+1,0,2,0.7
+1
+1,1.0
+2,0,2,0.7
+1
+2,1.0
+3,0,2,0.7
+1
+3,1.0
+4,0,2,0.7
+1
+4,1.0
+5,0,2,0.7
+1
+5,1.0
+6,0,2,0.7
+1
+6,1.0
+7,0,2,0.7
+1
+7,1.0
+0,0,2,0.9
+1
+0,1.0
+1,0,2,0.9
+1
+1,1.0
+2,0,2,0.9
+1
+2,1.0
+3,0,2,0.9
+1
+3,1.0
+4,0,2,0.9
+1
+4,1.0
+5,0,2,0.9
+1
+5,1.0
+6,0,2,0.9
+1
+6,1.0
+7,0,2,0.9
+1
+7,1.0
+0,0,3,0.1
+1
+0,1.0
+1,0,3,0.1
+1
+1,1.0
+2,0,3,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,0,3,0.1
+3
+3,0.84664875
+2,0.37628835
+5,0.37628835
+4,0,3,0.1
+3
+4,0.74683726
+5,0.47023085
+6,0.47023085
+5,0,3,0.1
+3
+5,0.74683726
+4,0.47023085
+7,0.47023085
+6,0,3,0.1
+3
+6,0.74683726
+4,0.47023085
+7,0.47023085
+7,0,3,0.1
+3
+7,0.74683726
+5,0.47023085
+6,0.47023085
+0,0,3,0.3
+1
+0,1.0
+1,0,3,0.3
+1
+1,1.0
+2,0,3,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,0,3,0.3
+3
+3,0.92717266
+2,0.26490647
+5,0.26490647
+4,0,3,0.3
+3
+4,0.8035427
+5,0.42090324
+6,0.42090324
+5,0,3,0.3
+3
+5,0.80354273
+4,0.42090327
+7,0.42090327
+6,0,3,0.3
+3
+6,0.80354273
+4,0.42090327
+7,0.42090327
+7,0,3,0.3
+3
+7,0.8035427
+5,0.42090324
+6,0.42090324
+0,0,3,0.5
+1
+0,1.0
+1,0,3,0.5
+1
+1,1.0
+2,0,3,0.5
+1
+2,1.0
+3,0,3,0.5
+1
+3,1.0
+4,0,3,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,3,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,3,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,3,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,3,0.7
+1
+0,1.0
+1,0,3,0.7
+1
+1,1.0
+2,0,3,0.7
+1
+2,1.0
+3,0,3,0.7
+1
+3,1.0
+4,0,3,0.7
+1
+4,1.0
+5,0,3,0.7
+1
+5,1.0
+6,0,3,0.7
+1
+6,1.0
+7,0,3,0.7
+1
+7,1.0
+0,0,3,0.9
+1
+0,1.0
+1,0,3,0.9
+1
+1,1.0
+2,0,3,0.9
+1
+2,1.0
+3,0,3,0.9
+1
+3,1.0
+4,0,3,0.9
+1
+4,1.0
+5,0,3,0.9
+1
+5,1.0
+6,0,3,0.9
+1
+6,1.0
+7,0,3,0.9
+1
+7,1.0
+0,0,4,0.1
+1
+0,1.0
+1,0,4,0.1
+1
+1,1.0
+2,0,4,0.1
+4
+2,0.7924058
+3,0.35218036
+4,0.35218036
+5,0.35218036
+3,0,4,0.1
+4
+3,0.79240584
+2,0.3521804
+5,0.3521804
+6,0.3521804
+4,0,4,0.1
+4
+4,0.7088104
+5,0.44628802
+6,0.44628802
+2,0.31502685
+5,0,4,0.1
+4
+5,0.7088104
+4,0.44628802
+7,0.44628802
+2,0.31502685
+6,0,4,0.1
+4
+6,0.7088104
+4,0.44628802
+7,0.44628802
+2,0.31502685
+7,0,4,0.1
+4
+7,0.7088104
+5,0.44628802
+6,0.44628802
+3,0.31502685
+0,0,4,0.3
+1
+0,1.0
+1,0,4,0.3
+1
+1,1.0
+2,0,4,0.3
+4
+2,0.8962582
+3,0.25607374
+4,0.25607374
+5,0.25607374
+3,0,4,0.3
+4
+3,0.8962582
+2,0.25607374
+5,0.25607374
+6,0.25607374
+4,0,4,0.3
+4
+4,0.7831679
+5,0.41023073
+6,0.41023073
+2,0.22376224
+5,0,4,0.3
+4
+5,0.7831679
+4,0.41023073
+7,0.41023073
+2,0.22376224
+6,0,4,0.3
+4
+6,0.7831679
+4,0.41023073
+7,0.41023073
+2,0.22376224
+7,0,4,0.3
+4
+7,0.7831679
+5,0.41023073
+6,0.41023073
+3,0.22376224
+0,0,4,0.5
+1
+0,1.0
+1,0,4,0.5
+1
+1,1.0
+2,0,4,0.5
+1
+2,1.0
+3,0,4,0.5
+1
+3,1.0
+4,0,4,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,4,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,4,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,4,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,4,0.7
+1
+0,1.0
+1,0,4,0.7
+1
+1,1.0
+2,0,4,0.7
+1
+2,1.0
+3,0,4,0.7
+1
+3,1.0
+4,0,4,0.7
+1
+4,1.0
+5,0,4,0.7
+1
+5,1.0
+6,0,4,0.7
+1
+6,1.0
+7,0,4,0.7
+1
+7,1.0
+0,0,4,0.9
+1
+0,1.0
+1,0,4,0.9
+1
+1,1.0
+2,0,4,0.9
+1
+2,1.0
+3,0,4,0.9
+1
+3,1.0
+4,0,4,0.9
+1
+4,1.0
+5,0,4,0.9
+1
+5,1.0
+6,0,4,0.9
+1
+6,1.0
+7,0,4,0.9
+1
+7,1.0
+0,0,5,0.1
+1
+0,1.0
+1,0,5,0.1
+1
+1,1.0
+2,0,5,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,0,5,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,0,5,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,0,5,0.1
+5
+5,0.67605716
+4,0.42566562
+7,0.42566562
+2,0.30046988
+3,0.30046988
+6,0,5,0.1
+5
+6,0.67605716
+4,0.42566562
+7,0.42566562
+2,0.30046988
+3,0.30046988
+7,0,5,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,0,5,0.3
+1
+0,1.0
+1,0,5,0.3
+1
+1,1.0
+2,0,5,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,0,5,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,0,5,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,0,5,0.3
+5
+5,0.7642683
+4,0.40033093
+7,0.40033093
+2,0.21836235
+3,0.21836235
+6,0,5,0.3
+5
+6,0.7642683
+4,0.40033093
+7,0.40033093
+2,0.21836235
+3,0.21836235
+7,0,5,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,0,5,0.5
+1
+0,1.0
+1,0,5,0.5
+1
+1,1.0
+2,0,5,0.5
+1
+2,1.0
+3,0,5,0.5
+1
+3,1.0
+4,0,5,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,5,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,5,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,5,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,5,0.7
+1
+0,1.0
+1,0,5,0.7
+1
+1,1.0
+2,0,5,0.7
+1
+2,1.0
+3,0,5,0.7
+1
+3,1.0
+4,0,5,0.7
+1
+4,1.0
+5,0,5,0.7
+1
+5,1.0
+6,0,5,0.7
+1
+6,1.0
+7,0,5,0.7
+1
+7,1.0
+0,0,5,0.9
+1
+0,1.0
+1,0,5,0.9
+1
+1,1.0
+2,0,5,0.9
+1
+2,1.0
+3,0,5,0.9
+1
+3,1.0
+4,0,5,0.9
+1
+4,1.0
+5,0,5,0.9
+1
+5,1.0
+6,0,5,0.9
+1
+6,1.0
+7,0,5,0.9
+1
+7,1.0
+0,0,6,0.1
+1
+0,1.0
+1,0,6,0.1
+1
+1,1.0
+2,0,6,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,0,6,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,0,6,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,0,6,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,0,6,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,0,6,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,0,6,0.3
+1
+0,1.0
+1,0,6,0.3
+1
+1,1.0
+2,0,6,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,0,6,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,0,6,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,0,6,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,0,6,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,0,6,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,0,6,0.5
+1
+0,1.0
+1,0,6,0.5
+1
+1,1.0
+2,0,6,0.5
+1
+2,1.0
+3,0,6,0.5
+1
+3,1.0
+4,0,6,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,6,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,6,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,6,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,6,0.7
+1
+0,1.0
+1,0,6,0.7
+1
+1,1.0
+2,0,6,0.7
+1
+2,1.0
+3,0,6,0.7
+1
+3,1.0
+4,0,6,0.7
+1
+4,1.0
+5,0,6,0.7
+1
+5,1.0
+6,0,6,0.7
+1
+6,1.0
+7,0,6,0.7
+1
+7,1.0
+0,0,6,0.9
+1
+0,1.0
+1,0,6,0.9
+1
+1,1.0
+2,0,6,0.9
+1
+2,1.0
+3,0,6,0.9
+1
+3,1.0
+4,0,6,0.9
+1
+4,1.0
+5,0,6,0.9
+1
+5,1.0
+6,0,6,0.9
+1
+6,1.0
+7,0,6,0.9
+1
+7,1.0
+0,0,7,0.1
+1
+0,1.0
+1,0,7,0.1
+1
+1,1.0
+2,0,7,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,0,7,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,0,7,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,0,7,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,0,7,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,0,7,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,0,7,0.3
+1
+0,1.0
+1,0,7,0.3
+1
+1,1.0
+2,0,7,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,0,7,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,0,7,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,0,7,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,0,7,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,0,7,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,0,7,0.5
+1
+0,1.0
+1,0,7,0.5
+1
+1,1.0
+2,0,7,0.5
+1
+2,1.0
+3,0,7,0.5
+1
+3,1.0
+4,0,7,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,7,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,7,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,7,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,7,0.7
+1
+0,1.0
+1,0,7,0.7
+1
+1,1.0
+2,0,7,0.7
+1
+2,1.0
+3,0,7,0.7
+1
+3,1.0
+4,0,7,0.7
+1
+4,1.0
+5,0,7,0.7
+1
+5,1.0
+6,0,7,0.7
+1
+6,1.0
+7,0,7,0.7
+1
+7,1.0
+0,0,7,0.9
+1
+0,1.0
+1,0,7,0.9
+1
+1,1.0
+2,0,7,0.9
+1
+2,1.0
+3,0,7,0.9
+1
+3,1.0
+4,0,7,0.9
+1
+4,1.0
+5,0,7,0.9
+1
+5,1.0
+6,0,7,0.9
+1
+6,1.0
+7,0,7,0.9
+1
+7,1.0
+0,0,8,0.1
+1
+0,1.0
+1,0,8,0.1
+1
+1,1.0
+2,0,8,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,0,8,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,0,8,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,0,8,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,0,8,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,0,8,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,0,8,0.3
+1
+0,1.0
+1,0,8,0.3
+1
+1,1.0
+2,0,8,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,0,8,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,0,8,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,0,8,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,0,8,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,0,8,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,0,8,0.5
+1
+0,1.0
+1,0,8,0.5
+1
+1,1.0
+2,0,8,0.5
+1
+2,1.0
+3,0,8,0.5
+1
+3,1.0
+4,0,8,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,0,8,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,0,8,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,0,8,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,0,8,0.7
+1
+0,1.0
+1,0,8,0.7
+1
+1,1.0
+2,0,8,0.7
+1
+2,1.0
+3,0,8,0.7
+1
+3,1.0
+4,0,8,0.7
+1
+4,1.0
+5,0,8,0.7
+1
+5,1.0
+6,0,8,0.7
+1
+6,1.0
+7,0,8,0.7
+1
+7,1.0
+0,0,8,0.9
+1
+0,1.0
+1,0,8,0.9
+1
+1,1.0
+2,0,8,0.9
+1
+2,1.0
+3,0,8,0.9
+1
+3,1.0
+4,0,8,0.9
+1
+4,1.0
+5,0,8,0.9
+1
+5,1.0
+6,0,8,0.9
+1
+6,1.0
+7,0,8,0.9
+1
+7,1.0
+0,1,1,0.1
+1
+0,1.0
+1,1,1,0.1
+1
+1,1.0
+2,1,1,0.1
+1
+2,1.0
+3,1,1,0.1
+1
+3,1.0
+4,1,1,0.1
+1
+4,1.0
+5,1,1,0.1
+1
+5,1.0
+6,1,1,0.1
+1
+6,1.0
+7,1,1,0.1
+1
+7,1.0
+0,1,1,0.3
+1
+0,1.0
+1,1,1,0.3
+1
+1,1.0
+2,1,1,0.3
+1
+2,1.0
+3,1,1,0.3
+1
+3,1.0
+4,1,1,0.3
+1
+4,1.0
+5,1,1,0.3
+1
+5,1.0
+6,1,1,0.3
+1
+6,1.0
+7,1,1,0.3
+1
+7,1.0
+0,1,1,0.5
+1
+0,1.0
+1,1,1,0.5
+1
+1,1.0
+2,1,1,0.5
+1
+2,1.0
+3,1,1,0.5
+1
+3,1.0
+4,1,1,0.5
+1
+4,1.0
+5,1,1,0.5
+1
+5,1.0
+6,1,1,0.5
+1
+6,1.0
+7,1,1,0.5
+1
+7,1.0
+0,1,1,0.7
+1
+0,1.0
+1,1,1,0.7
+1
+1,1.0
+2,1,1,0.7
+1
+2,1.0
+3,1,1,0.7
+1
+3,1.0
+4,1,1,0.7
+1
+4,1.0
+5,1,1,0.7
+1
+5,1.0
+6,1,1,0.7
+1
+6,1.0
+7,1,1,0.7
+1
+7,1.0
+0,1,1,0.9
+1
+0,1.0
+1,1,1,0.9
+1
+1,1.0
+2,1,1,0.9
+1
+2,1.0
+3,1,1,0.9
+1
+3,1.0
+4,1,1,0.9
+1
+4,1.0
+5,1,1,0.9
+1
+5,1.0
+6,1,1,0.9
+1
+6,1.0
+7,1,1,0.9
+1
+7,1.0
+0,1,2,0.1
+1
+0,1.0
+1,1,2,0.1
+1
+1,1.0
+2,1,2,0.1
+2
+2,0.91381156
+4,0.4061385
+3,1,2,0.1
+2
+3,0.91381156
+2,0.4061385
+4,1,2,0.1
+2
+4,0.84623283
+5,0.53281325
+5,1,2,0.1
+2
+5,0.84623283
+4,0.53281325
+6,1,2,0.1
+2
+6,0.84623283
+4,0.53281325
+7,1,2,0.1
+2
+7,0.84623283
+5,0.53281325
+0,1,2,0.3
+1
+0,1.0
+1,1,2,0.3
+1
+1,1.0
+2,1,2,0.3
+2
+2,0.96152395
+4,0.27472112
+3,1,2,0.3
+2
+3,0.96152395
+2,0.27472112
+4,1,2,0.3
+2
+4,0.88583153
+5,0.4640069
+5,1,2,0.3
+2
+5,0.88583153
+4,0.4640069
+6,1,2,0.3
+2
+6,0.88583153
+4,0.4640069
+7,1,2,0.3
+2
+7,0.88583153
+5,0.4640069
+0,1,2,0.5
+1
+0,1.0
+1,1,2,0.5
+1
+1,1.0
+2,1,2,0.5
+1
+2,1.0
+3,1,2,0.5
+1
+3,1.0
+4,1,2,0.5
+2
+4,0.9486833
+5,0.3162277
+5,1,2,0.5
+2
+5,0.9486833
+4,0.3162277
+6,1,2,0.5
+2
+6,0.9486833
+4,0.3162277
+7,1,2,0.5
+2
+7,0.9486833
+5,0.3162277
+0,1,2,0.7
+1
+0,1.0
+1,1,2,0.7
+1
+1,1.0
+2,1,2,0.7
+1
+2,1.0
+3,1,2,0.7
+1
+3,1.0
+4,1,2,0.7
+1
+4,1.0
+5,1,2,0.7
+1
+5,1.0
+6,1,2,0.7
+1
+6,1.0
+7,1,2,0.7
+1
+7,1.0
+0,1,2,0.9
+1
+0,1.0
+1,1,2,0.9
+1
+1,1.0
+2,1,2,0.9
+1
+2,1.0
+3,1,2,0.9
+1
+3,1.0
+4,1,2,0.9
+1
+4,1.0
+5,1,2,0.9
+1
+5,1.0
+6,1,2,0.9
+1
+6,1.0
+7,1,2,0.9
+1
+7,1.0
+0,1,3,0.1
+1
+0,1.0
+1,1,3,0.1
+1
+1,1.0
+2,1,3,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,1,3,0.1
+3
+3,0.84664875
+2,0.37628835
+5,0.37628835
+4,1,3,0.1
+3
+4,0.74683726
+5,0.47023085
+6,0.47023085
+5,1,3,0.1
+3
+5,0.74683726
+4,0.47023085
+7,0.47023085
+6,1,3,0.1
+3
+6,0.74683726
+4,0.47023085
+7,0.47023085
+7,1,3,0.1
+3
+7,0.74683726
+5,0.47023085
+6,0.47023085
+0,1,3,0.3
+1
+0,1.0
+1,1,3,0.3
+1
+1,1.0
+2,1,3,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,1,3,0.3
+3
+3,0.92717266
+2,0.26490647
+5,0.26490647
+4,1,3,0.3
+3
+4,0.8035427
+5,0.42090324
+6,0.42090324
+5,1,3,0.3
+3
+5,0.80354273
+4,0.42090327
+7,0.42090327
+6,1,3,0.3
+3
+6,0.80354273
+4,0.42090327
+7,0.42090327
+7,1,3,0.3
+3
+7,0.8035427
+5,0.42090324
+6,0.42090324
+0,1,3,0.5
+1
+0,1.0
+1,1,3,0.5
+1
+1,1.0
+2,1,3,0.5
+1
+2,1.0
+3,1,3,0.5
+1
+3,1.0
+4,1,3,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,3,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,3,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,3,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,3,0.7
+1
+0,1.0
+1,1,3,0.7
+1
+1,1.0
+2,1,3,0.7
+1
+2,1.0
+3,1,3,0.7
+1
+3,1.0
+4,1,3,0.7
+1
+4,1.0
+5,1,3,0.7
+1
+5,1.0
+6,1,3,0.7
+1
+6,1.0
+7,1,3,0.7
+1
+7,1.0
+0,1,3,0.9
+1
+0,1.0
+1,1,3,0.9
+1
+1,1.0
+2,1,3,0.9
+1
+2,1.0
+3,1,3,0.9
+1
+3,1.0
+4,1,3,0.9
+1
+4,1.0
+5,1,3,0.9
+1
+5,1.0
+6,1,3,0.9
+1
+6,1.0
+7,1,3,0.9
+1
+7,1.0
+0,1,4,0.1
+1
+0,1.0
+1,1,4,0.1
+1
+1,1.0
+2,1,4,0.1
+4
+2,0.7924058
+3,0.35218036
+4,0.35218036
+5,0.35218036
+3,1,4,0.1
+4
+3,0.79240584
+2,0.3521804
+5,0.3521804
+6,0.3521804
+4,1,4,0.1
+4
+4,0.7088104
+5,0.44628802
+6,0.44628802
+2,0.31502685
+5,1,4,0.1
+4
+5,0.7088104
+4,0.44628802
+7,0.44628802
+2,0.31502685
+6,1,4,0.1
+4
+6,0.7088104
+4,0.44628802
+7,0.44628802
+2,0.31502685
+7,1,4,0.1
+4
+7,0.7088104
+5,0.44628802
+6,0.44628802
+3,0.31502685
+0,1,4,0.3
+1
+0,1.0
+1,1,4,0.3
+1
+1,1.0
+2,1,4,0.3
+4
+2,0.8962582
+3,0.25607374
+4,0.25607374
+5,0.25607374
+3,1,4,0.3
+4
+3,0.8962582
+2,0.25607374
+5,0.25607374
+6,0.25607374
+4,1,4,0.3
+4
+4,0.7831679
+5,0.41023073
+6,0.41023073
+2,0.22376224
+5,1,4,0.3
+4
+5,0.7831679
+4,0.41023073
+7,0.41023073
+2,0.22376224
+6,1,4,0.3
+4
+6,0.7831679
+4,0.41023073
+7,0.41023073
+2,0.22376224
+7,1,4,0.3
+4
+7,0.7831679
+5,0.41023073
+6,0.41023073
+3,0.22376224
+0,1,4,0.5
+1
+0,1.0
+1,1,4,0.5
+1
+1,1.0
+2,1,4,0.5
+1
+2,1.0
+3,1,4,0.5
+1
+3,1.0
+4,1,4,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,4,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,4,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,4,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,4,0.7
+1
+0,1.0
+1,1,4,0.7
+1
+1,1.0
+2,1,4,0.7
+1
+2,1.0
+3,1,4,0.7
+1
+3,1.0
+4,1,4,0.7
+1
+4,1.0
+5,1,4,0.7
+1
+5,1.0
+6,1,4,0.7
+1
+6,1.0
+7,1,4,0.7
+1
+7,1.0
+0,1,4,0.9
+1
+0,1.0
+1,1,4,0.9
+1
+1,1.0
+2,1,4,0.9
+1
+2,1.0
+3,1,4,0.9
+1
+3,1.0
+4,1,4,0.9
+1
+4,1.0
+5,1,4,0.9
+1
+5,1.0
+6,1,4,0.9
+1
+6,1.0
+7,1,4,0.9
+1
+7,1.0
+0,1,5,0.1
+1
+0,1.0
+1,1,5,0.1
+1
+1,1.0
+2,1,5,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,1,5,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,1,5,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,1,5,0.1
+5
+5,0.67605716
+4,0.42566562
+7,0.42566562
+2,0.30046988
+3,0.30046988
+6,1,5,0.1
+5
+6,0.67605716
+4,0.42566562
+7,0.42566562
+2,0.30046988
+3,0.30046988
+7,1,5,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,1,5,0.3
+1
+0,1.0
+1,1,5,0.3
+1
+1,1.0
+2,1,5,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,1,5,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,1,5,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,1,5,0.3
+5
+5,0.7642683
+4,0.40033093
+7,0.40033093
+2,0.21836235
+3,0.21836235
+6,1,5,0.3
+5
+6,0.7642683
+4,0.40033093
+7,0.40033093
+2,0.21836235
+3,0.21836235
+7,1,5,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,1,5,0.5
+1
+0,1.0
+1,1,5,0.5
+1
+1,1.0
+2,1,5,0.5
+1
+2,1.0
+3,1,5,0.5
+1
+3,1.0
+4,1,5,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,5,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,5,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,5,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,5,0.7
+1
+0,1.0
+1,1,5,0.7
+1
+1,1.0
+2,1,5,0.7
+1
+2,1.0
+3,1,5,0.7
+1
+3,1.0
+4,1,5,0.7
+1
+4,1.0
+5,1,5,0.7
+1
+5,1.0
+6,1,5,0.7
+1
+6,1.0
+7,1,5,0.7
+1
+7,1.0
+0,1,5,0.9
+1
+0,1.0
+1,1,5,0.9
+1
+1,1.0
+2,1,5,0.9
+1
+2,1.0
+3,1,5,0.9
+1
+3,1.0
+4,1,5,0.9
+1
+4,1.0
+5,1,5,0.9
+1
+5,1.0
+6,1,5,0.9
+1
+6,1.0
+7,1,5,0.9
+1
+7,1.0
+0,1,6,0.1
+1
+0,1.0
+1,1,6,0.1
+1
+1,1.0
+2,1,6,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,1,6,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,1,6,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,1,6,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,1,6,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,1,6,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,1,6,0.3
+1
+0,1.0
+1,1,6,0.3
+1
+1,1.0
+2,1,6,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,1,6,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,1,6,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,1,6,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,1,6,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,1,6,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,1,6,0.5
+1
+0,1.0
+1,1,6,0.5
+1
+1,1.0
+2,1,6,0.5
+1
+2,1.0
+3,1,6,0.5
+1
+3,1.0
+4,1,6,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,6,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,6,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,6,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,6,0.7
+1
+0,1.0
+1,1,6,0.7
+1
+1,1.0
+2,1,6,0.7
+1
+2,1.0
+3,1,6,0.7
+1
+3,1.0
+4,1,6,0.7
+1
+4,1.0
+5,1,6,0.7
+1
+5,1.0
+6,1,6,0.7
+1
+6,1.0
+7,1,6,0.7
+1
+7,1.0
+0,1,6,0.9
+1
+0,1.0
+1,1,6,0.9
+1
+1,1.0
+2,1,6,0.9
+1
+2,1.0
+3,1,6,0.9
+1
+3,1.0
+4,1,6,0.9
+1
+4,1.0
+5,1,6,0.9
+1
+5,1.0
+6,1,6,0.9
+1
+6,1.0
+7,1,6,0.9
+1
+7,1.0
+0,1,7,0.1
+1
+0,1.0
+1,1,7,0.1
+1
+1,1.0
+2,1,7,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,1,7,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,1,7,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,1,7,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,1,7,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,1,7,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,1,7,0.3
+1
+0,1.0
+1,1,7,0.3
+1
+1,1.0
+2,1,7,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,1,7,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,1,7,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,1,7,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,1,7,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,1,7,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,1,7,0.5
+1
+0,1.0
+1,1,7,0.5
+1
+1,1.0
+2,1,7,0.5
+1
+2,1.0
+3,1,7,0.5
+1
+3,1.0
+4,1,7,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,7,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,7,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,7,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,7,0.7
+1
+0,1.0
+1,1,7,0.7
+1
+1,1.0
+2,1,7,0.7
+1
+2,1.0
+3,1,7,0.7
+1
+3,1.0
+4,1,7,0.7
+1
+4,1.0
+5,1,7,0.7
+1
+5,1.0
+6,1,7,0.7
+1
+6,1.0
+7,1,7,0.7
+1
+7,1.0
+0,1,7,0.9
+1
+0,1.0
+1,1,7,0.9
+1
+1,1.0
+2,1,7,0.9
+1
+2,1.0
+3,1,7,0.9
+1
+3,1.0
+4,1,7,0.9
+1
+4,1.0
+5,1,7,0.9
+1
+5,1.0
+6,1,7,0.9
+1
+6,1.0
+7,1,7,0.9
+1
+7,1.0
+0,1,8,0.1
+1
+0,1.0
+1,1,8,0.1
+1
+1,1.0
+2,1,8,0.1
+5
+2,0.7474093
+3,0.33218193
+4,0.33218193
+5,0.33218193
+6,0.33218193
+3,1,8,0.1
+5
+3,0.74740934
+2,0.33218196
+5,0.33218196
+6,0.33218196
+7,0.33218196
+4,1,8,0.1
+5
+4,0.697137
+5,0.4389381
+6,0.4389381
+2,0.30983868
+7,0.18073922
+5,1,8,0.1
+6
+5,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+6,0.17264226
+6,1,8,0.1
+6
+6,0.6659059
+4,0.41927406
+7,0.41927406
+2,0.2959582
+3,0.2959582
+5,0.17264226
+7,1,8,0.1
+5
+7,0.697137
+5,0.4389381
+6,0.4389381
+3,0.30983868
+4,0.18073922
+0,1,8,0.3
+1
+0,1.0
+1,1,8,0.3
+1
+1,1.0
+2,1,8,0.3
+5
+2,0.86824316
+3,0.24806947
+4,0.24806947
+5,0.24806947
+6,0.24806947
+3,1,8,0.3
+5
+3,0.8682432
+2,0.24806948
+5,0.24806948
+6,0.24806948
+7,0.24806948
+4,1,8,0.3
+5
+4,0.7826238
+5,0.40994576
+6,0.40994576
+2,0.2236068
+7,0.037267767
+5,1,8,0.3
+6
+5,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+6,0.036369618
+6,1,8,0.3
+6
+6,0.76376265
+4,0.40006608
+7,0.40006608
+2,0.2182179
+3,0.2182179
+5,0.036369618
+7,1,8,0.3
+5
+7,0.7826238
+5,0.40994576
+6,0.40994576
+3,0.2236068
+4,0.037267767
+0,1,8,0.5
+1
+0,1.0
+1,1,8,0.5
+1
+1,1.0
+2,1,8,0.5
+1
+2,1.0
+3,1,8,0.5
+1
+3,1.0
+4,1,8,0.5
+3
+4,0.9045341
+5,0.3015113
+6,0.3015113
+5,1,8,0.5
+3
+5,0.9045341
+4,0.3015113
+7,0.3015113
+6,1,8,0.5
+3
+6,0.9045341
+4,0.3015113
+7,0.3015113
+7,1,8,0.5
+3
+7,0.9045341
+5,0.3015113
+6,0.3015113
+0,1,8,0.7
+1
+0,1.0
+1,1,8,0.7
+1
+1,1.0
+2,1,8,0.7
+1
+2,1.0
+3,1,8,0.7
+1
+3,1.0
+4,1,8,0.7
+1
+4,1.0
+5,1,8,0.7
+1
+5,1.0
+6,1,8,0.7
+1
+6,1.0
+7,1,8,0.7
+1
+7,1.0
+0,1,8,0.9
+1
+0,1.0
+1,1,8,0.9
+1
+1,1.0
+2,1,8,0.9
+1
+2,1.0
+3,1,8,0.9
+1
+3,1.0
+4,1,8,0.9
+1
+4,1.0
+5,1,8,0.9
+1
+5,1.0
+6,1,8,0.9
+1
+6,1.0
+7,1,8,0.9
+1
+7,1.0
+0,2,1,0.1
+1
+0,1.0
+1,2,1,0.1
+1
+1,1.0
+2,2,1,0.1
+1
+2,1.0
+3,2,1,0.1
+1
+3,1.0
+4,2,1,0.1
+1
+4,1.0
+5,2,1,0.1
+1
+5,1.0
+6,2,1,0.1
+1
+6,1.0
+7,2,1,0.1
+1
+7,1.0
+0,2,1,0.3
+1
+0,1.0
+1,2,1,0.3
+1
+1,1.0
+2,2,1,0.3
+1
+2,1.0
+3,2,1,0.3
+1
+3,1.0
+4,2,1,0.3
+1
+4,1.0
+5,2,1,0.3
+1
+5,1.0
+6,2,1,0.3
+1
+6,1.0
+7,2,1,0.3
+1
+7,1.0
+0,2,1,0.5
+1
+0,1.0
+1,2,1,0.5
+1
+1,1.0
+2,2,1,0.5
+1
+2,1.0
+3,2,1,0.5
+1
+3,1.0
+4,2,1,0.5
+1
+4,1.0
+5,2,1,0.5
+1
+5,1.0
+6,2,1,0.5
+1
+6,1.0
+7,2,1,0.5
+1
+7,1.0
+0,2,1,0.7
+1
+0,1.0
+1,2,1,0.7
+1
+1,1.0
+2,2,1,0.7
+1
+2,1.0
+3,2,1,0.7
+1
+3,1.0
+4,2,1,0.7
+1
+4,1.0
+5,2,1,0.7
+1
+5,1.0
+6,2,1,0.7
+1
+6,1.0
+7,2,1,0.7
+1
+7,1.0
+0,2,1,0.9
+1
+0,1.0
+1,2,1,0.9
+1
+1,1.0
+2,2,1,0.9
+1
+2,1.0
+3,2,1,0.9
+1
+3,1.0
+4,2,1,0.9
+1
+4,1.0
+5,2,1,0.9
+1
+5,1.0
+6,2,1,0.9
+1
+6,1.0
+7,2,1,0.9
+1
+7,1.0
+0,2,2,0.1
+1
+0,1.0
+1,2,2,0.1
+1
+1,1.0
+2,2,2,0.1
+2
+2,0.91381156
+4,0.4061385
+3,2,2,0.1
+2
+3,0.91381156
+6,0.4061385
+4,2,2,0.1
+2
+4,0.84623283
+5,0.53281325
+5,2,2,0.1
+2
+5,0.84623283
+4,0.53281325
+6,2,2,0.1
+2
+6,0.84623283
+7,0.53281325
+7,2,2,0.1
+2
+7,0.84623283
+6,0.53281325
+0,2,2,0.3
+1
+0,1.0
+1,2,2,0.3
+1
+1,1.0
+2,2,2,0.3
+2
+2,0.96152395
+4,0.27472112
+3,2,2,0.3
+2
+3,0.96152395
+6,0.27472112
+4,2,2,0.3
+2
+4,0.88583153
+5,0.4640069
+5,2,2,0.3
+2
+5,0.88583153
+4,0.4640069
+6,2,2,0.3
+2
+6,0.88583153
+7,0.4640069
+7,2,2,0.3
+2
+7,0.88583153
+6,0.4640069
+0,2,2,0.5
+1
+0,1.0
+1,2,2,0.5
+1
+1,1.0
+2,2,2,0.5
+1
+2,1.0
+3,2,2,0.5
+1
+3,1.0
+4,2,2,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,2,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,2,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,2,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,2,0.7
+1
+0,1.0
+1,2,2,0.7
+1
+1,1.0
+2,2,2,0.7
+1
+2,1.0
+3,2,2,0.7
+1
+3,1.0
+4,2,2,0.7
+1
+4,1.0
+5,2,2,0.7
+1
+5,1.0
+6,2,2,0.7
+1
+6,1.0
+7,2,2,0.7
+1
+7,1.0
+0,2,2,0.9
+1
+0,1.0
+1,2,2,0.9
+1
+1,1.0
+2,2,2,0.9
+1
+2,1.0
+3,2,2,0.9
+1
+3,1.0
+4,2,2,0.9
+1
+4,1.0
+5,2,2,0.9
+1
+5,1.0
+6,2,2,0.9
+1
+6,1.0
+7,2,2,0.9
+1
+7,1.0
+0,2,3,0.1
+1
+0,1.0
+1,2,3,0.1
+1
+1,1.0
+2,2,3,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,3,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,3,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,3,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,3,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,3,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,3,0.3
+1
+0,1.0
+1,2,3,0.3
+1
+1,1.0
+2,2,3,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,3,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,3,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,3,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,3,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,3,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,3,0.5
+1
+0,1.0
+1,2,3,0.5
+1
+1,1.0
+2,2,3,0.5
+1
+2,1.0
+3,2,3,0.5
+1
+3,1.0
+4,2,3,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,3,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,3,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,3,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,3,0.7
+1
+0,1.0
+1,2,3,0.7
+1
+1,1.0
+2,2,3,0.7
+1
+2,1.0
+3,2,3,0.7
+1
+3,1.0
+4,2,3,0.7
+1
+4,1.0
+5,2,3,0.7
+1
+5,1.0
+6,2,3,0.7
+1
+6,1.0
+7,2,3,0.7
+1
+7,1.0
+0,2,3,0.9
+1
+0,1.0
+1,2,3,0.9
+1
+1,1.0
+2,2,3,0.9
+1
+2,1.0
+3,2,3,0.9
+1
+3,1.0
+4,2,3,0.9
+1
+4,1.0
+5,2,3,0.9
+1
+5,1.0
+6,2,3,0.9
+1
+6,1.0
+7,2,3,0.9
+1
+7,1.0
+0,2,4,0.1
+1
+0,1.0
+1,2,4,0.1
+1
+1,1.0
+2,2,4,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,4,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,4,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,4,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,4,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,4,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,4,0.3
+1
+0,1.0
+1,2,4,0.3
+1
+1,1.0
+2,2,4,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,4,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,4,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,4,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,4,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,4,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,4,0.5
+1
+0,1.0
+1,2,4,0.5
+1
+1,1.0
+2,2,4,0.5
+1
+2,1.0
+3,2,4,0.5
+1
+3,1.0
+4,2,4,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,4,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,4,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,4,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,4,0.7
+1
+0,1.0
+1,2,4,0.7
+1
+1,1.0
+2,2,4,0.7
+1
+2,1.0
+3,2,4,0.7
+1
+3,1.0
+4,2,4,0.7
+1
+4,1.0
+5,2,4,0.7
+1
+5,1.0
+6,2,4,0.7
+1
+6,1.0
+7,2,4,0.7
+1
+7,1.0
+0,2,4,0.9
+1
+0,1.0
+1,2,4,0.9
+1
+1,1.0
+2,2,4,0.9
+1
+2,1.0
+3,2,4,0.9
+1
+3,1.0
+4,2,4,0.9
+1
+4,1.0
+5,2,4,0.9
+1
+5,1.0
+6,2,4,0.9
+1
+6,1.0
+7,2,4,0.9
+1
+7,1.0
+0,2,5,0.1
+1
+0,1.0
+1,2,5,0.1
+1
+1,1.0
+2,2,5,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,5,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,5,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,5,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,5,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,5,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,5,0.3
+1
+0,1.0
+1,2,5,0.3
+1
+1,1.0
+2,2,5,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,5,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,5,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,5,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,5,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,5,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,5,0.5
+1
+0,1.0
+1,2,5,0.5
+1
+1,1.0
+2,2,5,0.5
+1
+2,1.0
+3,2,5,0.5
+1
+3,1.0
+4,2,5,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,5,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,5,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,5,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,5,0.7
+1
+0,1.0
+1,2,5,0.7
+1
+1,1.0
+2,2,5,0.7
+1
+2,1.0
+3,2,5,0.7
+1
+3,1.0
+4,2,5,0.7
+1
+4,1.0
+5,2,5,0.7
+1
+5,1.0
+6,2,5,0.7
+1
+6,1.0
+7,2,5,0.7
+1
+7,1.0
+0,2,5,0.9
+1
+0,1.0
+1,2,5,0.9
+1
+1,1.0
+2,2,5,0.9
+1
+2,1.0
+3,2,5,0.9
+1
+3,1.0
+4,2,5,0.9
+1
+4,1.0
+5,2,5,0.9
+1
+5,1.0
+6,2,5,0.9
+1
+6,1.0
+7,2,5,0.9
+1
+7,1.0
+0,2,6,0.1
+1
+0,1.0
+1,2,6,0.1
+1
+1,1.0
+2,2,6,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,6,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,6,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,6,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,6,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,6,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,6,0.3
+1
+0,1.0
+1,2,6,0.3
+1
+1,1.0
+2,2,6,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,6,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,6,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,6,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,6,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,6,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,6,0.5
+1
+0,1.0
+1,2,6,0.5
+1
+1,1.0
+2,2,6,0.5
+1
+2,1.0
+3,2,6,0.5
+1
+3,1.0
+4,2,6,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,6,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,6,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,6,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,6,0.7
+1
+0,1.0
+1,2,6,0.7
+1
+1,1.0
+2,2,6,0.7
+1
+2,1.0
+3,2,6,0.7
+1
+3,1.0
+4,2,6,0.7
+1
+4,1.0
+5,2,6,0.7
+1
+5,1.0
+6,2,6,0.7
+1
+6,1.0
+7,2,6,0.7
+1
+7,1.0
+0,2,6,0.9
+1
+0,1.0
+1,2,6,0.9
+1
+1,1.0
+2,2,6,0.9
+1
+2,1.0
+3,2,6,0.9
+1
+3,1.0
+4,2,6,0.9
+1
+4,1.0
+5,2,6,0.9
+1
+5,1.0
+6,2,6,0.9
+1
+6,1.0
+7,2,6,0.9
+1
+7,1.0
+0,2,7,0.1
+1
+0,1.0
+1,2,7,0.1
+1
+1,1.0
+2,2,7,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,7,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,7,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,7,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,7,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,7,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,7,0.3
+1
+0,1.0
+1,2,7,0.3
+1
+1,1.0
+2,2,7,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,7,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,7,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,7,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,7,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,7,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,7,0.5
+1
+0,1.0
+1,2,7,0.5
+1
+1,1.0
+2,2,7,0.5
+1
+2,1.0
+3,2,7,0.5
+1
+3,1.0
+4,2,7,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,7,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,7,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,7,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,7,0.7
+1
+0,1.0
+1,2,7,0.7
+1
+1,1.0
+2,2,7,0.7
+1
+2,1.0
+3,2,7,0.7
+1
+3,1.0
+4,2,7,0.7
+1
+4,1.0
+5,2,7,0.7
+1
+5,1.0
+6,2,7,0.7
+1
+6,1.0
+7,2,7,0.7
+1
+7,1.0
+0,2,7,0.9
+1
+0,1.0
+1,2,7,0.9
+1
+1,1.0
+2,2,7,0.9
+1
+2,1.0
+3,2,7,0.9
+1
+3,1.0
+4,2,7,0.9
+1
+4,1.0
+5,2,7,0.9
+1
+5,1.0
+6,2,7,0.9
+1
+6,1.0
+7,2,7,0.9
+1
+7,1.0
+0,2,8,0.1
+1
+0,1.0
+1,2,8,0.1
+1
+1,1.0
+2,2,8,0.1
+3
+2,0.84664875
+4,0.37628835
+5,0.37628835
+3,2,8,0.1
+3
+3,0.84664875
+6,0.37628835
+7,0.37628835
+4,2,8,0.1
+3
+4,0.7920648
+5,0.49870744
+2,0.35202882
+5,2,8,0.1
+3
+5,0.7920648
+4,0.49870744
+2,0.35202882
+6,2,8,0.1
+3
+6,0.7920648
+7,0.49870744
+3,0.35202882
+7,2,8,0.1
+3
+7,0.7920648
+6,0.49870744
+3,0.35202882
+0,2,8,0.3
+1
+0,1.0
+1,2,8,0.3
+1
+1,1.0
+2,2,8,0.3
+3
+2,0.92717266
+4,0.26490647
+5,0.26490647
+3,2,8,0.3
+3
+3,0.92717266
+6,0.26490647
+7,0.26490647
+4,2,8,0.3
+3
+4,0.85875386
+5,0.44982338
+2,0.24535823
+5,2,8,0.3
+3
+5,0.85875386
+4,0.44982338
+2,0.24535823
+6,2,8,0.3
+3
+6,0.85875386
+7,0.44982338
+3,0.24535823
+7,2,8,0.3
+3
+7,0.85875386
+6,0.44982338
+3,0.24535823
+0,2,8,0.5
+1
+0,1.0
+1,2,8,0.5
+1
+1,1.0
+2,2,8,0.5
+1
+2,1.0
+3,2,8,0.5
+1
+3,1.0
+4,2,8,0.5
+2
+4,0.9486833
+5,0.3162277
+5,2,8,0.5
+2
+5,0.9486833
+4,0.3162277
+6,2,8,0.5
+2
+6,0.9486833
+7,0.3162277
+7,2,8,0.5
+2
+7,0.9486833
+6,0.3162277
+0,2,8,0.7
+1
+0,1.0
+1,2,8,0.7
+1
+1,1.0
+2,2,8,0.7
+1
+2,1.0
+3,2,8,0.7
+1
+3,1.0
+4,2,8,0.7
+1
+4,1.0
+5,2,8,0.7
+1
+5,1.0
+6,2,8,0.7
+1
+6,1.0
+7,2,8,0.7
+1
+7,1.0
+0,2,8,0.9
+1
+0,1.0
+1,2,8,0.9
+1
+1,1.0
+2,2,8,0.9
+1
+2,1.0
+3,2,8,0.9
+1
+3,1.0
+4,2,8,0.9
+1
+4,1.0
+5,2,8,0.9
+1
+5,1.0
+6,2,8,0.9
+1
+6,1.0
+7,2,8,0.9
+1
+7,1.0

Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/fuzzyTestData.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java?rev=921820&view=auto
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
(added)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
Thu Mar 11 12:15:48 2010
@@ -0,0 +1,261 @@
+package org.apache.lucene.util.automaton;
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.automaton.Automaton;
+import org.apache.lucene.util.automaton.BasicAutomata;
+import org.apache.lucene.util.automaton.BasicOperations;
+import org.apache.lucene.util.automaton.MinimizationOperations;
+
+public class TestLevenshteinAutomata extends LuceneTestCase {
+ 
+  public void testLev0() throws Exception {
+    assertLev("", 0);
+    assertCharVectors(0);
+  }
+  
+  public void testLev1() throws Exception {
+    assertLev("", 1);
+    assertCharVectors(1);
+  }
+  
+  public void testLev2() throws Exception {
+    assertLev("", 2);
+    assertCharVectors(2);
+  }
+  
+  /** 
+   * Tests all possible characteristic vectors for some n
+   * This exhaustively tests the parametric transitions tables.
+   */
+  private void assertCharVectors(int n) {
+    int k = 2*n + 1;
+    // use k + 2 as the exponent: the formula generates different transitions
+    // for w, w-1, w-2
+    int limit = (int) Math.pow(2, k + 2);
+    for (int i = 0; i < limit; i++) {
+      String encoded = Integer.toString(i, 2);
+      assertLev(encoded, n);
+    }
+  }
+
+  /**
+   * Builds a DFA for some string, and checks all Lev automata
+   * up to some maximum distance.
+   */
+  private void assertLev(String s, int maxDistance) {
+    LevenshteinAutomata builder = new LevenshteinAutomata(s);
+    Automaton automata[] = new Automaton[maxDistance + 1];
+    for (int n = 0; n < automata.length; n++) {
+      automata[n] = builder.toAutomaton(n);
+      assertNotNull(automata[n]);
+      assertTrue(automata[n].isDeterministic());
+      assertTrue(SpecialOperations.isFinite(automata[n]));
+      // check that the dfa for n-1 accepts a subset of the dfa for n
+      if (n > 0) {
+        assertTrue(automata[n-1].subsetOf(automata[n]));
+        assertNotSame(automata[n-1], automata[n]);
+      }
+      // special checks for specific n
+      switch(n) {
+        case 0:
+          // easy, matches the string itself
+          assertEquals(BasicAutomata.makeString(s), automata[0]);
+          break;
+        case 1:
+          // generate a lev1 naively, and check the accepted lang is the same.
+          assertEquals(naiveLev1(s), automata[1]);
+          break;
+        default:
+          assertBruteForce(s, automata[n], n);
+          break;
+      }
+    }
+  }
+  
+  /**
+   * Return an automaton that accepts all 1-character insertions, deletions, and
+   * substitutions of s.
+   */
+  private Automaton naiveLev1(String s) {
+    Automaton a = BasicAutomata.makeString(s);
+    a = BasicOperations.union(a, insertionsOf(s));
+    MinimizationOperations.minimize(a);
+    a = BasicOperations.union(a, deletionsOf(s));
+    MinimizationOperations.minimize(a);
+    a = BasicOperations.union(a, substitutionsOf(s));
+    MinimizationOperations.minimize(a);
+    
+    return a;
+  }
+  
+  /**
+   * Return an automaton that accepts all 1-character insertions of s (inserting
+   * one character)
+   */
+  private Automaton insertionsOf(String s) {
+    List<Automaton> list = new ArrayList<Automaton>();
+    
+    for (int i = 0; i <= s.length(); i++) {
+      Automaton a = BasicAutomata.makeString(s.substring(0, i));
+      a = BasicOperations.concatenate(a, BasicAutomata.makeAnyChar());
+      a = BasicOperations.concatenate(a, BasicAutomata.makeString(s
+          .substring(i)));
+      list.add(a);
+    }
+    
+    Automaton a = BasicOperations.union(list);
+    MinimizationOperations.minimize(a);
+    return a;
+  }
+  
+  /**
+   * Return an automaton that accepts all 1-character deletions of s (deleting
+   * one character).
+   */
+  private Automaton deletionsOf(String s) {
+    List<Automaton> list = new ArrayList<Automaton>();
+    
+    for (int i = 0; i < s.length(); i++) {
+      Automaton a = BasicAutomata.makeString(s.substring(0, i));
+      a = BasicOperations.concatenate(a, BasicAutomata.makeString(s
+          .substring(i + 1)));
+      a.expandSingleton();
+      list.add(a);
+    }
+    
+    Automaton a = BasicOperations.union(list);
+    MinimizationOperations.minimize(a);
+    return a;
+  }
+  
+  /**
+   * Return an automaton that accepts all 1-character substitutions of s
+   * (replacing one character)
+   */
+  private Automaton substitutionsOf(String s) {
+    List<Automaton> list = new ArrayList<Automaton>();
+    
+    for (int i = 0; i < s.length(); i++) {
+      Automaton a = BasicAutomata.makeString(s.substring(0, i));
+      a = BasicOperations.concatenate(a, BasicAutomata.makeAnyChar());
+      a = BasicOperations.concatenate(a, BasicAutomata.makeString(s
+          .substring(i + 1)));
+      list.add(a);
+    }
+    
+    Automaton a = BasicOperations.union(list);
+    MinimizationOperations.minimize(a);
+    return a;
+  }
+  
+  private void assertBruteForce(String input, Automaton dfa, int distance) {
+    RunAutomaton ra = new RunAutomaton(dfa);
+    int maxLen = input.length() + distance + 1;
+    int maxNum = (int) Math.pow(2, maxLen);
+    for (int i = 0; i < maxNum; i++) {
+      String encoded = Integer.toString(i, 2);
+      boolean accepts = ra.run(encoded);
+      if (accepts) {
+        assertTrue(getDistance(input, encoded) <= distance);
+      } else {
+        assertTrue(getDistance(input, encoded) > distance);
+      }
+    }
+  }
+  
+  //*****************************
+  // Compute Levenshtein distance: see org.apache.commons.lang.StringUtils#getLevenshteinDistance(String,
String)
+  //*****************************
+  private int getDistance (String target, String other) {
+    char[] sa;
+    int n;
+    int p[]; //'previous' cost array, horizontally
+    int d[]; // cost array, horizontally
+    int _d[]; //placeholder to assist in swapping p and d
+    
+      /*
+         The difference between this impl. and the previous is that, rather
+         than creating and retaining a matrix of size s.length()+1 by t.length()+1,
+         we maintain two single-dimensional arrays of length s.length()+1.  The first, d,
+         is the 'current working' distance array that maintains the newest distance cost
+         counts as we iterate through the characters of String s.  Each time we increment
+         the index of String t we are comparing, d is copied to p, the second int[].  Doing
so
+         allows us to retain the previous cost counts as required by the algorithm (taking
+         the minimum of the cost count to the left, up one, and diagonally up and to the
left
+         of the current cost count being calculated).  (Note that the arrays aren't really
+         copied anymore, just switched...this is clearly much better than cloning an array
+         or doing a System.arraycopy() each time  through the outer loop.)
+
+         Effectively, the difference between the two implementations is this one does not
+         cause an out of memory condition when calculating the LD over two very large strings.
+       */
+
+      sa = target.toCharArray();
+      n = sa.length;
+      p = new int[n+1]; 
+      d = new int[n+1]; 
+    
+      final int m = other.length();
+      if (n == 0 || m == 0) {
+        if (n == m) {
+          return 0;
+        }
+        else {
+          return Math.max(n, m);
+        }
+      } 
+
+
+      // indexes into strings s and t
+      int i; // iterates through s
+      int j; // iterates through t
+
+      char t_j; // jth character of t
+
+      int cost; // cost
+
+      for (i = 0; i<=n; i++) {
+          p[i] = i;
+      }
+
+      for (j = 1; j<=m; j++) {
+          t_j = other.charAt(j-1);
+          d[0] = j;
+
+          for (i=1; i<=n; i++) {
+              cost = sa[i-1]==t_j ? 0 : 1;
+              // minimum of cell to the left+1, to the top+1, diagonally left and up +cost
+              d[i] = Math.min(Math.min(d[i-1]+1, p[i]+1),  p[i-1]+cost);
+          }
+
+          // copy current distance counts to 'previous row' distance counts
+          _d = p;
+          p = d;
+          d = _d;
+      }
+
+      // our last action in the above loop was to switch d and p, so p now
+      // actually has the most recent cost counts
+      return Math.abs(p[n]);
+  }
+}

Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message