Replace Progs/RNAalifold with x64 binary and add all other programs
[jabaws.git] / binaries / src / ViennaRNA / lib / ribo.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include "utils.h"
4 #include "ribo.h"
5
6 float dm_12_5[7][7]={{0,0,0,0,0,0,0},
7 {0, 3.092536, 3.375764, 1.374085, 0.681999, 2.357501, 2.759147},
8 {0, 3.375764, 3.223949, 1.077220, 0.713622, 2.742085, 2.325847},
9 {0, 1.374085, 1.077220, 0.801987, -0.251514, 0.289428, 0.641530},
10 {0, 0.681999, 0.713622, -0.251514, 1.203844, -0.228733, 0.292522},
11 {0, 2.357501, 2.742085, 0.289428, -0.228733, 1.511221, 1.958625},
12 {0, 2.759147, 2.325847, 0.641530, 0.292522, 1.958625, 1.948208}};
13 float dm_12_6[7][7]={{0,0,0,0,0,0,0},
14 {0, 3.092373, 3.375631, 1.374059, 0.681938, 2.357565, 2.759217},
15 {0, 3.375631, 3.223782, 1.077212, 0.713641, 2.742133, 2.325829},
16 {0, 1.374059, 1.077212, 0.801954, -0.251326, 0.289489, 0.641712},
17 {0, 0.681938, 0.713641, -0.251326, 1.203723, -0.228872, 0.292526},
18 {0, 2.357565, 2.742133, 0.289489, -0.228872, 1.511158, 1.958685},
19 {0, 2.759217, 2.325829, 0.641712, 0.292526, 1.958685, 1.948130}};
20 float dm_12_7[7][7]={{0,0,0,0,0,0,0},
21 {0, 3.053179, 3.352207, 1.390738, 0.684033, 2.353429, 2.765638},
22 {0, 3.352207, 3.188833, 1.115659, 0.689646, 2.742801, 2.338308},
23 {0, 1.390738, 1.115659, 0.803823, -0.192463, 0.312652, 0.698703},
24 {0, 0.684033, 0.689646, -0.192463, 1.107424, -0.189709, 0.302683},
25 {0, 2.353429, 2.742801, 0.312652, -0.189709, 1.453439, 1.907102},
26 {0, 2.765638, 2.338308, 0.698703, 0.302683, 1.907102, 1.850447}};
27 float dm_12_8[7][7]={{0,0,0,0,0,0,0},
28 {0, 3.049303, 3.270569, 1.417231, 0.666003, 2.313534, 2.891832},
29 {0, 3.270569, 3.186336, 1.047878, 0.717329, 2.806323, 2.360206},
30 {0, 1.417231, 1.047878, 0.718061, -0.168063, 0.238106, 0.821674},
31 {0, 0.666003, 0.717329, -0.168063, 0.995556, 0.010346, 0.171852},
32 {0, 2.313534, 2.806323, 0.238106, 0.010346, 1.361999, 1.906834},
33 {0, 2.891832, 2.360206, 0.821674, 0.171852, 1.906834, 1.745436}};
34 float dm_12_9[7][7]={{0,0,0,0,0,0,0},
35 {0, 3.165100, 3.153340, 1.293645, 0.683711, 2.215911, 3.082474},
36 {0, 3.153340, 3.304615, 1.071703, 0.672898, 2.978487, 2.330174},
37 {0, 1.293645, 1.071703, 0.684991, -0.294258, 0.196122, 0.756948},
38 {0, 0.683711, 0.672898, -0.294258, 1.089387, 0.034000, 0.046088},
39 {0, 2.215911, 2.978487, 0.196122, 0.034000, 1.457778, 1.997389},
40 {0, 3.082474, 2.330174, 0.756948, 0.046088, 1.997389, 1.860867}};
41 float dm_12_10[7][7]={{0,0,0,0,0,0,0},
42 {0, 3.316050, 3.080141, 1.198316, 0.719889, 2.155618, 3.134309},
43 {0, 3.080141, 3.404347, 1.108233, 0.637222, 2.938360, 2.294410},
44 {0, 1.198316, 1.108233, 0.657620, -0.563942, 0.269879, 0.776661},
45 {0, 0.719889, 0.637222, -0.563942, 1.170892, 0.077878, -0.014940},
46 {0, 2.155618, 2.938360, 0.269879, 0.077878, 1.631701, 2.093486},
47 {0, 3.134309, 2.294410, 0.776661, -0.014940, 2.093486, 2.008351}};
48 float dm_12_11[7][7]={{0,0,0,0,0,0,0},
49 {0, 4.453617, 3.036904, 0.865118, 0.725919, 2.140436, 3.324865},
50 {0, 3.036904, 4.352423, 0.749665, 0.059865, 2.923511, 2.308393},
51 {0, 0.865118, 0.749665, 0.722300, -1.323178, 0.374187, 0.426083},
52 {0, 0.725919, 0.059865, -1.323178, 1.727563, -0.428759, 0.330746},
53 {0, 2.140436, 2.923511, 0.374187, -0.428759, 2.428389, 2.233568},
54 {0, 3.324865, 2.308393, 0.426083, 0.330746, 2.233568, 2.821057}};
55 float dm_13_5[7][7]={{0,0,0,0,0,0,0},
56 {0, 2.533782, 3.282896, 1.521364, 0.752652, 2.264693, 2.589635},
57 {0, 3.282896, 2.711135, 0.952877, 1.215201, 2.545641, 2.334410},
58 {0, 1.521364, 0.952877, 0.827991, 0.183827, 0.378211, 0.794884},
59 {0, 0.752652, 1.215201, 0.183827, 0.819462, 0.368008, 0.475756},
60 {0, 2.264693, 2.545641, 0.378211, 0.368008, 1.007668, 1.732095},
61 {0, 2.589635, 2.334410, 0.794884, 0.475756, 1.732095, 1.315666}};
62 float dm_13_6[7][7]={{0,0,0,0,0,0,0},
63 {0, 2.533730, 3.282872, 1.521367, 0.752640, 2.264708, 2.589641},
64 {0, 3.282872, 2.711079, 0.952872, 1.215222, 2.545643, 2.334410},
65 {0, 1.521367, 0.952872, 0.827971, 0.183877, 0.378217, 0.794922},
66 {0, 0.752640, 1.215222, 0.183877, 0.819423, 0.368018, 0.475753},
67 {0, 2.264708, 2.545643, 0.378217, 0.368018, 1.007640, 1.732099},
68 {0, 2.589641, 2.334410, 0.794922, 0.475753, 1.732099, 1.315634}};
69 float dm_13_7[7][7]={{0,0,0,0,0,0,0},
70 {0, 2.517035, 3.288237, 1.534295, 0.752649, 2.264114, 2.587804},
71 {0, 3.288237, 2.694998, 0.956805, 1.227789, 2.542543, 2.336350},
72 {0, 1.534295, 0.956805, 0.820438, 0.200329, 0.379706, 0.803818},
73 {0, 0.752649, 1.227789, 0.200329, 0.797982, 0.376972, 0.476299},
74 {0, 2.264114, 2.542543, 0.379706, 0.376972, 0.988104, 1.718544},
75 {0, 2.587804, 2.336350, 0.803818, 0.476299, 1.718544, 1.288938}};
76 float dm_13_8[7][7]={{0,0,0,0,0,0,0},
77 {0, 2.455141, 3.267199, 1.550791, 0.740489, 2.281213, 2.624344},
78 {0, 3.267199, 2.639092, 0.938981, 1.263224, 2.561521, 2.363191},
79 {0, 1.550791, 0.938981, 0.771171, 0.200008, 0.376450, 0.811315},
80 {0, 0.740489, 1.263224, 0.200008, 0.754473, 0.422913, 0.493286},
81 {0, 2.281213, 2.561521, 0.376450, 0.422913, 0.922402, 1.721243},
82 {0, 2.624344, 2.363191, 0.811315, 0.493286, 1.721243, 1.225387}};
83 float dm_13_9[7][7]={{0,0,0,0,0,0,0},
84 {0, 2.379212, 3.195011, 1.477942, 0.732266, 2.283994, 2.699509},
85 {0, 3.195011, 2.577100, 0.912791, 1.272057, 2.625508, 2.371223},
86 {0, 1.477942, 0.912791, 0.737835, 0.193712, 0.381625, 0.838647},
87 {0, 0.732266, 1.272057, 0.193712, 0.719631, 0.491776, 0.516184},
88 {0, 2.283994, 2.625508, 0.381625, 0.491776, 0.889747, 1.759331},
89 {0, 2.699509, 2.371223, 0.838647, 0.516184, 1.759331, 1.193323}};
90 float dm_13_10[7][7]={{0,0,0,0,0,0,0},
91 {0, 2.280425, 3.074698, 1.281893, 0.750335, 2.294618, 2.818548},
92 {0, 3.074698, 2.501446, 0.902613, 1.237324, 2.733365, 2.420051},
93 {0, 1.281893, 0.902613, 0.663356, 0.025119, 0.436734, 0.946242},
94 {0, 0.750335, 1.237324, 0.025119, 0.634862, 0.635376, 0.587841},
95 {0, 2.294618, 2.733365, 0.436734, 0.635376, 0.851475, 1.822634},
96 {0, 2.818548, 2.420051, 0.946242, 0.587841, 1.822634, 1.133656}};
97 float dm_13_11[7][7]={{0,0,0,0,0,0,0},
98 {0, 2.049420, 3.065598, 1.147184, 0.984070, 2.286178, 2.745107},
99 {0, 3.065598, 2.349472, 0.907685, 1.527069, 2.637071, 2.291610},
100 {0, 1.147184, 0.907685, 0.583508, 0.290374, 0.432797, 0.907368},
101 {0, 0.984070, 1.527069, 0.290374, 0.528508, 0.783625, 0.671962},
102 {0, 2.286178, 2.637071, 0.432797, 0.783625, 0.749801, 1.701156},
103 {0, 2.745107, 2.291610, 0.907368, 0.671962, 1.701156, 0.981579}};
104 float dm_13_12[7][7]={{0,0,0,0,0,0,0},
105 {0, 1.904683, 3.147814, 1.383470, 0.788061, 2.230640, 2.516545},
106 {0, 3.147814, 2.158800, 1.031644, 1.913906, 2.492254, 1.996584},
107 {0, 1.383470, 1.031644, 0.332441, 0.746301, 0.435514, 0.879258},
108 {0, 0.788061, 1.913906, 0.746301, 0.496698, 0.960208, 0.630473},
109 {0, 2.230640, 2.492254, 0.435514, 0.960208, 0.830695, 1.541673},
110 {0, 2.516545, 1.996584, 0.879258, 0.630473, 1.541673, 0.887994}};
111 float dm_14_5[7][7]={{0,0,0,0,0,0,0},
112 {0, 2.294989, 3.205559, 1.584266, 0.734475, 2.289599, 2.535028},
113 {0, 3.205559, 2.485328, 0.891295, 1.466901, 2.470993, 2.328167},
114 {0, 1.584266, 0.891295, 0.759635, 0.320177, 0.322250, 0.907780},
115 {0, 0.734475, 1.466901, 0.320177, 0.770910, 0.521607, 0.411958},
116 {0, 2.289599, 2.470993, 0.322250, 0.521607, 0.900558, 1.829543},
117 {0, 2.535028, 2.328167, 0.907780, 0.411958, 1.829543, 1.149384}};
118 float dm_14_6[7][7]={{0,0,0,0,0,0,0},
119 {0, 2.294961, 3.205540, 1.584268, 0.734469, 2.289603, 2.535026},
120 {0, 3.205540, 2.485292, 0.891288, 1.466911, 2.470989, 2.328168},
121 {0, 1.584268, 0.891288, 0.759627, 0.320205, 0.322258, 0.907802},
122 {0, 0.734469, 1.466911, 0.320205, 0.770895, 0.521619, 0.411961},
123 {0, 2.289603, 2.470989, 0.322258, 0.521619, 0.900543, 1.829549},
124 {0, 2.535026, 2.328168, 0.907802, 0.411961, 1.829549, 1.149367}};
125 float dm_14_7[7][7]={{0,0,0,0,0,0,0},
126 {0, 2.284183, 3.205463, 1.589806, 0.733327, 2.290173, 2.534179},
127 {0, 3.205463, 2.474571, 0.891349, 1.473391, 2.469534, 2.329742},
128 {0, 1.589806, 0.891349, 0.754092, 0.329639, 0.323746, 0.913721},
129 {0, 0.733327, 1.473391, 0.329639, 0.760515, 0.527766, 0.413001},
130 {0, 2.290173, 2.469534, 0.323746, 0.527766, 0.890631, 1.825071},
131 {0, 2.534179, 2.329742, 0.913721, 0.413001, 1.825071, 1.136190}};
132 float dm_14_8[7][7]={{0,0,0,0,0,0,0},
133 {0, 2.235726, 3.181914, 1.595503, 0.722770, 2.300997, 2.546218},
134 {0, 3.181914, 2.427845, 0.875999, 1.494647, 2.473461, 2.342035},
135 {0, 1.595503, 0.875999, 0.724803, 0.342682, 0.323718, 0.932708},
136 {0, 0.722770, 1.494647, 0.342682, 0.734102, 0.566070, 0.421129},
137 {0, 2.300997, 2.473461, 0.323718, 0.566070, 0.855249, 1.842018},
138 {0, 2.546218, 2.342035, 0.932708, 0.421129, 1.842018, 1.098536}};
139 float dm_14_9[7][7]={{0,0,0,0,0,0,0},
140 {0, 2.169213, 3.125506, 1.561668, 0.710360, 2.315725, 2.570925},
141 {0, 3.125506, 2.366074, 0.850145, 1.506427, 2.491705, 2.351458},
142 {0, 1.561668, 0.850145, 0.699815, 0.342923, 0.328538, 0.974691},
143 {0, 0.710360, 1.506427, 0.342923, 0.708392, 0.630838, 0.430721},
144 {0, 2.315725, 2.491705, 0.328538, 0.630838, 0.830805, 1.888777},
145 {0, 2.570925, 2.351458, 0.974691, 0.430721, 1.888777, 1.064891}};
146 float dm_14_10[7][7]={{0,0,0,0,0,0,0},
147 {0, 2.121401, 3.097557, 1.560258, 0.689908, 2.317536, 2.630291},
148 {0, 3.097557, 2.307448, 0.784748, 1.536794, 2.544322, 2.395549},
149 {0, 1.560258, 0.784748, 0.636637, 0.281228, 0.337831, 0.965036},
150 {0, 0.689908, 1.536794, 0.281228, 0.656827, 0.697208, 0.440900},
151 {0, 2.317536, 2.544322, 0.337831, 0.697208, 0.832763, 1.933003},
152 {0, 2.630291, 2.395549, 0.965036, 0.440900, 1.933003, 1.020585}};
153 float dm_14_11[7][7]={{0,0,0,0,0,0,0},
154 {0, 2.073657, 3.129452, 1.652733, 0.683925, 2.335236, 2.616220},
155 {0, 3.129452, 2.249754, 0.745361, 1.637265, 2.557071, 2.392472},
156 {0, 1.652733, 0.745361, 0.597976, 0.222713, 0.343902, 0.889990},
157 {0, 0.683925, 1.637265, 0.222713, 0.624604, 0.786781, 0.435623},
158 {0, 2.335236, 2.557071, 0.343902, 0.786781, 0.831075, 1.905111},
159 {0, 2.616220, 2.392472, 0.889990, 0.435623, 1.905111, 0.955225}};
160 float dm_14_12[7][7]={{0,0,0,0,0,0,0},
161 {0, 2.029277, 3.087264, 1.718185, 0.587838, 2.396044, 2.545040},
162 {0, 3.087264, 2.177344, 0.725318, 1.676438, 2.547083, 2.447849},
163 {0, 1.718185, 0.725318, 0.542734, 0.219786, 0.369477, 0.869417},
164 {0, 0.587838, 1.676438, 0.219786, 0.608994, 0.859758, 0.368574},
165 {0, 2.396044, 2.547083, 0.369477, 0.859758, 0.842019, 2.027160},
166 {0, 2.545040, 2.447849, 0.869417, 0.368574, 2.027160, 0.909170}};
167 float dm_14_13[7][7]={{0,0,0,0,0,0,0},
168 {0, 2.000248, 3.122593, 1.864659, 0.494490, 2.479114, 2.554107},
169 {0, 3.122593, 2.129482, 0.626369, 1.637370, 2.548600, 2.565048},
170 {0, 1.864659, 0.626369, 0.454571, 0.172183, 0.351022, 0.794287},
171 {0, 0.494490, 1.637370, 0.172183, 0.671707, 0.748383, 0.198126},
172 {0, 2.479114, 2.548600, 0.351022, 0.748383, 0.846495, 2.353506},
173 {0, 2.554107, 2.565048, 0.794287, 0.198126, 2.353506, 0.877777}};
174 float dm_15_5[7][7]={{0,0,0,0,0,0,0},
175 {0, 2.185017, 3.256348, 1.588804, 0.666905, 2.355718, 2.520031},
176 {0, 3.256348, 2.374070, 0.850906, 1.551282, 2.511878, 2.371123},
177 {0, 1.588804, 0.850906, 0.689517, 0.366678, 0.267602, 0.985305},
178 {0, 0.666905, 1.551282, 0.366678, 0.702683, 0.582839, 0.372196},
179 {0, 2.355718, 2.511878, 0.267602, 0.582839, 0.778425, 1.871858},
180 {0, 2.520031, 2.371123, 0.985305, 0.372196, 1.871858, 1.031343}};
181 float dm_15_6[7][7]={{0,0,0,0,0,0,0},
182 {0, 2.184997, 3.256344, 1.588807, 0.666901, 2.355725, 2.520032},
183 {0, 3.256344, 2.374049, 0.850901, 1.551289, 2.511879, 2.371126},
184 {0, 1.588807, 0.850901, 0.689501, 0.366694, 0.267601, 0.985320},
185 {0, 0.666901, 1.551289, 0.366694, 0.702666, 0.582848, 0.372191},
186 {0, 2.355725, 2.511879, 0.267601, 0.582848, 0.778413, 1.871866},
187 {0, 2.520032, 2.371126, 0.985320, 0.372191, 1.871866, 1.031328}};
188 float dm_15_7[7][7]={{0,0,0,0,0,0,0},
189 {0, 2.178225, 3.255949, 1.591734, 0.666172, 2.356327, 2.519434},
190 {0, 3.255949, 2.367187, 0.850656, 1.554802, 2.511035, 2.372193},
191 {0, 1.591734, 0.850656, 0.685901, 0.372252, 0.268459, 0.988985},
192 {0, 0.666172, 1.554802, 0.372252, 0.696898, 0.586767, 0.372815},
193 {0, 2.356327, 2.511035, 0.268459, 0.586767, 0.772770, 1.869928},
194 {0, 2.519434, 2.372193, 0.988985, 0.372815, 1.869928, 1.024003}};
195 float dm_15_8[7][7]={{0,0,0,0,0,0,0},
196 {0, 2.141127, 3.237374, 1.592766, 0.658485, 2.364123, 2.524356},
197 {0, 3.237374, 2.330108, 0.840158, 1.565238, 2.512924, 2.380899},
198 {0, 1.592766, 0.840158, 0.665322, 0.384438, 0.266965, 1.010245},
199 {0, 0.658485, 1.565238, 0.384438, 0.677947, 0.617501, 0.377062},
200 {0, 2.364123, 2.512924, 0.266965, 0.617501, 0.748457, 1.886645},
201 {0, 2.524356, 2.380899, 1.010245, 0.377062, 1.886645, 0.998685}};
202 float dm_15_9[7][7]={{0,0,0,0,0,0,0},
203 {0, 2.082602, 3.194686, 1.571476, 0.645533, 2.377215, 2.534602},
204 {0, 3.194686, 2.272916, 0.822962, 1.573341, 2.520912, 2.393028},
205 {0, 1.571476, 0.822962, 0.640049, 0.397585, 0.269078, 1.050093},
206 {0, 0.645533, 1.573341, 0.397585, 0.651218, 0.668684, 0.385365},
207 {0, 2.377215, 2.520912, 0.269078, 0.668684, 0.720559, 1.929423},
208 {0, 2.534602, 2.393028, 1.050093, 0.385365, 1.929423, 0.964692}};
209 float dm_15_10[7][7]={{0,0,0,0,0,0,0},
210 {0, 2.011980, 3.208890, 1.586936, 0.614653, 2.410291, 2.569991},
211 {0, 3.208890, 2.192435, 0.783958, 1.618693, 2.560039, 2.439652},
212 {0, 1.586936, 0.783958, 0.566237, 0.382907, 0.271841, 1.006087},
213 {0, 0.614653, 1.618693, 0.382907, 0.581074, 0.728724, 0.387583},
214 {0, 2.410291, 2.560039, 0.271841, 0.728724, 0.689985, 1.958203},
215 {0, 2.569991, 2.439652, 1.006087, 0.387583, 1.958203, 0.901393}};
216 float dm_15_11[7][7]={{0,0,0,0,0,0,0},
217 {0, 1.960846, 3.364729, 1.711101, 0.580163, 2.436976, 2.568375},
218 {0, 3.364729, 2.127484, 0.757940, 1.724525, 2.572193, 2.449286},
219 {0, 1.711101, 0.757940, 0.506015, 0.306759, 0.248888, 0.900846},
220 {0, 0.580163, 1.724525, 0.306759, 0.515784, 0.796313, 0.387969},
221 {0, 2.436976, 2.572193, 0.248888, 0.796313, 0.651734, 1.900198},
222 {0, 2.568375, 2.449286, 0.900846, 0.387969, 1.900198, 0.825616}};
223 float dm_15_12[7][7]={{0,0,0,0,0,0,0},
224 {0, 1.905112, 3.368458, 1.738759, 0.521209, 2.469970, 2.532597},
225 {0, 3.368458, 2.057336, 0.733674, 1.764054, 2.567498, 2.475677},
226 {0, 1.738759, 0.733674, 0.452960, 0.356533, 0.263124, 0.915940},
227 {0, 0.521209, 1.764054, 0.356533, 0.468384, 0.825416, 0.393747},
228 {0, 2.469970, 2.567498, 0.263124, 0.825416, 0.620497, 1.933061},
229 {0, 2.532597, 2.475677, 0.915940, 0.393747, 1.933061, 0.776274}};
230 float dm_15_13[7][7]={{0,0,0,0,0,0,0},
231 {0, 1.764334, 3.521734, 1.844636, 0.465089, 2.475371, 2.501349},
232 {0, 3.521734, 1.899254, 0.652013, 1.866354, 2.519286, 2.498764},
233 {0, 1.844636, 0.652013, 0.373857, 0.494613, 0.240469, 1.003296},
234 {0, 0.465089, 1.866354, 0.494613, 0.346332, 0.823497, 0.447243},
235 {0, 2.475371, 2.519286, 0.240469, 0.823497, 0.468987, 1.894554},
236 {0, 2.501349, 2.498764, 1.003296, 0.447243, 1.894554, 0.650703}};
237 float dm_15_14[7][7]={{0,0,0,0,0,0,0},
238 {0, 1.753217, 3.560554, 1.890084, 0.497526, 2.482621, 2.508029},
239 {0, 3.560554, 1.886087, 0.571603, 1.903238, 2.518939, 2.505216},
240 {0, 1.890084, 0.571603, 0.375259, 0.535512, 0.227112, 1.009415},
241 {0, 0.497526, 1.903238, 0.535512, 0.355054, 0.732221, 0.497356},
242 {0, 2.482621, 2.518939, 0.227112, 0.732221, 0.453713, 1.824189},
243 {0, 2.508029, 2.505216, 1.009415, 0.497356, 1.824189, 0.649442}};
244 float dm_16_5[7][7]={{0,0,0,0,0,0,0},
245 {0, 2.096356, 3.297512, 1.643277, 0.627608, 2.425850, 2.531892},
246 {0, 3.297512, 2.277720, 0.776768, 1.578330, 2.507998, 2.381738},
247 {0, 1.643277, 0.776768, 0.652789, 0.376193, 0.205475, 1.050591},
248 {0, 0.627608, 1.578330, 0.376193, 0.635057, 0.695045, 0.328657},
249 {0, 2.425850, 2.507998, 0.205475, 0.695045, 0.647026, 1.971812},
250 {0, 2.531892, 2.381738, 1.050591, 0.328657, 1.971812, 0.893562}};
251 float dm_16_6[7][7]={{0,0,0,0,0,0,0},
252 {0, 2.096346, 3.297510, 1.643276, 0.627604, 2.425854, 2.531894},
253 {0, 3.297510, 2.277709, 0.776764, 1.578331, 2.508000, 2.381737},
254 {0, 1.643276, 0.776764, 0.652783, 0.376197, 0.205477, 1.050597},
255 {0, 0.627604, 1.578331, 0.376197, 0.635048, 0.695048, 0.328658},
256 {0, 2.425854, 2.508000, 0.205477, 0.695048, 0.647022, 1.971820},
257 {0, 2.531894, 2.381737, 1.050597, 0.328658, 1.971820, 0.893558}};
258 float dm_16_7[7][7]={{0,0,0,0,0,0,0},
259 {0, 2.092914, 3.296980, 1.644541, 0.627228, 2.426164, 2.531487},
260 {0, 3.296980, 2.274181, 0.776531, 1.579823, 2.507496, 2.382211},
261 {0, 1.644541, 0.776531, 0.650930, 0.378902, 0.205995, 1.052513},
262 {0, 0.627228, 1.579823, 0.378902, 0.632483, 0.697137, 0.329046},
263 {0, 2.426164, 2.507496, 0.205995, 0.697137, 0.644461, 1.971311},
264 {0, 2.531487, 2.382211, 1.052513, 0.329046, 1.971311, 0.890302}};
265 float dm_16_8[7][7]={{0,0,0,0,0,0,0},
266 {0, 2.073428, 3.286494, 1.644950, 0.623462, 2.430093, 2.532505},
267 {0, 3.286494, 2.254339, 0.771248, 1.583832, 2.507212, 2.385719},
268 {0, 1.644950, 0.771248, 0.640496, 0.385785, 0.205764, 1.064654},
269 {0, 0.623462, 1.583832, 0.385785, 0.622568, 0.714265, 0.331069},
270 {0, 2.430093, 2.507212, 0.205764, 0.714265, 0.632331, 1.982670},
271 {0, 2.532505, 2.385719, 1.064654, 0.331069, 1.982670, 0.877393}};
272 float dm_16_9[7][7]={{0,0,0,0,0,0,0},
273 {0, 2.040939, 3.265472, 1.637410, 0.615748, 2.438042, 2.535927},
274 {0, 3.265472, 2.221433, 0.760900, 1.588059, 2.509252, 2.391099},
275 {0, 1.637410, 0.760900, 0.625103, 0.394320, 0.206172, 1.085801},
276 {0, 0.615748, 1.588059, 0.394320, 0.606102, 0.744667, 0.334067},
277 {0, 2.438042, 2.509252, 0.206172, 0.744667, 0.614764, 2.010608},
278 {0, 2.535927, 2.391099, 1.085801, 0.334067, 2.010608, 0.856570}};
279 float dm_16_10[7][7]={{0,0,0,0,0,0,0},
280 {0, 1.929517, 3.299150, 1.679136, 0.598406, 2.478683, 2.546578},
281 {0, 3.299150, 2.091719, 0.711831, 1.702824, 2.519268, 2.443818},
282 {0, 1.679136, 0.711831, 0.530571, 0.408434, 0.197624, 1.036293},
283 {0, 0.598406, 1.702824, 0.408434, 0.495823, 0.861514, 0.331873},
284 {0, 2.478683, 2.519268, 0.197624, 0.861514, 0.535526, 2.017192},
285 {0, 2.546578, 2.443818, 1.036293, 0.331873, 2.017192, 0.751594}};
286 float dm_16_11[7][7]={{0,0,0,0,0,0,0},
287 {0, 1.790624, 3.419792, 1.804745, 0.585040, 2.511724, 2.507394},
288 {0, 3.419792, 1.936325, 0.655038, 1.866549, 2.481327, 2.473116},
289 {0, 1.804745, 0.655038, 0.440211, 0.419147, 0.190157, 0.999819},
290 {0, 0.585040, 1.866549, 0.419147, 0.384589, 0.972519, 0.349591},
291 {0, 2.511724, 2.481327, 0.190157, 0.972519, 0.439998, 1.950823},
292 {0, 2.507394, 2.473116, 0.999819, 0.349591, 1.950823, 0.634690}};
293 float dm_16_12[7][7]={{0,0,0,0,0,0,0},
294 {0, 1.738485, 3.413306, 1.823292, 0.565589, 2.524720, 2.483688},
295 {0, 3.413306, 1.875156, 0.624931, 1.902547, 2.464176, 2.477746},
296 {0, 1.823292, 0.624931, 0.407593, 0.460985, 0.201735, 1.024667},
297 {0, 0.565589, 1.902547, 0.460985, 0.347262, 1.021166, 0.354417},
298 {0, 2.524720, 2.464176, 0.201735, 1.021166, 0.409784, 1.969276},
299 {0, 2.483688, 2.477746, 1.024667, 0.354417, 1.969276, 0.597237}};
300 float dm_16_13[7][7]={{0,0,0,0,0,0,0},
301 {0, 1.664768, 3.405759, 1.848635, 0.546367, 2.518192, 2.460663},
302 {0, 3.405759, 1.785451, 0.567988, 1.961108, 2.436129, 2.469090},
303 {0, 1.848635, 0.567988, 0.373320, 0.524553, 0.220489, 1.071079},
304 {0, 0.546367, 1.961108, 0.524553, 0.294419, 1.099707, 0.370092},
305 {0, 2.518192, 2.436129, 0.220489, 1.099707, 0.364109, 1.982751},
306 {0, 2.460663, 2.469090, 1.071079, 0.370092, 1.982751, 0.552731}};
307 float dm_16_14[7][7]={{0,0,0,0,0,0,0},
308 {0, 1.586401, 3.322065, 1.884482, 0.570145, 2.512906, 2.427617},
309 {0, 3.322065, 1.692728, 0.531570, 1.996685, 2.415287, 2.448701},
310 {0, 1.884482, 0.531570, 0.352236, 0.601762, 0.215346, 1.113649},
311 {0, 0.570145, 1.996685, 0.601762, 0.269440, 1.208804, 0.368633},
312 {0, 2.512906, 2.415287, 0.215346, 1.208804, 0.308130, 2.023351},
313 {0, 2.427617, 2.448701, 1.113649, 0.368633, 2.023351, 0.509060}};
314 float dm_16_15[7][7]={{0,0,0,0,0,0,0},
315 {0, 1.663168, 3.308261, 1.850005, 0.549647, 2.516260, 2.489382},
316 {0, 3.308261, 1.762303, 0.472887, 1.999308, 2.452056, 2.487940},
317 {0, 1.850005, 0.472887, 0.321624, 0.611101, 0.250077, 1.031153},
318 {0, 0.549647, 1.999308, 0.611101, 0.328556, 1.140290, 0.273025},
319 {0, 2.516260, 2.452056, 0.250077, 1.140290, 0.460515, 2.003803},
320 {0, 2.489382, 2.487940, 1.031153, 0.273025, 2.003803, 0.593446}};
321 float dm_17_5[7][7]={{0,0,0,0,0,0,0},
322 {0, 2.007833, 3.291241, 1.663891, 0.607307, 2.464689, 2.554022},
323 {0, 3.291241, 2.181349, 0.736718, 1.592793, 2.504274, 2.379900},
324 {0, 1.663891, 0.736718, 0.616428, 0.445344, 0.161487, 1.114375},
325 {0, 0.607307, 1.592793, 0.445344, 0.571508, 0.773714, 0.288043},
326 {0, 2.464689, 2.504274, 0.161487, 0.773714, 0.544800, 2.054002},
327 {0, 2.554022, 2.379900, 1.114375, 0.288043, 2.054002, 0.814483}};
328 float dm_17_6[7][7]={{0,0,0,0,0,0,0},
329 {0, 2.007829, 3.291242, 1.663892, 0.607308, 2.464688, 2.554020},
330 {0, 3.291242, 2.181345, 0.736719, 1.592796, 2.504272, 2.379900},
331 {0, 1.663892, 0.736719, 0.616427, 0.445344, 0.161487, 1.114376},
332 {0, 0.607308, 1.592796, 0.445344, 0.571507, 0.773715, 0.288042},
333 {0, 2.464688, 2.504272, 0.161487, 0.773715, 0.544799, 2.054004},
334 {0, 2.554020, 2.379900, 1.114376, 0.288042, 2.054004, 0.814482}};
335 float dm_17_7[7][7]={{0,0,0,0,0,0,0},
336 {0, 2.006511, 3.290918, 1.664311, 0.607172, 2.464800, 2.553839},
337 {0, 3.290918, 2.179982, 0.736617, 1.593288, 2.504065, 2.380066},
338 {0, 1.664311, 0.736617, 0.615720, 0.446361, 0.161718, 1.115108},
339 {0, 0.607172, 1.593288, 0.446361, 0.570613, 0.774548, 0.288223},
340 {0, 2.464800, 2.504065, 0.161718, 0.774548, 0.543905, 2.053924},
341 {0, 2.553839, 2.380066, 1.115108, 0.288223, 2.053924, 0.813353}};
342 float dm_17_8[7][7]={{0,0,0,0,0,0,0},
343 {0, 1.997746, 3.285639, 1.664262, 0.605619, 2.466015, 2.554194},
344 {0, 3.285639, 2.170945, 0.734627, 1.594479, 2.504060, 2.380880},
345 {0, 1.664262, 0.734627, 0.611204, 0.449825, 0.161638, 1.120324},
346 {0, 0.605619, 1.594479, 0.449825, 0.566330, 0.782686, 0.288928},
347 {0, 2.466015, 2.504060, 0.161638, 0.782686, 0.538801, 2.060339},
348 {0, 2.554194, 2.380880, 1.120324, 0.288928, 2.060339, 0.807944}};
349 float dm_17_9[7][7]={{0,0,0,0,0,0,0},
350 {0, 1.982793, 3.276596, 1.661720, 0.602603, 2.468779, 2.554925},
351 {0, 3.276596, 2.155408, 0.730430, 1.596575, 2.504169, 2.382555},
352 {0, 1.661720, 0.730430, 0.603805, 0.454813, 0.162205, 1.129925},
353 {0, 0.602603, 1.596575, 0.454813, 0.558528, 0.796813, 0.290137},
354 {0, 2.468779, 2.504169, 0.162205, 0.796813, 0.530589, 2.073034},
355 {0, 2.554925, 2.382555, 1.129925, 0.290137, 2.073034, 0.798318}};
356 float dm_17_10[7][7]={{0,0,0,0,0,0,0},
357 {0, 1.832394, 3.307697, 1.711062, 0.587652, 2.500571, 2.542166},
358 {0, 3.307697, 1.983636, 0.677419, 1.738092, 2.497012, 2.437609},
359 {0, 1.711062, 0.677419, 0.494725, 0.489828, 0.154804, 1.109600},
360 {0, 0.587652, 1.738092, 0.489828, 0.434240, 0.948956, 0.303653},
361 {0, 2.500571, 2.497012, 0.154804, 0.948956, 0.429058, 2.071173},
362 {0, 2.542166, 2.437609, 1.109600, 0.303653, 2.071173, 0.671361}};
363 float dm_17_11[7][7]={{0,0,0,0,0,0,0},
364 {0, 1.633896, 3.402351, 1.834789, 0.578697, 2.521230, 2.483018},
365 {0, 3.402351, 1.765915, 0.619865, 1.929028, 2.436812, 2.470046},
366 {0, 1.834789, 0.619865, 0.383602, 0.561116, 0.161953, 1.095287},
367 {0, 0.578697, 1.929028, 0.561116, 0.306100, 1.098171, 0.336383},
368 {0, 2.521230, 2.436812, 0.161953, 1.098171, 0.313977, 2.003038},
369 {0, 2.483018, 2.470046, 1.095287, 0.336383, 2.003038, 0.532942}};
370 float dm_17_12[7][7]={{0,0,0,0,0,0,0},
371 {0, 1.595425, 3.398979, 1.849409, 0.570570, 2.521120, 2.468389},
372 {0, 3.398979, 1.722025, 0.598918, 1.955315, 2.423195, 2.464611},
373 {0, 1.849409, 0.598918, 0.364362, 0.591967, 0.170305, 1.116927},
374 {0, 0.570570, 1.955315, 0.591967, 0.283012, 1.131490, 0.342010},
375 {0, 2.521120, 2.423195, 0.170305, 1.131490, 0.296061, 2.010796},
376 {0, 2.468389, 2.464611, 1.116927, 0.342010, 2.010796, 0.511111}};
377 float dm_17_13[7][7]={{0,0,0,0,0,0,0},
378 {0, 1.549012, 3.376494, 1.861681, 0.554571, 2.504364, 2.452632},
379 {0, 3.376494, 1.665273, 0.557068, 1.995296, 2.410242, 2.446184},
380 {0, 1.861681, 0.557068, 0.344309, 0.638901, 0.190280, 1.155475},
381 {0, 0.554571, 1.995296, 0.638901, 0.253950, 1.182863, 0.350164},
382 {0, 2.504364, 2.410242, 0.190280, 1.182863, 0.281259, 2.030459},
383 {0, 2.452632, 2.446184, 1.155475, 0.350164, 2.030459, 0.492848}};
384 float dm_17_14[7][7]={{0,0,0,0,0,0,0},
385 {0, 1.495463, 3.333516, 1.880225, 0.561395, 2.499855, 2.437629},
386 {0, 3.333516, 1.603946, 0.541227, 2.013724, 2.402244, 2.432190},
387 {0, 1.880225, 0.541227, 0.328083, 0.699849, 0.185966, 1.189426},
388 {0, 0.561395, 2.013724, 0.699849, 0.236830, 1.224252, 0.355651},
389 {0, 2.499855, 2.402244, 0.185966, 1.224252, 0.250988, 2.050938},
390 {0, 2.437629, 2.432190, 1.189426, 0.355651, 2.050938, 0.468514}};
391 float dm_17_15[7][7]={{0,0,0,0,0,0,0},
392 {0, 1.445032, 3.277640, 1.899860, 0.579524, 2.495022, 2.453726},
393 {0, 3.277640, 1.540316, 0.514869, 2.009604, 2.432139, 2.400556},
394 {0, 1.899860, 0.514869, 0.290900, 0.783431, 0.190682, 1.228429},
395 {0, 0.579524, 2.009604, 0.783431, 0.228588, 1.227334, 0.350982},
396 {0, 2.495022, 2.432139, 0.190682, 1.227334, 0.254986, 2.050370},
397 {0, 2.453726, 2.400556, 1.228429, 0.350982, 2.050370, 0.451843}};
398 float dm_17_16[7][7]={{0,0,0,0,0,0,0},
399 {0, 1.488960, 3.203613, 1.823525, 0.490317, 2.511323, 2.529750},
400 {0, 3.203613, 1.582014, 0.402531, 1.848617, 2.505082, 2.396065},
401 {0, 1.823525, 0.402531, 0.270031, 0.719134, 0.275540, 1.315131},
402 {0, 0.490317, 1.848617, 0.719134, 0.249862, 1.211044, 0.369940},
403 {0, 2.511323, 2.505082, 0.275540, 1.211044, 0.401915, 2.139891},
404 {0, 2.529750, 2.396065, 1.315131, 0.369940, 2.139891, 0.524210}};
405 float dm_18_5[7][7]={{0,0,0,0,0,0,0},
406 {0, 1.959599, 3.270973, 1.671129, 0.574402, 2.470822, 2.567678},
407 {0, 3.270973, 2.124333, 0.699437, 1.586377, 2.503971, 2.367755},
408 {0, 1.671129, 0.699437, 0.602529, 0.514746, 0.131217, 1.191973},
409 {0, 0.574402, 1.586377, 0.514746, 0.543897, 0.783468, 0.266230},
410 {0, 2.470822, 2.503971, 0.131217, 0.783468, 0.523535, 2.125332},
411 {0, 2.567678, 2.367755, 1.191973, 0.266230, 2.125332, 0.795089}};
412 float dm_18_6[7][7]={{0,0,0,0,0,0,0},
413 {0, 1.959599, 3.270973, 1.671129, 0.574402, 2.470822, 2.567678},
414 {0, 3.270973, 2.124333, 0.699437, 1.586377, 2.503971, 2.367755},
415 {0, 1.671129, 0.699437, 0.602529, 0.514746, 0.131217, 1.191973},
416 {0, 0.574402, 1.586377, 0.514746, 0.543897, 0.783468, 0.266230},
417 {0, 2.470822, 2.503971, 0.131217, 0.783468, 0.523535, 2.125332},
418 {0, 2.567678, 2.367755, 1.191973, 0.266230, 2.125332, 0.795089}};
419 float dm_18_7[7][7]={{0,0,0,0,0,0,0},
420 {0, 1.959107, 3.270822, 1.671269, 0.574356, 2.470852, 2.567602},
421 {0, 3.270822, 2.123822, 0.699405, 1.586546, 2.503884, 2.367804},
422 {0, 1.671269, 0.699405, 0.602271, 0.515123, 0.131315, 1.192250},
423 {0, 0.574356, 1.586546, 0.515123, 0.543584, 0.783791, 0.266309},
424 {0, 2.470852, 2.503884, 0.131315, 0.783791, 0.523221, 2.125324},
425 {0, 2.567602, 2.367804, 1.192250, 0.266309, 2.125324, 0.794693}};
426 float dm_18_8[7][7]={{0,0,0,0,0,0,0},
427 {0, 1.954893, 3.267998, 1.671033, 0.573675, 2.471278, 2.567651},
428 {0, 3.267998, 2.119451, 0.698449, 1.587072, 2.503825, 2.367971},
429 {0, 1.671033, 0.698449, 0.600163, 0.516924, 0.131274, 1.194926},
430 {0, 0.573675, 1.587072, 0.516924, 0.541618, 0.787988, 0.266654},
431 {0, 2.471278, 2.503825, 0.131274, 0.787988, 0.520857, 2.128706},
432 {0, 2.567651, 2.367971, 1.194926, 0.266654, 2.128706, 0.792170}};
433 float dm_18_9[7][7]={{0,0,0,0,0,0,0},
434 {0, 1.945124, 3.264181, 1.671424, 0.571213, 2.472533, 2.567351},
435 {0, 3.264181, 2.109123, 0.695302, 1.589162, 2.502780, 2.369180},
436 {0, 1.671424, 0.695302, 0.595101, 0.519845, 0.132914, 1.201167},
437 {0, 0.571213, 1.589162, 0.519845, 0.536309, 0.796405, 0.268040},
438 {0, 2.472533, 2.502780, 0.132914, 0.796405, 0.515207, 2.135443},
439 {0, 2.567351, 2.369180, 1.201167, 0.268040, 2.135443, 0.785257}};
440 float dm_18_10[7][7]={{0,0,0,0,0,0,0},
441 {0, 1.778806, 3.290372, 1.729008, 0.558489, 2.496256, 2.542594},
442 {0, 3.290372, 1.919078, 0.640136, 1.742877, 2.490111, 2.425930},
443 {0, 1.729008, 0.640136, 0.481526, 0.559858, 0.122004, 1.188502},
444 {0, 0.558489, 1.742877, 0.559858, 0.408793, 0.965121, 0.290692},
445 {0, 2.496256, 2.490111, 0.122004, 0.965121, 0.406294, 2.135398},
446 {0, 2.542594, 2.425930, 1.188502, 0.290692, 2.135398, 0.650811}};
447 float dm_18_11[7][7]={{0,0,0,0,0,0,0},
448 {0, 1.541260, 3.359887, 1.863305, 0.552149, 2.512117, 2.465080},
449 {0, 3.359887, 1.659552, 0.577262, 1.954784, 2.419679, 2.467978},
450 {0, 1.863305, 0.577262, 0.355424, 0.658994, 0.133093, 1.173777},
451 {0, 0.552149, 1.954784, 0.658994, 0.268144, 1.152204, 0.340224},
452 {0, 2.512117, 2.419679, 0.133093, 1.152204, 0.278844, 2.069528},
453 {0, 2.465080, 2.467978, 1.173777, 0.340224, 2.069528, 0.496656}};
454 float dm_18_12[7][7]={{0,0,0,0,0,0,0},
455 {0, 1.515109, 3.355111, 1.873865, 0.547484, 2.509063, 2.454676},
456 {0, 3.355111, 1.629923, 0.562408, 1.973041, 2.410124, 2.462343},
457 {0, 1.873865, 0.562408, 0.343602, 0.682667, 0.137341, 1.188539},
458 {0, 0.547484, 1.973041, 0.682667, 0.253609, 1.175520, 0.346154},
459 {0, 2.509063, 2.410124, 0.137341, 1.175520, 0.268542, 2.074538},
460 {0, 2.454676, 2.462343, 1.188539, 0.346154, 2.074538, 0.483464}};
461 float dm_18_13[7][7]={{0,0,0,0,0,0,0},
462 {0, 1.473845, 3.334992, 1.883878, 0.535323, 2.497538, 2.439103},
463 {0, 3.334992, 1.582030, 0.528874, 2.002078, 2.397872, 2.448436},
464 {0, 1.883878, 0.528874, 0.327587, 0.725281, 0.148692, 1.223566},
465 {0, 0.535323, 2.002078, 0.725281, 0.230794, 1.216739, 0.355996},
466 {0, 2.497538, 2.397872, 0.148692, 1.216739, 0.256653, 2.092929},
467 {0, 2.439103, 2.448436, 1.223566, 0.355996, 2.092929, 0.466494}};
468 float dm_18_14[7][7]={{0,0,0,0,0,0,0},
469 {0, 1.438699, 3.305116, 1.892865, 0.534599, 2.498865, 2.427961},
470 {0, 3.305116, 1.541486, 0.516396, 2.013794, 2.391791, 2.443225},
471 {0, 1.892865, 0.516396, 0.314606, 0.768388, 0.147398, 1.244406},
472 {0, 0.534599, 2.013794, 0.768388, 0.219136, 1.239877, 0.363050},
473 {0, 2.498865, 2.391791, 0.147398, 1.239877, 0.245018, 2.106483},
474 {0, 2.427961, 2.443225, 1.244406, 0.363050, 2.106483, 0.452624}};
475 float dm_18_15[7][7]={{0,0,0,0,0,0,0},
476 {0, 1.402188, 3.243491, 1.873197, 0.523749, 2.513206, 2.440632},
477 {0, 3.243491, 1.493880, 0.479570, 2.003177, 2.410569, 2.437229},
478 {0, 1.873197, 0.479570, 0.286984, 0.854376, 0.156044, 1.259959},
479 {0, 0.523749, 2.003177, 0.854376, 0.211875, 1.261759, 0.358950},
480 {0, 2.513206, 2.410569, 0.156044, 1.261759, 0.268410, 2.128211},
481 {0, 2.440632, 2.437229, 1.259959, 0.358950, 2.128211, 0.448424}};
482 float dm_18_16[7][7]={{0,0,0,0,0,0,0},
483 {0, 1.399936, 3.187488, 1.813113, 0.458372, 2.536421, 2.523106},
484 {0, 3.187488, 1.481063, 0.386274, 1.879206, 2.472031, 2.470590},
485 {0, 1.813113, 0.386274, 0.260196, 0.908918, 0.241168, 1.252977},
486 {0, 0.458372, 1.879206, 0.908918, 0.212976, 1.264362, 0.319339},
487 {0, 2.536421, 2.472031, 0.241168, 1.264362, 0.364359, 2.184745},
488 {0, 2.523106, 2.470590, 1.252977, 0.319339, 2.184745, 0.485249}};
489 float dm_18_17[7][7]={{0,0,0,0,0,0,0},
490 {0, 1.267458, 3.104292, 1.954389, 0.508102, 2.474593, 2.482510},
491 {0, 3.104292, 1.332773, 0.384678, 1.918735, 2.426904, 2.409497},
492 {0, 1.954389, 0.384678, 0.231292, 1.095239, 0.222912, 1.303908},
493 {0, 0.508102, 1.918735, 1.095239, 0.194026, 1.349575, 0.325298},
494 {0, 2.474593, 2.426904, 0.222912, 1.349575, 0.302607, 2.167885},
495 {0, 2.482510, 2.409497, 1.303908, 0.325298, 2.167885, 0.414809}};
496 float dm_19_5[7][7]={{0,0,0,0,0,0,0},
497 {0, 1.925029, 3.259785, 1.678082, 0.532879, 2.480385, 2.567162},
498 {0, 3.259785, 2.081752, 0.661029, 1.587558, 2.507624, 2.352855},
499 {0, 1.678082, 0.661029, 0.587688, 0.564095, 0.115803, 1.245217},
500 {0, 0.532879, 1.587558, 0.564095, 0.523708, 0.804297, 0.259865},
501 {0, 2.480385, 2.507624, 0.115803, 0.804297, 0.509191, 2.180337},
502 {0, 2.567162, 2.352855, 1.245217, 0.259865, 2.180337, 0.778683}};
503 float dm_19_6[7][7]={{0,0,0,0,0,0,0},
504 {0, 1.925029, 3.259785, 1.678082, 0.532879, 2.480385, 2.567162},
505 {0, 3.259785, 2.081752, 0.661029, 1.587558, 2.507624, 2.352855},
506 {0, 1.678082, 0.661029, 0.587688, 0.564095, 0.115803, 1.245217},
507 {0, 0.532879, 1.587558, 0.564095, 0.523708, 0.804297, 0.259865},
508 {0, 2.480385, 2.507624, 0.115803, 0.804297, 0.509191, 2.180337},
509 {0, 2.567162, 2.352855, 1.245217, 0.259865, 2.180337, 0.778683}};
510 float dm_19_7[7][7]={{0,0,0,0,0,0,0},
511 {0, 1.924817, 3.259699, 1.678128, 0.532863, 2.480398, 2.567133},
512 {0, 3.259699, 2.081532, 0.661015, 1.587619, 2.507590, 2.352872},
513 {0, 1.678128, 0.661015, 0.587581, 0.564243, 0.115852, 1.245339},
514 {0, 0.532863, 1.587619, 0.564243, 0.523585, 0.804442, 0.259908},
515 {0, 2.480398, 2.507590, 0.115852, 0.804442, 0.509065, 2.180349},
516 {0, 2.567133, 2.352872, 1.245339, 0.259908, 2.180349, 0.778524}};
517 float dm_19_8[7][7]={{0,0,0,0,0,0,0},
518 {0, 1.921707, 3.257254, 1.677579, 0.532391, 2.480555, 2.567179},
519 {0, 3.257254, 2.078298, 0.660245, 1.587790, 2.507604, 2.352655},
520 {0, 1.677579, 0.660245, 0.586053, 0.565436, 0.115818, 1.247825},
521 {0, 0.532391, 1.587790, 0.565436, 0.522217, 0.807816, 0.260351},
522 {0, 2.480555, 2.507604, 0.115818, 0.807816, 0.507451, 2.183255},
523 {0, 2.567179, 2.352655, 1.247825, 0.260351, 2.183255, 0.776767}};
524 float dm_19_9[7][7]={{0,0,0,0,0,0,0},
525 {0, 1.914948, 3.253973, 1.677337, 0.531084, 2.481010, 2.566882},
526 {0, 3.253973, 2.071131, 0.658362, 1.589059, 2.507048, 2.352997},
527 {0, 1.677337, 0.658362, 0.582634, 0.567513, 0.117022, 1.252162},
528 {0, 0.531084, 1.589059, 0.567513, 0.518726, 0.814061, 0.261409},
529 {0, 2.481010, 2.507048, 0.117022, 0.814061, 0.503793, 2.188359},
530 {0, 2.566882, 2.352997, 1.252162, 0.261409, 2.188359, 0.772214}};
531 float dm_19_10[7][7]={{0,0,0,0,0,0,0},
532 {0, 1.742218, 3.274206, 1.736365, 0.520548, 2.506409, 2.538636},
533 {0, 3.274206, 1.874376, 0.601999, 1.751372, 2.493109, 2.410477},
534 {0, 1.736365, 0.601999, 0.469932, 0.605555, 0.101804, 1.237622},
535 {0, 0.520548, 1.751372, 0.605555, 0.394004, 0.990584, 0.288953},
536 {0, 2.506409, 2.493109, 0.101804, 0.990584, 0.393873, 2.187079},
537 {0, 2.538636, 2.410477, 1.237622, 0.288953, 2.187079, 0.636158}};
538 float dm_19_11[7][7]={{0,0,0,0,0,0,0},
539 {0, 1.468048, 3.334714, 1.879583, 0.513847, 2.525290, 2.448642},
540 {0, 3.334714, 1.575000, 0.532017, 1.991892, 2.413770, 2.459092},
541 {0, 1.879583, 0.532017, 0.330291, 0.714265, 0.121153, 1.217842},
542 {0, 0.513847, 1.991892, 0.714265, 0.242569, 1.209724, 0.357392},
543 {0, 2.525290, 2.413770, 0.121153, 1.209724, 0.254157, 2.113204},
544 {0, 2.448642, 2.459092, 1.217842, 0.357392, 2.113204, 0.465079}};
545 float dm_19_12[7][7]={{0,0,0,0,0,0,0},
546 {0, 1.447264, 3.331175, 1.887623, 0.510032, 2.522588, 2.440064},
547 {0, 3.331175, 1.551640, 0.520175, 2.006256, 2.406278, 2.453450},
548 {0, 1.887623, 0.520175, 0.321641, 0.733595, 0.124449, 1.227696},
549 {0, 0.510032, 2.006256, 0.733595, 0.232046, 1.228902, 0.363719},
550 {0, 2.522588, 2.406278, 0.124449, 1.228902, 0.246735, 2.116614},
551 {0, 2.440064, 2.453450, 1.227696, 0.363719, 2.116614, 0.455445}};
552 float dm_19_13[7][7]={{0,0,0,0,0,0,0},
553 {0, 1.413676, 3.312147, 1.892690, 0.497363, 2.513815, 2.427618},
554 {0, 3.312147, 1.512635, 0.491529, 2.029384, 2.398107, 2.440346},
555 {0, 1.892690, 0.491529, 0.309708, 0.770725, 0.131677, 1.255730},
556 {0, 0.497363, 2.029384, 0.770725, 0.215276, 1.262537, 0.375238},
557 {0, 2.513815, 2.398107, 0.131677, 1.262537, 0.238420, 2.134600},
558 {0, 2.427618, 2.440346, 1.255730, 0.375238, 2.134600, 0.443272}};
559 float dm_19_14[7][7]={{0,0,0,0,0,0,0},
560 {0, 1.390424, 3.289395, 1.895911, 0.494394, 2.515601, 2.419213},
561 {0, 3.289395, 1.485413, 0.482937, 2.038817, 2.393102, 2.437050},
562 {0, 1.895911, 0.482937, 0.301201, 0.802783, 0.131369, 1.267332},
563 {0, 0.494394, 2.038817, 0.802783, 0.208219, 1.278597, 0.381488},
564 {0, 2.515601, 2.393102, 0.131369, 1.278597, 0.233137, 2.145289},
565 {0, 2.419213, 2.437050, 1.267332, 0.381488, 2.145289, 0.435049}};
566 float dm_19_15[7][7]={{0,0,0,0,0,0,0},
567 {0, 1.359065, 3.252756, 1.879860, 0.477404, 2.530994, 2.422584},
568 {0, 3.252756, 1.444344, 0.446651, 2.034691, 2.393761, 2.436293},
569 {0, 1.879860, 0.446651, 0.279248, 0.878068, 0.136700, 1.277241},
570 {0, 0.477404, 2.034691, 0.878068, 0.203105, 1.302254, 0.369173},
571 {0, 2.530994, 2.393761, 0.136700, 1.302254, 0.254187, 2.176724},
572 {0, 2.422584, 2.436293, 1.277241, 0.369173, 2.176724, 0.429742}};
573 float dm_19_16[7][7]={{0,0,0,0,0,0,0},
574 {0, 1.319235, 3.187463, 1.883259, 0.425750, 2.549595, 2.483464},
575 {0, 3.187463, 1.390041, 0.356901, 1.935186, 2.431514, 2.438827},
576 {0, 1.883259, 0.356901, 0.250462, 1.025379, 0.218729, 1.267437},
577 {0, 0.425750, 1.935186, 1.025379, 0.196407, 1.314921, 0.319083},
578 {0, 2.549595, 2.431514, 0.218729, 1.314921, 0.318075, 2.206259},
579 {0, 2.483464, 2.438827, 1.267437, 0.319083, 2.206259, 0.438250}};
580 float dm_19_17[7][7]={{0,0,0,0,0,0,0},
581 {0, 1.160111, 3.036527, 2.090520, 0.506996, 2.523007, 2.425038},
582 {0, 3.036527, 1.210398, 0.370582, 1.975521, 2.395384, 2.342602},
583 {0, 2.090520, 0.370582, 0.208600, 1.267580, 0.187575, 1.340450},
584 {0, 0.506996, 1.975521, 1.267580, 0.167525, 1.417493, 0.331364},
585 {0, 2.523007, 2.395384, 0.187575, 1.417493, 0.245059, 2.119651},
586 {0, 2.425038, 2.342602, 1.340450, 0.331364, 2.119651, 0.347729}};
587 float dm_19_18[7][7]={{0,0,0,0,0,0,0},
588 {0, 1.088965, 3.033821, 2.120758, 0.473214, 2.457352, 2.432026},
589 {0, 3.033821, 1.133849, 0.379829, 2.009372, 2.419403, 2.321236},
590 {0, 2.120758, 0.379829, 0.179593, 1.357010, 0.233102, 1.418578},
591 {0, 0.473214, 2.009372, 1.357010, 0.153161, 1.425354, 0.285522},
592 {0, 2.457352, 2.419403, 0.233102, 1.425354, 0.262864, 2.054949},
593 {0, 2.432026, 2.321236, 1.418578, 0.285522, 2.054949, 0.338514}};
594 float dm_20_5[7][7]={{0,0,0,0,0,0,0},
595 {0, 1.897075, 3.279011, 1.691793, 0.504730, 2.480118, 2.562844},
596 {0, 3.279011, 2.039856, 0.633859, 1.632167, 2.502239, 2.351187},
597 {0, 1.691793, 0.633859, 0.568358, 0.603584, 0.107146, 1.236087},
598 {0, 0.504730, 1.632167, 0.603584, 0.501897, 0.828959, 0.259130},
599 {0, 2.480118, 2.502239, 0.107146, 0.828959, 0.486634, 2.206702},
600 {0, 2.562844, 2.351187, 1.236087, 0.259130, 2.206702, 0.747065}};
601 float dm_20_6[7][7]={{0,0,0,0,0,0,0},
602 {0, 1.897075, 3.279011, 1.691793, 0.504730, 2.480118, 2.562844},
603 {0, 3.279011, 2.039856, 0.633859, 1.632167, 2.502239, 2.351187},
604 {0, 1.691793, 0.633859, 0.568358, 0.603584, 0.107146, 1.236087},
605 {0, 0.504730, 1.632167, 0.603584, 0.501897, 0.828959, 0.259130},
606 {0, 2.480118, 2.502239, 0.107146, 0.828959, 0.486634, 2.206702},
607 {0, 2.562844, 2.351187, 1.236087, 0.259130, 2.206702, 0.747065}};
608 float dm_20_7[7][7]={{0,0,0,0,0,0,0},
609 {0, 1.896975, 3.278955, 1.691795, 0.504726, 2.480131, 2.562842},
610 {0, 3.278955, 2.039753, 0.633848, 1.632190, 2.502228, 2.351194},
611 {0, 1.691795, 0.633848, 0.568300, 0.603635, 0.107161, 1.236152},
612 {0, 0.504726, 1.632190, 0.603635, 0.501838, 0.829046, 0.259144},
613 {0, 2.480131, 2.502228, 0.107161, 0.829046, 0.486574, 2.206739},
614 {0, 2.562842, 2.351194, 1.236152, 0.259144, 2.206739, 0.746992}};
615 float dm_20_8[7][7]={{0,0,0,0,0,0,0},
616 {0, 1.893588, 3.276862, 1.690784, 0.504129, 2.480570, 2.563086},
617 {0, 3.276862, 2.036224, 0.632813, 1.632784, 2.502765, 2.351393},
618 {0, 1.690784, 0.632813, 0.566635, 0.604567, 0.107215, 1.237196},
619 {0, 0.504129, 1.632784, 0.604567, 0.500459, 0.833358, 0.259465},
620 {0, 2.480570, 2.502765, 0.107215, 0.833358, 0.484631, 2.209749},
621 {0, 2.563086, 2.351393, 1.237196, 0.259465, 2.209749, 0.744986}};
622 float dm_20_9[7][7]={{0,0,0,0,0,0,0},
623 {0, 1.884748, 3.272721, 1.689032, 0.502174, 2.481643, 2.563448},
624 {0, 3.272721, 2.026963, 0.630025, 1.634741, 2.503505, 2.351925},
625 {0, 1.689032, 0.630025, 0.562287, 0.606772, 0.108251, 1.240282},
626 {0, 0.502174, 1.634741, 0.606772, 0.496494, 0.843309, 0.260392},
627 {0, 2.481643, 2.503505, 0.108251, 0.843309, 0.479544, 2.217089},
628 {0, 2.563448, 2.351925, 1.240282, 0.260392, 2.217089, 0.739346}};
629 float dm_20_10[7][7]={{0,0,0,0,0,0,0},
630 {0, 1.724070, 3.286052, 1.745294, 0.494028, 2.511104, 2.531181},
631 {0, 3.286052, 1.845625, 0.575819, 1.789622, 2.488166, 2.403681},
632 {0, 1.745294, 0.575819, 0.464041, 0.655968, 0.086096, 1.231891},
633 {0, 0.494028, 1.789622, 0.655968, 0.386445, 0.993640, 0.286030},
634 {0, 2.511104, 2.488166, 0.086096, 0.993640, 0.381186, 2.210917},
635 {0, 2.531181, 2.403681, 1.231891, 0.286030, 2.210917, 0.619655}};
636 float dm_20_11[7][7]={{0,0,0,0,0,0,0},
637 {0, 1.366924, 3.326755, 1.917379, 0.486377, 2.535956, 2.402764},
638 {0, 3.326755, 1.458409, 0.487252, 2.081863, 2.377195, 2.464398},
639 {0, 1.917379, 0.487252, 0.291262, 0.818906, 0.121663, 1.238422},
640 {0, 0.486377, 2.081863, 0.818906, 0.204468, 1.272391, 0.381068},
641 {0, 2.535956, 2.377195, 0.121663, 1.272391, 0.212433, 2.115436},
642 {0, 2.402764, 2.464398, 1.238422, 0.381068, 2.115436, 0.410852}};
643 float dm_20_12[7][7]={{0,0,0,0,0,0,0},
644 {0, 1.349682, 3.322530, 1.923718, 0.483384, 2.534184, 2.393804},
645 {0, 3.322530, 1.439522, 0.479792, 2.090923, 2.369673, 2.461525},
646 {0, 1.923718, 0.479792, 0.284782, 0.836368, 0.126042, 1.246251},
647 {0, 0.483384, 2.090923, 0.836368, 0.197208, 1.286660, 0.385916},
648 {0, 2.534184, 2.369673, 0.126042, 1.286660, 0.206645, 2.118761},
649 {0, 2.393804, 2.461525, 1.246251, 0.385916, 2.118761, 0.403098}};
650 float dm_20_13[7][7]={{0,0,0,0,0,0,0},
651 {0, 1.325594, 3.311550, 1.928873, 0.475383, 2.528168, 2.382278},
652 {0, 3.311550, 1.412034, 0.461445, 2.106893, 2.361332, 2.453619},
653 {0, 1.928873, 0.461445, 0.277185, 0.862477, 0.132110, 1.265629},
654 {0, 0.475383, 2.106893, 0.862477, 0.186437, 1.309775, 0.393588},
655 {0, 2.528168, 2.361332, 0.132110, 1.309775, 0.200886, 2.128515},
656 {0, 2.382278, 2.453619, 1.265629, 0.393588, 2.128515, 0.394595}};
657 float dm_20_14[7][7]={{0,0,0,0,0,0,0},
658 {0, 1.311939, 3.299898, 1.933137, 0.471935, 2.529169, 2.375251},
659 {0, 3.299898, 1.395992, 0.455706, 2.114821, 2.356211, 2.451006},
660 {0, 1.933137, 0.455706, 0.271715, 0.884807, 0.131733, 1.269681},
661 {0, 0.471935, 2.114821, 0.884807, 0.182317, 1.320966, 0.396050},
662 {0, 2.529169, 2.356211, 0.131733, 1.320966, 0.199041, 2.134307},
663 {0, 2.375251, 2.451006, 1.269681, 0.396050, 2.134307, 0.389641}};
664 float dm_20_15[7][7]={{0,0,0,0,0,0,0},
665 {0, 1.290169, 3.289532, 1.928987, 0.454296, 2.557077, 2.372959},
666 {0, 3.289532, 1.366891, 0.412695, 2.119268, 2.344543, 2.452420},
667 {0, 1.928987, 0.412695, 0.254556, 0.948114, 0.109102, 1.276760},
668 {0, 0.454296, 2.119268, 0.948114, 0.179089, 1.351415, 0.361892},
669 {0, 2.557077, 2.344543, 0.109102, 1.351415, 0.225454, 2.170825},
670 {0, 2.372959, 2.452420, 1.276760, 0.361892, 2.170825, 0.384073}};
671 float dm_20_16[7][7]={{0,0,0,0,0,0,0},
672 {0, 1.241983, 3.298278, 2.020828, 0.408475, 2.597074, 2.370026},
673 {0, 3.298278, 1.298912, 0.321238, 2.068440, 2.315534, 2.439604},
674 {0, 2.020828, 0.321238, 0.220983, 1.147124, 0.213801, 1.254817},
675 {0, 0.408475, 2.068440, 1.147124, 0.172898, 1.335235, 0.279635},
676 {0, 2.597074, 2.315534, 0.213801, 1.335235, 0.296732, 2.123562},
677 {0, 2.370026, 2.439604, 1.254817, 0.279635, 2.123562, 0.381151}};
678 float dm_20_17[7][7]={{0,0,0,0,0,0,0},
679 {0, 1.031083, 3.146699, 2.295330, 0.511540, 2.584730, 2.277981},
680 {0, 3.146699, 1.064679, 0.357052, 2.105656, 2.264165, 2.292508},
681 {0, 2.295330, 0.357052, 0.171546, 1.497354, 0.225501, 1.336781},
682 {0, 0.511540, 2.105656, 1.497354, 0.136152, 1.441587, 0.273770},
683 {0, 2.584730, 2.264165, 0.225501, 1.441587, 0.196237, 1.955911},
684 {0, 2.277981, 2.292508, 1.336781, 0.273770, 1.955911, 0.267176}};
685 float dm_20_18[7][7]={{0,0,0,0,0,0,0},
686 {0, 0.943522, 3.116469, 2.274659, 0.422065, 2.542425, 2.299795},
687 {0, 3.116469, 0.970661, 0.354446, 2.179069, 2.278761, 2.269135},
688 {0, 2.274659, 0.354446, 0.148767, 1.494225, 0.206332, 1.496611},
689 {0, 0.422065, 2.179069, 1.494225, 0.128695, 1.562489, 0.209998},
690 {0, 2.542425, 2.278761, 0.206332, 1.562489, 0.230554, 1.946200},
691 {0, 2.299795, 2.269135, 1.496611, 0.209998, 1.946200, 0.272444}};
692 float dm_20_19[7][7]={{0,0,0,0,0,0,0},
693 {0, 0.900882, 2.994246, 2.284230, 0.220253, 2.658395, 2.356499},
694 {0, 2.994246, 0.929797, 0.286242, 2.159140, 2.277679, 2.304699},
695 {0, 2.284230, 0.286242, 0.130488, 1.356211, 0.237656, 1.714175},
696 {0, 0.220253, 2.159140, 1.356211, 0.130093, 1.740519, 0.194186},
697 {0, 2.658395, 2.277679, 0.237656, 1.740519, 0.250414, 1.898882},
698 {0, 2.356499, 2.304699, 1.714175, 0.194186, 1.898882, 0.292298}};
699
700
701 float **get_ribosum(const char **Alseq, int n_seq, int length){
702   int i, j,k;
703   float ident=0;
704   int pairnum=0;
705   float minimum=1;
706   float maximum=0.;
707   int min;
708   int max;
709   float **ribo;
710
711   ribo=(float **)space(7*sizeof(float *));
712   for (i=0; i<7; i++) {
713     ribo[i]=(float *)space(7*sizeof(float));
714   }
715   for(j=0; j<n_seq-1; j++)
716     for(k=j+1; k<n_seq; k++) {
717       ident=length-hamming(Alseq[k],Alseq[j]);
718       if ((ident/(length))<minimum) minimum=ident/(float)(length);
719       if ((ident/(length))>maximum) maximum=ident/(float)(length);
720     }
721   /*+2.5 for ALWAYS round up*/
722   minimum*=100;
723   maximum*=100;
724   minimum+=0.5;
725   maximum+=0.5;
726   if (n_seq==1 || minimum>100.45){
727     for (i=0; i<7; i++)
728       for (j=0; j<7;j++)
729         ribo[i][j]= 0.;
730     return ribo;
731   }
732   min=(int) minimum/5;
733   max=(int) maximum/5;
734
735   if (max<12) max=12;
736   if (min<5) min=5;
737   if (min>=max) min=max-1;
738   switch (max) {
739   case 12:
740     switch (min) {
741     case 5:
742       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_5[i][j];
743       break;
744     case 6:
745       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_6[i][j];
746       break;
747     case 7:
748       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_7[i][j];
749       break;
750     case 8:
751       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_8[i][j];
752       break;
753     case 9:
754       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_9[i][j];
755       break;
756     case 10:
757       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_10[i][j];
758       break;
759     case 11:
760       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_12_11[i][j];
761       break;
762     default:
763     printf("da hats was grobes im dmchoose\n");
764     exit;
765     }
766     break;
767   case 13:
768     switch (min) {
769     case 5:
770       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_5[i][j];
771       break;
772     case 6:
773       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_6[i][j];
774       break;
775     case 7:
776       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_7[i][j];
777       break;
778     case 8:
779       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_8[i][j];
780       break;
781     case 9:
782       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_9[i][j];
783       break;
784     case 10:
785       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_10[i][j];
786       break;
787     case 11:
788       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_11[i][j];
789       break;
790     case 12:
791       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_13_12[i][j];
792       break;
793     default:
794     printf("da hats was grobes im dmchoose\n");
795     exit;
796     }
797     break;
798   case 14:
799     switch (min) {
800     case 5:
801       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_5[i][j];
802       break;
803     case 6:
804       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_6[i][j];
805       break;
806     case 7:
807       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_7[i][j];
808       break;
809     case 8:
810       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_8[i][j];
811       break;
812     case 9:
813       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_9[i][j];
814       break;
815     case 10:
816       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_10[i][j];
817       break;
818     case 11:
819       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_11[i][j];
820       break;
821     case 12:
822       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_12[i][j];
823       break;
824     case 13:
825       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_14_13[i][j];
826       break;
827     default:
828     printf("da hats was grobes im dmchoose\n");
829     exit;
830     }
831     break;
832   case 15:
833     switch (min) {
834     case 5:
835       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_5[i][j];
836       break;
837     case 6:
838       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_6[i][j];
839       break;
840     case 7:
841       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_7[i][j];
842       break;
843     case 8:
844       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_8[i][j];
845       break;
846     case 9:
847       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_9[i][j];
848       break;
849     case 10:
850       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_10[i][j];
851       break;
852     case 11:
853       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_11[i][j];
854       break;
855     case 12:
856       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_12[i][j];
857       break;
858     case 13:
859       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_13[i][j];
860       break;
861     case 14:
862       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_15_14[i][j];
863       break;
864     default:
865     printf("da hats was grobes im dmchoose\n");
866     exit;
867     }
868     break;
869   case 16:
870     switch (min) {
871     case 5:
872       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_5[i][j];
873       break;
874     case 6:
875       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_6[i][j];
876       break;
877     case 7:
878       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_7[i][j];
879       break;
880     case 8:
881       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_8[i][j];
882       break;
883     case 9:
884       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_9[i][j];
885       break;
886     case 10:
887       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_10[i][j];
888       break;
889     case 11:
890       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_11[i][j];
891       break;
892     case 12:
893       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_12[i][j];
894       break;
895     case 13:
896       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_13[i][j];
897       break;
898     case 14:
899       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_14[i][j];
900     break;
901     case 15:
902       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_16_15[i][j];
903       break;
904     default:
905     printf("da hats was grobes im dmchoose\n");
906     exit;
907     }
908     break;
909   case 17:
910     switch (min) {
911     case 5:
912       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_5[i][j];
913       break;
914     case 6:
915       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_6[i][j];
916       break;
917     case 7:
918       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_7[i][j];
919       break;
920     case 8:
921       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_8[i][j];
922       break;
923     case 9:
924       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_9[i][j];
925       break;
926     case 10:
927       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_10[i][j];
928       break;
929     case 11:
930       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_11[i][j];
931       break;
932     case 12:
933       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_12[i][j];
934       break;
935     case 13:
936       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_13[i][j];
937       break;
938     case 14:
939       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_14[i][j];
940     break;
941     case 15:
942       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_15[i][j];
943       break;
944     case 16:
945       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_17_16[i][j];
946       break;
947     default:
948     printf("da hats was grobes im dmchoose\n");
949     exit;
950     }
951     break;
952   case 18:
953     switch (min) {
954     case 5:
955       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_5[i][j];
956       break;
957     case 6:
958       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_6[i][j];
959       break;
960     case 7:
961       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_7[i][j];
962       break;
963     case 8:
964       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_8[i][j];
965       break;
966     case 9:
967       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_9[i][j];
968       break;
969     case 10:
970       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_10[i][j];
971       break;
972     case 11:
973       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_11[i][j];
974       break;
975     case 12:
976       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_12[i][j];
977       break;
978     case 13:
979       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_13[i][j];
980       break;
981     case 14:
982       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_14[i][j];
983     break;
984     case 15:
985       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_15[i][j];
986       break;
987     case 16:
988       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_16[i][j];
989       break;
990     case 17:
991       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_18_17[i][j];
992       break;
993     default:
994     printf("da hats was grobes im dmchoose\n");
995     exit;
996     }
997     break;
998    case 19:
999     switch (min) {
1000     case 5:
1001       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_5[i][j];
1002       break;
1003     case 6:
1004       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_6[i][j];
1005       break;
1006     case 7:
1007       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_7[i][j];
1008       break;
1009     case 8:
1010       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_8[i][j];
1011       break;
1012     case 9:
1013       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_9[i][j];
1014       break;
1015     case 10:
1016       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_10[i][j];
1017       break;
1018     case 11:
1019       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_11[i][j];
1020       break;
1021     case 12:
1022       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_12[i][j];
1023       break;
1024     case 13:
1025       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_13[i][j];
1026       break;
1027     case 14:
1028       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_14[i][j];
1029       break;
1030     case 15:
1031       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_15[i][j];
1032       break;
1033     case 16:
1034       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_16[i][j];
1035       break;
1036     case 17:
1037       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_17[i][j];
1038       break;
1039     case 18:
1040       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_19_18[i][j];
1041       break;
1042     default:
1043     printf("da hats was grobes im dmchoose\n");
1044     exit;
1045     }
1046     break;
1047   case 20:
1048     switch (min) {
1049     case 5:
1050       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_5[i][j];
1051       break;
1052     case 6:
1053       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_6[i][j];
1054       break;
1055     case 7:
1056       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_7[i][j];
1057       break;
1058     case 8:
1059       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_8[i][j];
1060       break;
1061     case 9:
1062       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_9[i][j];
1063       break;
1064     case 10:
1065       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_10[i][j];
1066       break;
1067     case 11:
1068       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_11[i][j];
1069       break;
1070     case 12:
1071       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_12[i][j];
1072       break;
1073     case 13:
1074       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_13[i][j];
1075       break;
1076     case 14:
1077       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_14[i][j];
1078     break;
1079     case 15:
1080       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_15[i][j];
1081       break;
1082     case 16:
1083       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_16[i][j];
1084       break;
1085     case 17:
1086       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_17[i][j];
1087       break;
1088     case 18:
1089       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_18[i][j];
1090       break;
1091     case 19:
1092       for (i=0; i<7; i++) for (j=0; j<7;j++) ribo[i][j]=dm_20_19[i][j];
1093       break;
1094     default:
1095     printf("da hats was grobes im dmchoose\n");
1096     exit;
1097     }
1098     break;
1099   default:
1100     printf("da hats was grobes im dmchoose\n");
1101     exit;
1102   }
1103   return ribo;
1104 }