1 | /* RAxML-VI-HPC (version 2.2) a program for sequential and parallel estimation of phylogenetic trees |
---|
2 | * Copyright August 2006 by Alexandros Stamatakis |
---|
3 | * |
---|
4 | * Partially derived from |
---|
5 | * fastDNAml, a program for estimation of phylogenetic trees from sequences by Gary J. Olsen |
---|
6 | * |
---|
7 | * and |
---|
8 | * |
---|
9 | * Programs of the PHYLIP package by Joe Felsenstein. |
---|
10 | * |
---|
11 | * This program is free software; you may redistribute it and/or modify its |
---|
12 | * under the terms of the GNU General Public License as published by the Free |
---|
13 | * Software Foundation; either version 2 of the License, or (at your option) |
---|
14 | * any later version. |
---|
15 | * |
---|
16 | * This program is distributed in the hope that it will be useful, but |
---|
17 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
---|
18 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
---|
19 | * for more details. |
---|
20 | * |
---|
21 | * |
---|
22 | * For any other enquiries send an Email to Alexandros Stamatakis |
---|
23 | * Alexandros.Stamatakis@epfl.ch |
---|
24 | * |
---|
25 | * When publishing work that is based on the results from RAxML-VI-HPC please cite: |
---|
26 | * |
---|
27 | * Alexandros Stamatakis:"RAxML-VI-HPC: maximum likelihood-based phylogenetic analyses with thousands |
---|
28 | * of taxa and mixed models". |
---|
29 | * Bioinformatics 2006; doi: 10.1093/bioinformatics/btl446 |
---|
30 | */ |
---|
31 | |
---|
32 | #ifndef WIN32 |
---|
33 | #include <sys/times.h> |
---|
34 | #include <sys/types.h> |
---|
35 | #include <sys/time.h> |
---|
36 | #include <unistd.h> |
---|
37 | #endif |
---|
38 | |
---|
39 | #include <math.h> |
---|
40 | #include <time.h> |
---|
41 | #include <stdlib.h> |
---|
42 | #include <stdio.h> |
---|
43 | #include <ctype.h> |
---|
44 | #include <string.h> |
---|
45 | |
---|
46 | #include "axml.h" |
---|
47 | |
---|
48 | extern int optimizeRatesInvocations; |
---|
49 | extern int optimizeRateCategoryInvocations; |
---|
50 | extern int optimizeAlphaInvocations; |
---|
51 | extern int optimizeTTRatioInvocations; |
---|
52 | extern int optimizeInvarInvocations; |
---|
53 | |
---|
54 | extern const unsigned int bitVectorSecondary[256]; |
---|
55 | extern const unsigned int bitVector32[33]; |
---|
56 | extern const unsigned int bitVectorAA[23]; |
---|
57 | extern const unsigned int bitVectorIdentity[256]; |
---|
58 | |
---|
59 | extern const partitionLengths pLengths[MAX_MODEL]; |
---|
60 | |
---|
61 | #ifdef _USE_PTHREADS |
---|
62 | extern volatile int NumberOfThreads; |
---|
63 | #endif |
---|
64 | |
---|
65 | |
---|
66 | extern char *protModels[NUM_PROT_MODELS]; |
---|
67 | |
---|
68 | |
---|
69 | |
---|
70 | static void smoothFreqs(const int n, double *pfreqs, double *dst, pInfo *partitionData) |
---|
71 | { |
---|
72 | int |
---|
73 | countScale = 0, |
---|
74 | l, |
---|
75 | loopCounter = 0; |
---|
76 | |
---|
77 | |
---|
78 | /* |
---|
79 | for(l = 0; l < n; l++) |
---|
80 | if(pfreqs[l] < FREQ_MIN) |
---|
81 | countScale++; |
---|
82 | */ |
---|
83 | |
---|
84 | for(l = 0; l < n; l++) |
---|
85 | if(pfreqs[l] == 0.0) |
---|
86 | countScale++; |
---|
87 | |
---|
88 | if(countScale > 0) |
---|
89 | { |
---|
90 | while(countScale > 0) |
---|
91 | { |
---|
92 | double correction = 0.0; |
---|
93 | double factor = 1.0; |
---|
94 | |
---|
95 | for(l = 0; l < n; l++) |
---|
96 | { |
---|
97 | if(pfreqs[l] == 0.0) |
---|
98 | correction += FREQ_MIN; |
---|
99 | else |
---|
100 | if(pfreqs[l] < FREQ_MIN) |
---|
101 | { |
---|
102 | correction += (FREQ_MIN - pfreqs[l]); |
---|
103 | factor -= (FREQ_MIN - pfreqs[l]); |
---|
104 | } |
---|
105 | } |
---|
106 | |
---|
107 | countScale = 0; |
---|
108 | |
---|
109 | for(l = 0; l < n; l++) |
---|
110 | { |
---|
111 | if(pfreqs[l] >= FREQ_MIN) |
---|
112 | pfreqs[l] = pfreqs[l] - (pfreqs[l] * correction * factor); |
---|
113 | else |
---|
114 | pfreqs[l] = FREQ_MIN; |
---|
115 | |
---|
116 | if(pfreqs[l] < FREQ_MIN) |
---|
117 | countScale++; |
---|
118 | } |
---|
119 | assert(loopCounter < 100); |
---|
120 | loopCounter++; |
---|
121 | } |
---|
122 | } |
---|
123 | |
---|
124 | for(l = 0; l < n; l++) |
---|
125 | dst[l] = pfreqs[l]; |
---|
126 | |
---|
127 | |
---|
128 | if(partitionData->nonGTR) |
---|
129 | { |
---|
130 | int k; |
---|
131 | |
---|
132 | assert(partitionData->dataType == SECONDARY_DATA_7 || partitionData->dataType == SECONDARY_DATA_6 || partitionData->dataType == SECONDARY_DATA); |
---|
133 | |
---|
134 | for(l = 0; l < n; l++) |
---|
135 | { |
---|
136 | int count = 1; |
---|
137 | |
---|
138 | for(k = 0; k < n; k++) |
---|
139 | { |
---|
140 | if(k != l && partitionData->frequencyGrouping[l] == partitionData->frequencyGrouping[k]) |
---|
141 | { |
---|
142 | count++; |
---|
143 | dst[l] += pfreqs[k]; |
---|
144 | } |
---|
145 | } |
---|
146 | dst[l] /= ((double)count); |
---|
147 | } |
---|
148 | } |
---|
149 | } |
---|
150 | |
---|
151 | |
---|
152 | static void genericBaseFrequencies(tree *tr, const int numFreqs, rawdata *rdta, cruncheddata *cdta, int lower, int upper, int model, boolean smoothFrequencies, |
---|
153 | const unsigned int *bitMask) |
---|
154 | { |
---|
155 | double |
---|
156 | wj, |
---|
157 | acc, |
---|
158 | pfreqs[64], |
---|
159 | sumf[64], |
---|
160 | temp[64]; |
---|
161 | |
---|
162 | int |
---|
163 | i, |
---|
164 | j, |
---|
165 | k, |
---|
166 | l; |
---|
167 | |
---|
168 | unsigned char *yptr; |
---|
169 | |
---|
170 | for(l = 0; l < numFreqs; l++) |
---|
171 | pfreqs[l] = 1.0 / ((double)numFreqs); |
---|
172 | |
---|
173 | for (k = 1; k <= 8; k++) |
---|
174 | { |
---|
175 | for(l = 0; l < numFreqs; l++) |
---|
176 | sumf[l] = 0.0; |
---|
177 | |
---|
178 | for (i = 0; i < rdta->numsp; i++) |
---|
179 | { |
---|
180 | yptr = &(rdta->y0[((size_t)i) * ((size_t)tr->originalCrunchedLength)]); |
---|
181 | |
---|
182 | for(j = lower; j < upper; j++) |
---|
183 | { |
---|
184 | unsigned int code = bitMask[yptr[j]]; |
---|
185 | assert(code >= 1); |
---|
186 | |
---|
187 | for(l = 0; l < numFreqs; l++) |
---|
188 | { |
---|
189 | if((code >> l) & 1) |
---|
190 | temp[l] = pfreqs[l]; |
---|
191 | else |
---|
192 | temp[l] = 0.0; |
---|
193 | } |
---|
194 | |
---|
195 | for(l = 0, acc = 0.0; l < numFreqs; l++) |
---|
196 | { |
---|
197 | if(temp[l] != 0.0) |
---|
198 | acc += temp[l]; |
---|
199 | } |
---|
200 | |
---|
201 | wj = ((double)cdta->aliaswgt[j]) / acc; |
---|
202 | |
---|
203 | for(l = 0; l < numFreqs; l++) |
---|
204 | { |
---|
205 | if(temp[l] != 0.0) |
---|
206 | sumf[l] += wj * temp[l]; |
---|
207 | } |
---|
208 | } |
---|
209 | } |
---|
210 | |
---|
211 | for(l = 0, acc = 0.0; l < numFreqs; l++) |
---|
212 | { |
---|
213 | if(sumf[l] != 0.0) |
---|
214 | acc += sumf[l]; |
---|
215 | } |
---|
216 | |
---|
217 | for(l = 0; l < numFreqs; l++) |
---|
218 | pfreqs[l] = sumf[l] / acc; |
---|
219 | } |
---|
220 | |
---|
221 | if(smoothFrequencies) |
---|
222 | smoothFreqs(numFreqs, pfreqs, tr->partitionData[model].frequencies, &(tr->partitionData[model])); |
---|
223 | else |
---|
224 | { |
---|
225 | boolean |
---|
226 | zeroFreq = FALSE; |
---|
227 | |
---|
228 | char |
---|
229 | typeOfData[1024]; |
---|
230 | |
---|
231 | getDataTypeString(tr, model, typeOfData); |
---|
232 | |
---|
233 | for(l = 0; l < numFreqs; l++) |
---|
234 | { |
---|
235 | if(pfreqs[l] == 0.0) |
---|
236 | { |
---|
237 | printBothOpen("Empirical base frequency for state number %d is equal to zero in %s data partition %s\n", l, typeOfData, tr->partitionData[model].partitionName); |
---|
238 | printBothOpen("Since this is probably not what you want to do, RAxML will soon exit.\n\n"); |
---|
239 | zeroFreq = TRUE; |
---|
240 | } |
---|
241 | } |
---|
242 | |
---|
243 | if(zeroFreq) |
---|
244 | exit(-1); |
---|
245 | |
---|
246 | for(l = 0; l < numFreqs; l++) |
---|
247 | { |
---|
248 | assert(pfreqs[l] > 0.0); |
---|
249 | tr->partitionData[model].frequencies[l] = pfreqs[l]; |
---|
250 | } |
---|
251 | } |
---|
252 | |
---|
253 | } |
---|
254 | |
---|
255 | |
---|
256 | |
---|
257 | |
---|
258 | |
---|
259 | |
---|
260 | |
---|
261 | |
---|
262 | static void baseFrequenciesGTR(rawdata *rdta, cruncheddata *cdta, tree *tr) |
---|
263 | { |
---|
264 | int |
---|
265 | model, |
---|
266 | lower, |
---|
267 | upper, |
---|
268 | states; |
---|
269 | |
---|
270 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
271 | { |
---|
272 | lower = tr->partitionData[model].lower; |
---|
273 | upper = tr->partitionData[model].upper; |
---|
274 | states = tr->partitionData[model].states; |
---|
275 | |
---|
276 | switch(tr->partitionData[model].dataType) |
---|
277 | { |
---|
278 | case GENERIC_32: |
---|
279 | switch(tr->multiStateModel) |
---|
280 | { |
---|
281 | case ORDERED_MULTI_STATE: |
---|
282 | case MK_MULTI_STATE: |
---|
283 | { |
---|
284 | int i; |
---|
285 | double |
---|
286 | freq = 1.0 / (double)states, |
---|
287 | acc = 0.0; |
---|
288 | |
---|
289 | for(i = 0; i < states; i++) |
---|
290 | { |
---|
291 | acc += freq; |
---|
292 | tr->partitionData[model].frequencies[i] = freq; |
---|
293 | /*printf("%f \n", freq);*/ |
---|
294 | } |
---|
295 | /*printf("Frequency Deviation: %1.60f\n", acc);*/ |
---|
296 | } |
---|
297 | break; |
---|
298 | case GTR_MULTI_STATE: |
---|
299 | genericBaseFrequencies(tr, states, rdta, cdta, lower, upper, model, TRUE, |
---|
300 | bitVector32); |
---|
301 | break; |
---|
302 | default: |
---|
303 | assert(0); |
---|
304 | } |
---|
305 | break; |
---|
306 | case GENERIC_64: |
---|
307 | assert(0); |
---|
308 | break; |
---|
309 | case SECONDARY_DATA_6: |
---|
310 | case SECONDARY_DATA_7: |
---|
311 | case SECONDARY_DATA: |
---|
312 | case AA_DATA: |
---|
313 | case DNA_DATA: |
---|
314 | case BINARY_DATA: |
---|
315 | genericBaseFrequencies(tr, states, rdta, cdta, lower, upper, model, |
---|
316 | getSmoothFreqs(tr->partitionData[model].dataType), |
---|
317 | getBitVector(tr->partitionData[model].dataType)); |
---|
318 | break; |
---|
319 | default: |
---|
320 | assert(0); |
---|
321 | } |
---|
322 | } |
---|
323 | |
---|
324 | return; |
---|
325 | } |
---|
326 | |
---|
327 | static void putWAG(double *ext_initialRates) |
---|
328 | { |
---|
329 | double |
---|
330 | scaler, |
---|
331 | q[20][20], |
---|
332 | daa[400]; |
---|
333 | |
---|
334 | int |
---|
335 | i, |
---|
336 | j, |
---|
337 | r; |
---|
338 | |
---|
339 | daa[ 1*20+ 0] = 55.15710; daa[ 2*20+ 0] = 50.98480; daa[ 2*20+ 1] = 63.53460; |
---|
340 | daa[ 3*20+ 0] = 73.89980; daa[ 3*20+ 1] = 14.73040; daa[ 3*20+ 2] = 542.94200; |
---|
341 | daa[ 4*20+ 0] = 102.70400; daa[ 4*20+ 1] = 52.81910; daa[ 4*20+ 2] = 26.52560; |
---|
342 | daa[ 4*20+ 3] = 3.02949; daa[ 5*20+ 0] = 90.85980; daa[ 5*20+ 1] = 303.55000; |
---|
343 | daa[ 5*20+ 2] = 154.36400; daa[ 5*20+ 3] = 61.67830; daa[ 5*20+ 4] = 9.88179; |
---|
344 | daa[ 6*20+ 0] = 158.28500; daa[ 6*20+ 1] = 43.91570; daa[ 6*20+ 2] = 94.71980; |
---|
345 | daa[ 6*20+ 3] = 617.41600; daa[ 6*20+ 4] = 2.13520; daa[ 6*20+ 5] = 546.94700; |
---|
346 | daa[ 7*20+ 0] = 141.67200; daa[ 7*20+ 1] = 58.46650; daa[ 7*20+ 2] = 112.55600; |
---|
347 | daa[ 7*20+ 3] = 86.55840; daa[ 7*20+ 4] = 30.66740; daa[ 7*20+ 5] = 33.00520; |
---|
348 | daa[ 7*20+ 6] = 56.77170; daa[ 8*20+ 0] = 31.69540; daa[ 8*20+ 1] = 213.71500; |
---|
349 | daa[ 8*20+ 2] = 395.62900; daa[ 8*20+ 3] = 93.06760; daa[ 8*20+ 4] = 24.89720; |
---|
350 | daa[ 8*20+ 5] = 429.41100; daa[ 8*20+ 6] = 57.00250; daa[ 8*20+ 7] = 24.94100; |
---|
351 | daa[ 9*20+ 0] = 19.33350; daa[ 9*20+ 1] = 18.69790; daa[ 9*20+ 2] = 55.42360; |
---|
352 | daa[ 9*20+ 3] = 3.94370; daa[ 9*20+ 4] = 17.01350; daa[ 9*20+ 5] = 11.39170; |
---|
353 | daa[ 9*20+ 6] = 12.73950; daa[ 9*20+ 7] = 3.04501; daa[ 9*20+ 8] = 13.81900; |
---|
354 | daa[10*20+ 0] = 39.79150; daa[10*20+ 1] = 49.76710; daa[10*20+ 2] = 13.15280; |
---|
355 | daa[10*20+ 3] = 8.48047; daa[10*20+ 4] = 38.42870; daa[10*20+ 5] = 86.94890; |
---|
356 | daa[10*20+ 6] = 15.42630; daa[10*20+ 7] = 6.13037; daa[10*20+ 8] = 49.94620; |
---|
357 | daa[10*20+ 9] = 317.09700; daa[11*20+ 0] = 90.62650; daa[11*20+ 1] = 535.14200; |
---|
358 | daa[11*20+ 2] = 301.20100; daa[11*20+ 3] = 47.98550; daa[11*20+ 4] = 7.40339; |
---|
359 | daa[11*20+ 5] = 389.49000; daa[11*20+ 6] = 258.44300; daa[11*20+ 7] = 37.35580; |
---|
360 | daa[11*20+ 8] = 89.04320; daa[11*20+ 9] = 32.38320; daa[11*20+10] = 25.75550; |
---|
361 | daa[12*20+ 0] = 89.34960; daa[12*20+ 1] = 68.31620; daa[12*20+ 2] = 19.82210; |
---|
362 | daa[12*20+ 3] = 10.37540; daa[12*20+ 4] = 39.04820; daa[12*20+ 5] = 154.52600; |
---|
363 | daa[12*20+ 6] = 31.51240; daa[12*20+ 7] = 17.41000; daa[12*20+ 8] = 40.41410; |
---|
364 | daa[12*20+ 9] = 425.74600; daa[12*20+10] = 485.40200; daa[12*20+11] = 93.42760; |
---|
365 | daa[13*20+ 0] = 21.04940; daa[13*20+ 1] = 10.27110; daa[13*20+ 2] = 9.61621; |
---|
366 | daa[13*20+ 3] = 4.67304; daa[13*20+ 4] = 39.80200; daa[13*20+ 5] = 9.99208; |
---|
367 | daa[13*20+ 6] = 8.11339; daa[13*20+ 7] = 4.99310; daa[13*20+ 8] = 67.93710; |
---|
368 | daa[13*20+ 9] = 105.94700; daa[13*20+10] = 211.51700; daa[13*20+11] = 8.88360; |
---|
369 | daa[13*20+12] = 119.06300; daa[14*20+ 0] = 143.85500; daa[14*20+ 1] = 67.94890; |
---|
370 | daa[14*20+ 2] = 19.50810; daa[14*20+ 3] = 42.39840; daa[14*20+ 4] = 10.94040; |
---|
371 | daa[14*20+ 5] = 93.33720; daa[14*20+ 6] = 68.23550; daa[14*20+ 7] = 24.35700; |
---|
372 | daa[14*20+ 8] = 69.61980; daa[14*20+ 9] = 9.99288; daa[14*20+10] = 41.58440; |
---|
373 | daa[14*20+11] = 55.68960; daa[14*20+12] = 17.13290; daa[14*20+13] = 16.14440; |
---|
374 | daa[15*20+ 0] = 337.07900; daa[15*20+ 1] = 122.41900; daa[15*20+ 2] = 397.42300; |
---|
375 | daa[15*20+ 3] = 107.17600; daa[15*20+ 4] = 140.76600; daa[15*20+ 5] = 102.88700; |
---|
376 | daa[15*20+ 6] = 70.49390; daa[15*20+ 7] = 134.18200; daa[15*20+ 8] = 74.01690; |
---|
377 | daa[15*20+ 9] = 31.94400; daa[15*20+10] = 34.47390; daa[15*20+11] = 96.71300; |
---|
378 | daa[15*20+12] = 49.39050; daa[15*20+13] = 54.59310; daa[15*20+14] = 161.32800; |
---|
379 | daa[16*20+ 0] = 212.11100; daa[16*20+ 1] = 55.44130; daa[16*20+ 2] = 203.00600; |
---|
380 | daa[16*20+ 3] = 37.48660; daa[16*20+ 4] = 51.29840; daa[16*20+ 5] = 85.79280; |
---|
381 | daa[16*20+ 6] = 82.27650; daa[16*20+ 7] = 22.58330; daa[16*20+ 8] = 47.33070; |
---|
382 | daa[16*20+ 9] = 145.81600; daa[16*20+10] = 32.66220; daa[16*20+11] = 138.69800; |
---|
383 | daa[16*20+12] = 151.61200; daa[16*20+13] = 17.19030; daa[16*20+14] = 79.53840; |
---|
384 | daa[16*20+15] = 437.80200; daa[17*20+ 0] = 11.31330; daa[17*20+ 1] = 116.39200; |
---|
385 | daa[17*20+ 2] = 7.19167; daa[17*20+ 3] = 12.97670; daa[17*20+ 4] = 71.70700; |
---|
386 | daa[17*20+ 5] = 21.57370; daa[17*20+ 6] = 15.65570; daa[17*20+ 7] = 33.69830; |
---|
387 | daa[17*20+ 8] = 26.25690; daa[17*20+ 9] = 21.24830; daa[17*20+10] = 66.53090; |
---|
388 | daa[17*20+11] = 13.75050; daa[17*20+12] = 51.57060; daa[17*20+13] = 152.96400; |
---|
389 | daa[17*20+14] = 13.94050; daa[17*20+15] = 52.37420; daa[17*20+16] = 11.08640; |
---|
390 | daa[18*20+ 0] = 24.07350; daa[18*20+ 1] = 38.15330; daa[18*20+ 2] = 108.60000; |
---|
391 | daa[18*20+ 3] = 32.57110; daa[18*20+ 4] = 54.38330; daa[18*20+ 5] = 22.77100; |
---|
392 | daa[18*20+ 6] = 19.63030; daa[18*20+ 7] = 10.36040; daa[18*20+ 8] = 387.34400; |
---|
393 | daa[18*20+ 9] = 42.01700; daa[18*20+10] = 39.86180; daa[18*20+11] = 13.32640; |
---|
394 | daa[18*20+12] = 42.84370; daa[18*20+13] = 645.42800; daa[18*20+14] = 21.60460; |
---|
395 | daa[18*20+15] = 78.69930; daa[18*20+16] = 29.11480; daa[18*20+17] = 248.53900; |
---|
396 | daa[19*20+ 0] = 200.60100; daa[19*20+ 1] = 25.18490; daa[19*20+ 2] = 19.62460; |
---|
397 | daa[19*20+ 3] = 15.23350; daa[19*20+ 4] = 100.21400; daa[19*20+ 5] = 30.12810; |
---|
398 | daa[19*20+ 6] = 58.87310; daa[19*20+ 7] = 18.72470; daa[19*20+ 8] = 11.83580; |
---|
399 | daa[19*20+ 9] = 782.13000; daa[19*20+10] = 180.03400; daa[19*20+11] = 30.54340; |
---|
400 | daa[19*20+12] = 205.84500; daa[19*20+13] = 64.98920; daa[19*20+14] = 31.48870; |
---|
401 | daa[19*20+15] = 23.27390; daa[19*20+16] = 138.82300; daa[19*20+17] = 36.53690; |
---|
402 | daa[19*20+18] = 31.47300; |
---|
403 | |
---|
404 | for(i = 0; i < 20; i++) |
---|
405 | for(j = 0; j < 20; j++) |
---|
406 | q[i][j] = 0.0; |
---|
407 | |
---|
408 | for (i=0; i<20; i++) |
---|
409 | for (j=0; j<i; j++) |
---|
410 | daa[j*20+i] = daa[i*20+j]; |
---|
411 | |
---|
412 | for(i = 0; i < 19; i++) |
---|
413 | for(j = i + 1; j < 20; j++) |
---|
414 | q[i][j] = daa[i * 20 + j]; |
---|
415 | |
---|
416 | |
---|
417 | /* |
---|
418 | for (i=0; i<20; i++) |
---|
419 | { |
---|
420 | for (j=0; j<20; j++) |
---|
421 | printf("%1.2f ", q[i][j]); |
---|
422 | printf("\n"); |
---|
423 | } |
---|
424 | printf("\n"); |
---|
425 | |
---|
426 | printf("%f\n", q[18][19]); |
---|
427 | */ |
---|
428 | |
---|
429 | scaler = 1.0 / q[18][19]; |
---|
430 | |
---|
431 | |
---|
432 | |
---|
433 | for(i = 0; i < 19; i++) |
---|
434 | for(j = i + 1; j < 20; j++) |
---|
435 | q[i][j] *= scaler; |
---|
436 | |
---|
437 | for(i = 0, r = 0; i < 19; i++) |
---|
438 | for(j = i + 1; j < 20; j++) |
---|
439 | ext_initialRates[r++] = q[i][j]; |
---|
440 | |
---|
441 | /* |
---|
442 | for (i=0; i<20; i++) |
---|
443 | { |
---|
444 | for (j=0; j<20; j++) |
---|
445 | printf("%1.2f ", q[i][j]); |
---|
446 | printf("\n"); |
---|
447 | } |
---|
448 | printf("\n"); |
---|
449 | */ |
---|
450 | |
---|
451 | } |
---|
452 | |
---|
453 | static void initProtMat(double f[20], int proteinMatrix, double *ext_initialRates, int model, tree *tr, int lg4_index) |
---|
454 | { |
---|
455 | double q[20][20]; |
---|
456 | double daa[400], max, temp; |
---|
457 | int i, j, r; |
---|
458 | double *initialRates = ext_initialRates; |
---|
459 | double scaler; |
---|
460 | |
---|
461 | { |
---|
462 | switch(proteinMatrix) |
---|
463 | { |
---|
464 | case PROT_FILE: |
---|
465 | memcpy(daa, tr->partitionData[model].externalAAMatrix, 400 * sizeof(double)); |
---|
466 | memcpy(f, &(tr->partitionData[model].externalAAMatrix[400]), 20 * sizeof(double)); |
---|
467 | break; |
---|
468 | case DAYHOFF: |
---|
469 | { |
---|
470 | daa[ 1*20+ 0] = 27.00; daa[ 2*20+ 0] = 98.00; daa[ 2*20+ 1] = 32.00; daa[ 3*20+ 0] = 120.00; |
---|
471 | daa[ 3*20+ 1] = 0.00; daa[ 3*20+ 2] = 905.00; daa[ 4*20+ 0] = 36.00; daa[ 4*20+ 1] = 23.00; |
---|
472 | daa[ 4*20+ 2] = 0.00; daa[ 4*20+ 3] = 0.00; daa[ 5*20+ 0] = 89.00; daa[ 5*20+ 1] = 246.00; |
---|
473 | daa[ 5*20+ 2] = 103.00; daa[ 5*20+ 3] = 134.00; daa[ 5*20+ 4] = 0.00; daa[ 6*20+ 0] = 198.00; |
---|
474 | daa[ 6*20+ 1] = 1.00; daa[ 6*20+ 2] = 148.00; daa[ 6*20+ 3] = 1153.00; daa[ 6*20+ 4] = 0.00; |
---|
475 | daa[ 6*20+ 5] = 716.00; daa[ 7*20+ 0] = 240.00; daa[ 7*20+ 1] = 9.00; daa[ 7*20+ 2] = 139.00; |
---|
476 | daa[ 7*20+ 3] = 125.00; daa[ 7*20+ 4] = 11.00; daa[ 7*20+ 5] = 28.00; daa[ 7*20+ 6] = 81.00; |
---|
477 | daa[ 8*20+ 0] = 23.00; daa[ 8*20+ 1] = 240.00; daa[ 8*20+ 2] = 535.00; daa[ 8*20+ 3] = 86.00; |
---|
478 | daa[ 8*20+ 4] = 28.00; daa[ 8*20+ 5] = 606.00; daa[ 8*20+ 6] = 43.00; daa[ 8*20+ 7] = 10.00; |
---|
479 | daa[ 9*20+ 0] = 65.00; daa[ 9*20+ 1] = 64.00; daa[ 9*20+ 2] = 77.00; daa[ 9*20+ 3] = 24.00; |
---|
480 | daa[ 9*20+ 4] = 44.00; daa[ 9*20+ 5] = 18.00; daa[ 9*20+ 6] = 61.00; daa[ 9*20+ 7] = 0.00; |
---|
481 | daa[ 9*20+ 8] = 7.00; daa[10*20+ 0] = 41.00; daa[10*20+ 1] = 15.00; daa[10*20+ 2] = 34.00; |
---|
482 | daa[10*20+ 3] = 0.00; daa[10*20+ 4] = 0.00; daa[10*20+ 5] = 73.00; daa[10*20+ 6] = 11.00; |
---|
483 | daa[10*20+ 7] = 7.00; daa[10*20+ 8] = 44.00; daa[10*20+ 9] = 257.00; daa[11*20+ 0] = 26.00; |
---|
484 | daa[11*20+ 1] = 464.00; daa[11*20+ 2] = 318.00; daa[11*20+ 3] = 71.00; daa[11*20+ 4] = 0.00; |
---|
485 | daa[11*20+ 5] = 153.00; daa[11*20+ 6] = 83.00; daa[11*20+ 7] = 27.00; daa[11*20+ 8] = 26.00; |
---|
486 | daa[11*20+ 9] = 46.00; daa[11*20+10] = 18.00; daa[12*20+ 0] = 72.00; daa[12*20+ 1] = 90.00; |
---|
487 | daa[12*20+ 2] = 1.00; daa[12*20+ 3] = 0.00; daa[12*20+ 4] = 0.00; daa[12*20+ 5] = 114.00; |
---|
488 | daa[12*20+ 6] = 30.00; daa[12*20+ 7] = 17.00; daa[12*20+ 8] = 0.00; daa[12*20+ 9] = 336.00; |
---|
489 | daa[12*20+10] = 527.00; daa[12*20+11] = 243.00; daa[13*20+ 0] = 18.00; daa[13*20+ 1] = 14.00; |
---|
490 | daa[13*20+ 2] = 14.00; daa[13*20+ 3] = 0.00; daa[13*20+ 4] = 0.00; daa[13*20+ 5] = 0.00; |
---|
491 | daa[13*20+ 6] = 0.00; daa[13*20+ 7] = 15.00; daa[13*20+ 8] = 48.00; daa[13*20+ 9] = 196.00; |
---|
492 | daa[13*20+10] = 157.00; daa[13*20+11] = 0.00; daa[13*20+12] = 92.00; daa[14*20+ 0] = 250.00; |
---|
493 | daa[14*20+ 1] = 103.00; daa[14*20+ 2] = 42.00; daa[14*20+ 3] = 13.00; daa[14*20+ 4] = 19.00; |
---|
494 | daa[14*20+ 5] = 153.00; daa[14*20+ 6] = 51.00; daa[14*20+ 7] = 34.00; daa[14*20+ 8] = 94.00; |
---|
495 | daa[14*20+ 9] = 12.00; daa[14*20+10] = 32.00; daa[14*20+11] = 33.00; daa[14*20+12] = 17.00; |
---|
496 | daa[14*20+13] = 11.00; daa[15*20+ 0] = 409.00; daa[15*20+ 1] = 154.00; daa[15*20+ 2] = 495.00; |
---|
497 | daa[15*20+ 3] = 95.00; daa[15*20+ 4] = 161.00; daa[15*20+ 5] = 56.00; daa[15*20+ 6] = 79.00; |
---|
498 | daa[15*20+ 7] = 234.00; daa[15*20+ 8] = 35.00; daa[15*20+ 9] = 24.00; daa[15*20+10] = 17.00; |
---|
499 | daa[15*20+11] = 96.00; daa[15*20+12] = 62.00; daa[15*20+13] = 46.00; daa[15*20+14] = 245.00; |
---|
500 | daa[16*20+ 0] = 371.00; daa[16*20+ 1] = 26.00; daa[16*20+ 2] = 229.00; daa[16*20+ 3] = 66.00; |
---|
501 | daa[16*20+ 4] = 16.00; daa[16*20+ 5] = 53.00; daa[16*20+ 6] = 34.00; daa[16*20+ 7] = 30.00; |
---|
502 | daa[16*20+ 8] = 22.00; daa[16*20+ 9] = 192.00; daa[16*20+10] = 33.00; daa[16*20+11] = 136.00; |
---|
503 | daa[16*20+12] = 104.00; daa[16*20+13] = 13.00; daa[16*20+14] = 78.00; daa[16*20+15] = 550.00; |
---|
504 | daa[17*20+ 0] = 0.00; daa[17*20+ 1] = 201.00; daa[17*20+ 2] = 23.00; daa[17*20+ 3] = 0.00; |
---|
505 | daa[17*20+ 4] = 0.00; daa[17*20+ 5] = 0.00; daa[17*20+ 6] = 0.00; daa[17*20+ 7] = 0.00; |
---|
506 | daa[17*20+ 8] = 27.00; daa[17*20+ 9] = 0.00; daa[17*20+10] = 46.00; daa[17*20+11] = 0.00; |
---|
507 | daa[17*20+12] = 0.00; daa[17*20+13] = 76.00; daa[17*20+14] = 0.00; daa[17*20+15] = 75.00; |
---|
508 | daa[17*20+16] = 0.00; daa[18*20+ 0] = 24.00; daa[18*20+ 1] = 8.00; daa[18*20+ 2] = 95.00; |
---|
509 | daa[18*20+ 3] = 0.00; daa[18*20+ 4] = 96.00; daa[18*20+ 5] = 0.00; daa[18*20+ 6] = 22.00; |
---|
510 | daa[18*20+ 7] = 0.00; daa[18*20+ 8] = 127.00; daa[18*20+ 9] = 37.00; daa[18*20+10] = 28.00; |
---|
511 | daa[18*20+11] = 13.00; daa[18*20+12] = 0.00; daa[18*20+13] = 698.00; daa[18*20+14] = 0.00; |
---|
512 | daa[18*20+15] = 34.00; daa[18*20+16] = 42.00; daa[18*20+17] = 61.00; daa[19*20+ 0] = 208.00; |
---|
513 | daa[19*20+ 1] = 24.00; daa[19*20+ 2] = 15.00; daa[19*20+ 3] = 18.00; daa[19*20+ 4] = 49.00; |
---|
514 | daa[19*20+ 5] = 35.00; daa[19*20+ 6] = 37.00; daa[19*20+ 7] = 54.00; daa[19*20+ 8] = 44.00; |
---|
515 | daa[19*20+ 9] = 889.00; daa[19*20+10] = 175.00; daa[19*20+11] = 10.00; daa[19*20+12] = 258.00; |
---|
516 | daa[19*20+13] = 12.00; daa[19*20+14] = 48.00; daa[19*20+15] = 30.00; daa[19*20+16] = 157.00; |
---|
517 | daa[19*20+17] = 0.00; daa[19*20+18] = 28.00; |
---|
518 | |
---|
519 | |
---|
520 | f[ 0] = 0.087000; f[ 1] = 0.041000; f[ 2] = 0.040000; f[ 3] = 0.047000; |
---|
521 | f[ 4] = 0.034000; f[ 5] = 0.038000; f[ 6] = 0.050000; f[ 7] = 0.089000; |
---|
522 | f[ 8] = 0.034000; f[ 9] = 0.037000; f[10] = 0.085000; f[11] = 0.080000; |
---|
523 | f[12] = 0.014000; f[13] = 0.040000; f[14] = 0.051000; f[15] = 0.070000; |
---|
524 | f[16] = 0.058000; f[17] = 0.011000; f[18] = 0.030000; f[19] = 0.064000; |
---|
525 | } |
---|
526 | break; |
---|
527 | case DCMUT: |
---|
528 | { |
---|
529 | daa[ 1*20+ 0] = 26.78280; daa[ 2*20+ 0] = 98.44740; daa[ 2*20+ 1] = 32.70590; daa[ 3*20+ 0] = 119.98050; |
---|
530 | daa[ 3*20+ 1] = 0.00000; daa[ 3*20+ 2] = 893.15150; daa[ 4*20+ 0] = 36.00160; daa[ 4*20+ 1] = 23.23740; |
---|
531 | daa[ 4*20+ 2] = 0.00000; daa[ 4*20+ 3] = 0.00000; daa[ 5*20+ 0] = 88.77530; daa[ 5*20+ 1] = 243.99390; |
---|
532 | daa[ 5*20+ 2] = 102.85090; daa[ 5*20+ 3] = 134.85510; daa[ 5*20+ 4] = 0.00000; daa[ 6*20+ 0] = 196.11670; |
---|
533 | daa[ 6*20+ 1] = 0.00000; daa[ 6*20+ 2] = 149.34090; daa[ 6*20+ 3] = 1138.86590; daa[ 6*20+ 4] = 0.00000; |
---|
534 | daa[ 6*20+ 5] = 708.60220; daa[ 7*20+ 0] = 238.61110; daa[ 7*20+ 1] = 8.77910; daa[ 7*20+ 2] = 138.53520; |
---|
535 | daa[ 7*20+ 3] = 124.09810; daa[ 7*20+ 4] = 10.72780; daa[ 7*20+ 5] = 28.15810; daa[ 7*20+ 6] = 81.19070; |
---|
536 | daa[ 8*20+ 0] = 22.81160; daa[ 8*20+ 1] = 238.31480; daa[ 8*20+ 2] = 529.00240; daa[ 8*20+ 3] = 86.82410; |
---|
537 | daa[ 8*20+ 4] = 28.27290; daa[ 8*20+ 5] = 601.16130; daa[ 8*20+ 6] = 43.94690; daa[ 8*20+ 7] = 10.68020; |
---|
538 | daa[ 9*20+ 0] = 65.34160; daa[ 9*20+ 1] = 63.26290; daa[ 9*20+ 2] = 76.80240; daa[ 9*20+ 3] = 23.92480; |
---|
539 | daa[ 9*20+ 4] = 43.80740; daa[ 9*20+ 5] = 18.03930; daa[ 9*20+ 6] = 60.95260; daa[ 9*20+ 7] = 0.00000; |
---|
540 | daa[ 9*20+ 8] = 7.69810; daa[10*20+ 0] = 40.64310; daa[10*20+ 1] = 15.49240; daa[10*20+ 2] = 34.11130; |
---|
541 | daa[10*20+ 3] = 0.00000; daa[10*20+ 4] = 0.00000; daa[10*20+ 5] = 73.07720; daa[10*20+ 6] = 11.28800; |
---|
542 | daa[10*20+ 7] = 7.15140; daa[10*20+ 8] = 44.35040; daa[10*20+ 9] = 255.66850; daa[11*20+ 0] = 25.86350; |
---|
543 | daa[11*20+ 1] = 461.01240; daa[11*20+ 2] = 314.83710; daa[11*20+ 3] = 71.69130; daa[11*20+ 4] = 0.00000; |
---|
544 | daa[11*20+ 5] = 151.90780; daa[11*20+ 6] = 83.00780; daa[11*20+ 7] = 26.76830; daa[11*20+ 8] = 27.04750; |
---|
545 | daa[11*20+ 9] = 46.08570; daa[11*20+10] = 18.06290; daa[12*20+ 0] = 71.78400; daa[12*20+ 1] = 89.63210; |
---|
546 | daa[12*20+ 2] = 0.00000; daa[12*20+ 3] = 0.00000; daa[12*20+ 4] = 0.00000; daa[12*20+ 5] = 112.74990; |
---|
547 | daa[12*20+ 6] = 30.48030; daa[12*20+ 7] = 17.03720; daa[12*20+ 8] = 0.00000; daa[12*20+ 9] = 333.27320; |
---|
548 | daa[12*20+10] = 523.01150; daa[12*20+11] = 241.17390; daa[13*20+ 0] = 18.36410; daa[13*20+ 1] = 13.69060; |
---|
549 | daa[13*20+ 2] = 13.85030; daa[13*20+ 3] = 0.00000; daa[13*20+ 4] = 0.00000; daa[13*20+ 5] = 0.00000; |
---|
550 | daa[13*20+ 6] = 0.00000; daa[13*20+ 7] = 15.34780; daa[13*20+ 8] = 47.59270; daa[13*20+ 9] = 195.19510; |
---|
551 | daa[13*20+10] = 156.51600; daa[13*20+11] = 0.00000; daa[13*20+12] = 92.18600; daa[14*20+ 0] = 248.59200; |
---|
552 | daa[14*20+ 1] = 102.83130; daa[14*20+ 2] = 41.92440; daa[14*20+ 3] = 13.39400; daa[14*20+ 4] = 18.75500; |
---|
553 | daa[14*20+ 5] = 152.61880; daa[14*20+ 6] = 50.70030; daa[14*20+ 7] = 34.71530; daa[14*20+ 8] = 93.37090; |
---|
554 | daa[14*20+ 9] = 11.91520; daa[14*20+10] = 31.62580; daa[14*20+11] = 33.54190; daa[14*20+12] = 17.02050; |
---|
555 | daa[14*20+13] = 11.05060; daa[15*20+ 0] = 405.18700; daa[15*20+ 1] = 153.15900; daa[15*20+ 2] = 488.58920; |
---|
556 | daa[15*20+ 3] = 95.60970; daa[15*20+ 4] = 159.83560; daa[15*20+ 5] = 56.18280; daa[15*20+ 6] = 79.39990; |
---|
557 | daa[15*20+ 7] = 232.22430; daa[15*20+ 8] = 35.36430; daa[15*20+ 9] = 24.79550; daa[15*20+10] = 17.14320; |
---|
558 | daa[15*20+11] = 95.45570; daa[15*20+12] = 61.99510; daa[15*20+13] = 45.99010; daa[15*20+14] = 242.72020; |
---|
559 | daa[16*20+ 0] = 368.03650; daa[16*20+ 1] = 26.57450; daa[16*20+ 2] = 227.16970; daa[16*20+ 3] = 66.09300; |
---|
560 | daa[16*20+ 4] = 16.23660; daa[16*20+ 5] = 52.56510; daa[16*20+ 6] = 34.01560; daa[16*20+ 7] = 30.66620; |
---|
561 | daa[16*20+ 8] = 22.63330; daa[16*20+ 9] = 190.07390; daa[16*20+10] = 33.10900; daa[16*20+11] = 135.05990; |
---|
562 | daa[16*20+12] = 103.15340; daa[16*20+13] = 13.66550; daa[16*20+14] = 78.28570; daa[16*20+15] = 543.66740; |
---|
563 | daa[17*20+ 0] = 0.00000; daa[17*20+ 1] = 200.13750; daa[17*20+ 2] = 22.49680; daa[17*20+ 3] = 0.00000; |
---|
564 | daa[17*20+ 4] = 0.00000; daa[17*20+ 5] = 0.00000; daa[17*20+ 6] = 0.00000; daa[17*20+ 7] = 0.00000; |
---|
565 | daa[17*20+ 8] = 27.05640; daa[17*20+ 9] = 0.00000; daa[17*20+10] = 46.17760; daa[17*20+11] = 0.00000; |
---|
566 | daa[17*20+12] = 0.00000; daa[17*20+13] = 76.23540; daa[17*20+14] = 0.00000; daa[17*20+15] = 74.08190; |
---|
567 | daa[17*20+16] = 0.00000; daa[18*20+ 0] = 24.41390; daa[18*20+ 1] = 7.80120; daa[18*20+ 2] = 94.69400; |
---|
568 | daa[18*20+ 3] = 0.00000; daa[18*20+ 4] = 95.31640; daa[18*20+ 5] = 0.00000; daa[18*20+ 6] = 21.47170; |
---|
569 | daa[18*20+ 7] = 0.00000; daa[18*20+ 8] = 126.54000; daa[18*20+ 9] = 37.48340; daa[18*20+10] = 28.65720; |
---|
570 | daa[18*20+11] = 13.21420; daa[18*20+12] = 0.00000; daa[18*20+13] = 695.26290; daa[18*20+14] = 0.00000; |
---|
571 | daa[18*20+15] = 33.62890; daa[18*20+16] = 41.78390; daa[18*20+17] = 60.80700; daa[19*20+ 0] = 205.95640; |
---|
572 | daa[19*20+ 1] = 24.03680; daa[19*20+ 2] = 15.80670; daa[19*20+ 3] = 17.83160; daa[19*20+ 4] = 48.46780; |
---|
573 | daa[19*20+ 5] = 34.69830; daa[19*20+ 6] = 36.72500; daa[19*20+ 7] = 53.81650; daa[19*20+ 8] = 43.87150; |
---|
574 | daa[19*20+ 9] = 881.00380; daa[19*20+10] = 174.51560; daa[19*20+11] = 10.38500; daa[19*20+12] = 256.59550; |
---|
575 | daa[19*20+13] = 12.36060; daa[19*20+14] = 48.50260; daa[19*20+15] = 30.38360; daa[19*20+16] = 156.19970; |
---|
576 | daa[19*20+17] = 0.00000; daa[19*20+18] = 27.93790; |
---|
577 | |
---|
578 | f[ 0] = 0.08700; f[ 1] = 0.04100; f[ 2] = 0.04000; f[ 3] = 0.04700; |
---|
579 | f[ 4] = 0.03300; f[ 5] = 0.03800; f[ 6] = 0.04900; f[ 7] = 0.08900; |
---|
580 | f[ 8] = 0.03400; f[ 9] = 0.03700; f[10] = 0.08500; f[11] = 0.08000; |
---|
581 | f[12] = 0.01500; f[13] = 0.04000; f[14] = 0.05200; f[15] = 0.06900; |
---|
582 | f[16] = 0.05900; f[17] = 0.01000; f[18] = 0.03000; f[19] = 0.06500; |
---|
583 | |
---|
584 | } |
---|
585 | break; |
---|
586 | case JTT: |
---|
587 | { |
---|
588 | daa[ 1*20+ 0] = 58.00; daa[ 2*20+ 0] = 54.00; daa[ 2*20+ 1] = 45.00; daa[ 3*20+ 0] = 81.00; |
---|
589 | daa[ 3*20+ 1] = 16.00; daa[ 3*20+ 2] = 528.00; daa[ 4*20+ 0] = 56.00; daa[ 4*20+ 1] = 113.00; |
---|
590 | daa[ 4*20+ 2] = 34.00; daa[ 4*20+ 3] = 10.00; daa[ 5*20+ 0] = 57.00; daa[ 5*20+ 1] = 310.00; |
---|
591 | daa[ 5*20+ 2] = 86.00; daa[ 5*20+ 3] = 49.00; daa[ 5*20+ 4] = 9.00; daa[ 6*20+ 0] = 105.00; |
---|
592 | daa[ 6*20+ 1] = 29.00; daa[ 6*20+ 2] = 58.00; daa[ 6*20+ 3] = 767.00; daa[ 6*20+ 4] = 5.00; |
---|
593 | daa[ 6*20+ 5] = 323.00; daa[ 7*20+ 0] = 179.00; daa[ 7*20+ 1] = 137.00; daa[ 7*20+ 2] = 81.00; |
---|
594 | daa[ 7*20+ 3] = 130.00; daa[ 7*20+ 4] = 59.00; daa[ 7*20+ 5] = 26.00; daa[ 7*20+ 6] = 119.00; |
---|
595 | daa[ 8*20+ 0] = 27.00; daa[ 8*20+ 1] = 328.00; daa[ 8*20+ 2] = 391.00; daa[ 8*20+ 3] = 112.00; |
---|
596 | daa[ 8*20+ 4] = 69.00; daa[ 8*20+ 5] = 597.00; daa[ 8*20+ 6] = 26.00; daa[ 8*20+ 7] = 23.00; |
---|
597 | daa[ 9*20+ 0] = 36.00; daa[ 9*20+ 1] = 22.00; daa[ 9*20+ 2] = 47.00; daa[ 9*20+ 3] = 11.00; |
---|
598 | daa[ 9*20+ 4] = 17.00; daa[ 9*20+ 5] = 9.00; daa[ 9*20+ 6] = 12.00; daa[ 9*20+ 7] = 6.00; |
---|
599 | daa[ 9*20+ 8] = 16.00; daa[10*20+ 0] = 30.00; daa[10*20+ 1] = 38.00; daa[10*20+ 2] = 12.00; |
---|
600 | daa[10*20+ 3] = 7.00; daa[10*20+ 4] = 23.00; daa[10*20+ 5] = 72.00; daa[10*20+ 6] = 9.00; |
---|
601 | daa[10*20+ 7] = 6.00; daa[10*20+ 8] = 56.00; daa[10*20+ 9] = 229.00; daa[11*20+ 0] = 35.00; |
---|
602 | daa[11*20+ 1] = 646.00; daa[11*20+ 2] = 263.00; daa[11*20+ 3] = 26.00; daa[11*20+ 4] = 7.00; |
---|
603 | daa[11*20+ 5] = 292.00; daa[11*20+ 6] = 181.00; daa[11*20+ 7] = 27.00; daa[11*20+ 8] = 45.00; |
---|
604 | daa[11*20+ 9] = 21.00; daa[11*20+10] = 14.00; daa[12*20+ 0] = 54.00; daa[12*20+ 1] = 44.00; |
---|
605 | daa[12*20+ 2] = 30.00; daa[12*20+ 3] = 15.00; daa[12*20+ 4] = 31.00; daa[12*20+ 5] = 43.00; |
---|
606 | daa[12*20+ 6] = 18.00; daa[12*20+ 7] = 14.00; daa[12*20+ 8] = 33.00; daa[12*20+ 9] = 479.00; |
---|
607 | daa[12*20+10] = 388.00; daa[12*20+11] = 65.00; daa[13*20+ 0] = 15.00; daa[13*20+ 1] = 5.00; |
---|
608 | daa[13*20+ 2] = 10.00; daa[13*20+ 3] = 4.00; daa[13*20+ 4] = 78.00; daa[13*20+ 5] = 4.00; |
---|
609 | daa[13*20+ 6] = 5.00; daa[13*20+ 7] = 5.00; daa[13*20+ 8] = 40.00; daa[13*20+ 9] = 89.00; |
---|
610 | daa[13*20+10] = 248.00; daa[13*20+11] = 4.00; daa[13*20+12] = 43.00; daa[14*20+ 0] = 194.00; |
---|
611 | daa[14*20+ 1] = 74.00; daa[14*20+ 2] = 15.00; daa[14*20+ 3] = 15.00; daa[14*20+ 4] = 14.00; |
---|
612 | daa[14*20+ 5] = 164.00; daa[14*20+ 6] = 18.00; daa[14*20+ 7] = 24.00; daa[14*20+ 8] = 115.00; |
---|
613 | daa[14*20+ 9] = 10.00; daa[14*20+10] = 102.00; daa[14*20+11] = 21.00; daa[14*20+12] = 16.00; |
---|
614 | daa[14*20+13] = 17.00; daa[15*20+ 0] = 378.00; daa[15*20+ 1] = 101.00; daa[15*20+ 2] = 503.00; |
---|
615 | daa[15*20+ 3] = 59.00; daa[15*20+ 4] = 223.00; daa[15*20+ 5] = 53.00; daa[15*20+ 6] = 30.00; |
---|
616 | daa[15*20+ 7] = 201.00; daa[15*20+ 8] = 73.00; daa[15*20+ 9] = 40.00; daa[15*20+10] = 59.00; |
---|
617 | daa[15*20+11] = 47.00; daa[15*20+12] = 29.00; daa[15*20+13] = 92.00; daa[15*20+14] = 285.00; |
---|
618 | daa[16*20+ 0] = 475.00; daa[16*20+ 1] = 64.00; daa[16*20+ 2] = 232.00; daa[16*20+ 3] = 38.00; |
---|
619 | daa[16*20+ 4] = 42.00; daa[16*20+ 5] = 51.00; daa[16*20+ 6] = 32.00; daa[16*20+ 7] = 33.00; |
---|
620 | daa[16*20+ 8] = 46.00; daa[16*20+ 9] = 245.00; daa[16*20+10] = 25.00; daa[16*20+11] = 103.00; |
---|
621 | daa[16*20+12] = 226.00; daa[16*20+13] = 12.00; daa[16*20+14] = 118.00; daa[16*20+15] = 477.00; |
---|
622 | daa[17*20+ 0] = 9.00; daa[17*20+ 1] = 126.00; daa[17*20+ 2] = 8.00; daa[17*20+ 3] = 4.00; |
---|
623 | daa[17*20+ 4] = 115.00; daa[17*20+ 5] = 18.00; daa[17*20+ 6] = 10.00; daa[17*20+ 7] = 55.00; |
---|
624 | daa[17*20+ 8] = 8.00; daa[17*20+ 9] = 9.00; daa[17*20+10] = 52.00; daa[17*20+11] = 10.00; |
---|
625 | daa[17*20+12] = 24.00; daa[17*20+13] = 53.00; daa[17*20+14] = 6.00; daa[17*20+15] = 35.00; |
---|
626 | daa[17*20+16] = 12.00; daa[18*20+ 0] = 11.00; daa[18*20+ 1] = 20.00; daa[18*20+ 2] = 70.00; |
---|
627 | daa[18*20+ 3] = 46.00; daa[18*20+ 4] = 209.00; daa[18*20+ 5] = 24.00; daa[18*20+ 6] = 7.00; |
---|
628 | daa[18*20+ 7] = 8.00; daa[18*20+ 8] = 573.00; daa[18*20+ 9] = 32.00; daa[18*20+10] = 24.00; |
---|
629 | daa[18*20+11] = 8.00; daa[18*20+12] = 18.00; daa[18*20+13] = 536.00; daa[18*20+14] = 10.00; |
---|
630 | daa[18*20+15] = 63.00; daa[18*20+16] = 21.00; daa[18*20+17] = 71.00; daa[19*20+ 0] = 298.00; |
---|
631 | daa[19*20+ 1] = 17.00; daa[19*20+ 2] = 16.00; daa[19*20+ 3] = 31.00; daa[19*20+ 4] = 62.00; |
---|
632 | daa[19*20+ 5] = 20.00; daa[19*20+ 6] = 45.00; daa[19*20+ 7] = 47.00; daa[19*20+ 8] = 11.00; |
---|
633 | daa[19*20+ 9] = 961.00; daa[19*20+10] = 180.00; daa[19*20+11] = 14.00; daa[19*20+12] = 323.00; |
---|
634 | daa[19*20+13] = 62.00; daa[19*20+14] = 23.00; daa[19*20+15] = 38.00; daa[19*20+16] = 112.00; |
---|
635 | daa[19*20+17] = 25.00; daa[19*20+18] = 16.00; |
---|
636 | |
---|
637 | f[ 0] = 0.07700; f[ 1] = 0.05200; f[ 2] = 0.04200; f[ 3] = 0.05100; |
---|
638 | f[ 4] = 0.02000; f[ 5] = 0.04100; f[ 6] = 0.06200; f[ 7] = 0.07300; |
---|
639 | f[ 8] = 0.02300; f[ 9] = 0.05400; f[10] = 0.09200; f[11] = 0.05900; |
---|
640 | f[12] = 0.02400; f[13] = 0.04000; f[14] = 0.05100; f[15] = 0.06900; |
---|
641 | f[16] = 0.05800; f[17] = 0.01400; f[18] = 0.03200; f[19] = 0.06600; |
---|
642 | } |
---|
643 | break; |
---|
644 | case MTREV: |
---|
645 | { |
---|
646 | daa[ 1*20+ 0] = 23.18; daa[ 2*20+ 0] = 26.95; daa[ 2*20+ 1] = 13.24; daa[ 3*20+ 0] = 17.67; |
---|
647 | daa[ 3*20+ 1] = 1.90; daa[ 3*20+ 2] = 794.38; daa[ 4*20+ 0] = 59.93; daa[ 4*20+ 1] = 103.33; |
---|
648 | daa[ 4*20+ 2] = 58.94; daa[ 4*20+ 3] = 1.90; daa[ 5*20+ 0] = 1.90; daa[ 5*20+ 1] = 220.99; |
---|
649 | daa[ 5*20+ 2] = 173.56; daa[ 5*20+ 3] = 55.28; daa[ 5*20+ 4] = 75.24; daa[ 6*20+ 0] = 9.77; |
---|
650 | daa[ 6*20+ 1] = 1.90; daa[ 6*20+ 2] = 63.05; daa[ 6*20+ 3] = 583.55; daa[ 6*20+ 4] = 1.90; |
---|
651 | daa[ 6*20+ 5] = 313.56; daa[ 7*20+ 0] = 120.71; daa[ 7*20+ 1] = 23.03; daa[ 7*20+ 2] = 53.30; |
---|
652 | daa[ 7*20+ 3] = 56.77; daa[ 7*20+ 4] = 30.71; daa[ 7*20+ 5] = 6.75; daa[ 7*20+ 6] = 28.28; |
---|
653 | daa[ 8*20+ 0] = 13.90; daa[ 8*20+ 1] = 165.23; daa[ 8*20+ 2] = 496.13; daa[ 8*20+ 3] = 113.99; |
---|
654 | daa[ 8*20+ 4] = 141.49; daa[ 8*20+ 5] = 582.40; daa[ 8*20+ 6] = 49.12; daa[ 8*20+ 7] = 1.90; |
---|
655 | daa[ 9*20+ 0] = 96.49; daa[ 9*20+ 1] = 1.90; daa[ 9*20+ 2] = 27.10; daa[ 9*20+ 3] = 4.34; |
---|
656 | daa[ 9*20+ 4] = 62.73; daa[ 9*20+ 5] = 8.34; daa[ 9*20+ 6] = 3.31; daa[ 9*20+ 7] = 5.98; |
---|
657 | daa[ 9*20+ 8] = 12.26; daa[10*20+ 0] = 25.46; daa[10*20+ 1] = 15.58; daa[10*20+ 2] = 15.16; |
---|
658 | daa[10*20+ 3] = 1.90; daa[10*20+ 4] = 25.65; daa[10*20+ 5] = 39.70; daa[10*20+ 6] = 1.90; |
---|
659 | daa[10*20+ 7] = 2.41; daa[10*20+ 8] = 11.49; daa[10*20+ 9] = 329.09; daa[11*20+ 0] = 8.36; |
---|
660 | daa[11*20+ 1] = 141.40; daa[11*20+ 2] = 608.70; daa[11*20+ 3] = 2.31; daa[11*20+ 4] = 1.90; |
---|
661 | daa[11*20+ 5] = 465.58; daa[11*20+ 6] = 313.86; daa[11*20+ 7] = 22.73; daa[11*20+ 8] = 127.67; |
---|
662 | daa[11*20+ 9] = 19.57; daa[11*20+10] = 14.88; daa[12*20+ 0] = 141.88; daa[12*20+ 1] = 1.90; |
---|
663 | daa[12*20+ 2] = 65.41; daa[12*20+ 3] = 1.90; daa[12*20+ 4] = 6.18; daa[12*20+ 5] = 47.37; |
---|
664 | daa[12*20+ 6] = 1.90; daa[12*20+ 7] = 1.90; daa[12*20+ 8] = 11.97; daa[12*20+ 9] = 517.98; |
---|
665 | daa[12*20+10] = 537.53; daa[12*20+11] = 91.37; daa[13*20+ 0] = 6.37; daa[13*20+ 1] = 4.69; |
---|
666 | daa[13*20+ 2] = 15.20; daa[13*20+ 3] = 4.98; daa[13*20+ 4] = 70.80; daa[13*20+ 5] = 19.11; |
---|
667 | daa[13*20+ 6] = 2.67; daa[13*20+ 7] = 1.90; daa[13*20+ 8] = 48.16; daa[13*20+ 9] = 84.67; |
---|
668 | daa[13*20+10] = 216.06; daa[13*20+11] = 6.44; daa[13*20+12] = 90.82; daa[14*20+ 0] = 54.31; |
---|
669 | daa[14*20+ 1] = 23.64; daa[14*20+ 2] = 73.31; daa[14*20+ 3] = 13.43; daa[14*20+ 4] = 31.26; |
---|
670 | daa[14*20+ 5] = 137.29; daa[14*20+ 6] = 12.83; daa[14*20+ 7] = 1.90; daa[14*20+ 8] = 60.97; |
---|
671 | daa[14*20+ 9] = 20.63; daa[14*20+10] = 40.10; daa[14*20+11] = 50.10; daa[14*20+12] = 18.84; |
---|
672 | daa[14*20+13] = 17.31; daa[15*20+ 0] = 387.86; daa[15*20+ 1] = 6.04; daa[15*20+ 2] = 494.39; |
---|
673 | daa[15*20+ 3] = 69.02; daa[15*20+ 4] = 277.05; daa[15*20+ 5] = 54.11; daa[15*20+ 6] = 54.71; |
---|
674 | daa[15*20+ 7] = 125.93; daa[15*20+ 8] = 77.46; daa[15*20+ 9] = 47.70; daa[15*20+10] = 73.61; |
---|
675 | daa[15*20+11] = 105.79; daa[15*20+12] = 111.16; daa[15*20+13] = 64.29; daa[15*20+14] = 169.90; |
---|
676 | daa[16*20+ 0] = 480.72; daa[16*20+ 1] = 2.08; daa[16*20+ 2] = 238.46; daa[16*20+ 3] = 28.01; |
---|
677 | daa[16*20+ 4] = 179.97; daa[16*20+ 5] = 94.93; daa[16*20+ 6] = 14.82; daa[16*20+ 7] = 11.17; |
---|
678 | daa[16*20+ 8] = 44.78; daa[16*20+ 9] = 368.43; daa[16*20+10] = 126.40; daa[16*20+11] = 136.33; |
---|
679 | daa[16*20+12] = 528.17; daa[16*20+13] = 33.85; daa[16*20+14] = 128.22; daa[16*20+15] = 597.21; |
---|
680 | daa[17*20+ 0] = 1.90; daa[17*20+ 1] = 21.95; daa[17*20+ 2] = 10.68; daa[17*20+ 3] = 19.86; |
---|
681 | daa[17*20+ 4] = 33.60; daa[17*20+ 5] = 1.90; daa[17*20+ 6] = 1.90; daa[17*20+ 7] = 10.92; |
---|
682 | daa[17*20+ 8] = 7.08; daa[17*20+ 9] = 1.90; daa[17*20+10] = 32.44; daa[17*20+11] = 24.00; |
---|
683 | daa[17*20+12] = 21.71; daa[17*20+13] = 7.84; daa[17*20+14] = 4.21; daa[17*20+15] = 38.58; |
---|
684 | daa[17*20+16] = 9.99; daa[18*20+ 0] = 6.48; daa[18*20+ 1] = 1.90; daa[18*20+ 2] = 191.36; |
---|
685 | daa[18*20+ 3] = 21.21; daa[18*20+ 4] = 254.77; daa[18*20+ 5] = 38.82; daa[18*20+ 6] = 13.12; |
---|
686 | daa[18*20+ 7] = 3.21; daa[18*20+ 8] = 670.14; daa[18*20+ 9] = 25.01; daa[18*20+10] = 44.15; |
---|
687 | daa[18*20+11] = 51.17; daa[18*20+12] = 39.96; daa[18*20+13] = 465.58; daa[18*20+14] = 16.21; |
---|
688 | daa[18*20+15] = 64.92; daa[18*20+16] = 38.73; daa[18*20+17] = 26.25; daa[19*20+ 0] = 195.06; |
---|
689 | daa[19*20+ 1] = 7.64; daa[19*20+ 2] = 1.90; daa[19*20+ 3] = 1.90; daa[19*20+ 4] = 1.90; |
---|
690 | daa[19*20+ 5] = 19.00; daa[19*20+ 6] = 21.14; daa[19*20+ 7] = 2.53; daa[19*20+ 8] = 1.90; |
---|
691 | daa[19*20+ 9] = 1222.94; daa[19*20+10] = 91.67; daa[19*20+11] = 1.90; daa[19*20+12] = 387.54; |
---|
692 | daa[19*20+13] = 6.35; daa[19*20+14] = 8.23; daa[19*20+15] = 1.90; daa[19*20+16] = 204.54; |
---|
693 | daa[19*20+17] = 5.37; daa[19*20+18] = 1.90; |
---|
694 | |
---|
695 | |
---|
696 | f[ 0] = 0.072000; f[ 1] = 0.019000; f[ 2] = 0.039000; f[ 3] = 0.019000; |
---|
697 | f[ 4] = 0.006000; f[ 5] = 0.025000; f[ 6] = 0.024000; f[ 7] = 0.056000; |
---|
698 | f[ 8] = 0.028000; f[ 9] = 0.088000; f[10] = 0.169000; f[11] = 0.023000; |
---|
699 | f[12] = 0.054000; f[13] = 0.061000; f[14] = 0.054000; f[15] = 0.072000; |
---|
700 | f[16] = 0.086000; f[17] = 0.029000; f[18] = 0.033000; f[19] = 0.043000; |
---|
701 | } |
---|
702 | break; |
---|
703 | case WAG: |
---|
704 | { |
---|
705 | daa[ 1*20+ 0] = 55.15710; daa[ 2*20+ 0] = 50.98480; daa[ 2*20+ 1] = 63.53460; |
---|
706 | daa[ 3*20+ 0] = 73.89980; daa[ 3*20+ 1] = 14.73040; daa[ 3*20+ 2] = 542.94200; |
---|
707 | daa[ 4*20+ 0] = 102.70400; daa[ 4*20+ 1] = 52.81910; daa[ 4*20+ 2] = 26.52560; |
---|
708 | daa[ 4*20+ 3] = 3.02949; daa[ 5*20+ 0] = 90.85980; daa[ 5*20+ 1] = 303.55000; |
---|
709 | daa[ 5*20+ 2] = 154.36400; daa[ 5*20+ 3] = 61.67830; daa[ 5*20+ 4] = 9.88179; |
---|
710 | daa[ 6*20+ 0] = 158.28500; daa[ 6*20+ 1] = 43.91570; daa[ 6*20+ 2] = 94.71980; |
---|
711 | daa[ 6*20+ 3] = 617.41600; daa[ 6*20+ 4] = 2.13520; daa[ 6*20+ 5] = 546.94700; |
---|
712 | daa[ 7*20+ 0] = 141.67200; daa[ 7*20+ 1] = 58.46650; daa[ 7*20+ 2] = 112.55600; |
---|
713 | daa[ 7*20+ 3] = 86.55840; daa[ 7*20+ 4] = 30.66740; daa[ 7*20+ 5] = 33.00520; |
---|
714 | daa[ 7*20+ 6] = 56.77170; daa[ 8*20+ 0] = 31.69540; daa[ 8*20+ 1] = 213.71500; |
---|
715 | daa[ 8*20+ 2] = 395.62900; daa[ 8*20+ 3] = 93.06760; daa[ 8*20+ 4] = 24.89720; |
---|
716 | daa[ 8*20+ 5] = 429.41100; daa[ 8*20+ 6] = 57.00250; daa[ 8*20+ 7] = 24.94100; |
---|
717 | daa[ 9*20+ 0] = 19.33350; daa[ 9*20+ 1] = 18.69790; daa[ 9*20+ 2] = 55.42360; |
---|
718 | daa[ 9*20+ 3] = 3.94370; daa[ 9*20+ 4] = 17.01350; daa[ 9*20+ 5] = 11.39170; |
---|
719 | daa[ 9*20+ 6] = 12.73950; daa[ 9*20+ 7] = 3.04501; daa[ 9*20+ 8] = 13.81900; |
---|
720 | daa[10*20+ 0] = 39.79150; daa[10*20+ 1] = 49.76710; daa[10*20+ 2] = 13.15280; |
---|
721 | daa[10*20+ 3] = 8.48047; daa[10*20+ 4] = 38.42870; daa[10*20+ 5] = 86.94890; |
---|
722 | daa[10*20+ 6] = 15.42630; daa[10*20+ 7] = 6.13037; daa[10*20+ 8] = 49.94620; |
---|
723 | daa[10*20+ 9] = 317.09700; daa[11*20+ 0] = 90.62650; daa[11*20+ 1] = 535.14200; |
---|
724 | daa[11*20+ 2] = 301.20100; daa[11*20+ 3] = 47.98550; daa[11*20+ 4] = 7.40339; |
---|
725 | daa[11*20+ 5] = 389.49000; daa[11*20+ 6] = 258.44300; daa[11*20+ 7] = 37.35580; |
---|
726 | daa[11*20+ 8] = 89.04320; daa[11*20+ 9] = 32.38320; daa[11*20+10] = 25.75550; |
---|
727 | daa[12*20+ 0] = 89.34960; daa[12*20+ 1] = 68.31620; daa[12*20+ 2] = 19.82210; |
---|
728 | daa[12*20+ 3] = 10.37540; daa[12*20+ 4] = 39.04820; daa[12*20+ 5] = 154.52600; |
---|
729 | daa[12*20+ 6] = 31.51240; daa[12*20+ 7] = 17.41000; daa[12*20+ 8] = 40.41410; |
---|
730 | daa[12*20+ 9] = 425.74600; daa[12*20+10] = 485.40200; daa[12*20+11] = 93.42760; |
---|
731 | daa[13*20+ 0] = 21.04940; daa[13*20+ 1] = 10.27110; daa[13*20+ 2] = 9.61621; |
---|
732 | daa[13*20+ 3] = 4.67304; daa[13*20+ 4] = 39.80200; daa[13*20+ 5] = 9.99208; |
---|
733 | daa[13*20+ 6] = 8.11339; daa[13*20+ 7] = 4.99310; daa[13*20+ 8] = 67.93710; |
---|
734 | daa[13*20+ 9] = 105.94700; daa[13*20+10] = 211.51700; daa[13*20+11] = 8.88360; |
---|
735 | daa[13*20+12] = 119.06300; daa[14*20+ 0] = 143.85500; daa[14*20+ 1] = 67.94890; |
---|
736 | daa[14*20+ 2] = 19.50810; daa[14*20+ 3] = 42.39840; daa[14*20+ 4] = 10.94040; |
---|
737 | daa[14*20+ 5] = 93.33720; daa[14*20+ 6] = 68.23550; daa[14*20+ 7] = 24.35700; |
---|
738 | daa[14*20+ 8] = 69.61980; daa[14*20+ 9] = 9.99288; daa[14*20+10] = 41.58440; |
---|
739 | daa[14*20+11] = 55.68960; daa[14*20+12] = 17.13290; daa[14*20+13] = 16.14440; |
---|
740 | daa[15*20+ 0] = 337.07900; daa[15*20+ 1] = 122.41900; daa[15*20+ 2] = 397.42300; |
---|
741 | daa[15*20+ 3] = 107.17600; daa[15*20+ 4] = 140.76600; daa[15*20+ 5] = 102.88700; |
---|
742 | daa[15*20+ 6] = 70.49390; daa[15*20+ 7] = 134.18200; daa[15*20+ 8] = 74.01690; |
---|
743 | daa[15*20+ 9] = 31.94400; daa[15*20+10] = 34.47390; daa[15*20+11] = 96.71300; |
---|
744 | daa[15*20+12] = 49.39050; daa[15*20+13] = 54.59310; daa[15*20+14] = 161.32800; |
---|
745 | daa[16*20+ 0] = 212.11100; daa[16*20+ 1] = 55.44130; daa[16*20+ 2] = 203.00600; |
---|
746 | daa[16*20+ 3] = 37.48660; daa[16*20+ 4] = 51.29840; daa[16*20+ 5] = 85.79280; |
---|
747 | daa[16*20+ 6] = 82.27650; daa[16*20+ 7] = 22.58330; daa[16*20+ 8] = 47.33070; |
---|
748 | daa[16*20+ 9] = 145.81600; daa[16*20+10] = 32.66220; daa[16*20+11] = 138.69800; |
---|
749 | daa[16*20+12] = 151.61200; daa[16*20+13] = 17.19030; daa[16*20+14] = 79.53840; |
---|
750 | daa[16*20+15] = 437.80200; daa[17*20+ 0] = 11.31330; daa[17*20+ 1] = 116.39200; |
---|
751 | daa[17*20+ 2] = 7.19167; daa[17*20+ 3] = 12.97670; daa[17*20+ 4] = 71.70700; |
---|
752 | daa[17*20+ 5] = 21.57370; daa[17*20+ 6] = 15.65570; daa[17*20+ 7] = 33.69830; |
---|
753 | daa[17*20+ 8] = 26.25690; daa[17*20+ 9] = 21.24830; daa[17*20+10] = 66.53090; |
---|
754 | daa[17*20+11] = 13.75050; daa[17*20+12] = 51.57060; daa[17*20+13] = 152.96400; |
---|
755 | daa[17*20+14] = 13.94050; daa[17*20+15] = 52.37420; daa[17*20+16] = 11.08640; |
---|
756 | daa[18*20+ 0] = 24.07350; daa[18*20+ 1] = 38.15330; daa[18*20+ 2] = 108.60000; |
---|
757 | daa[18*20+ 3] = 32.57110; daa[18*20+ 4] = 54.38330; daa[18*20+ 5] = 22.77100; |
---|
758 | daa[18*20+ 6] = 19.63030; daa[18*20+ 7] = 10.36040; daa[18*20+ 8] = 387.34400; |
---|
759 | daa[18*20+ 9] = 42.01700; daa[18*20+10] = 39.86180; daa[18*20+11] = 13.32640; |
---|
760 | daa[18*20+12] = 42.84370; daa[18*20+13] = 645.42800; daa[18*20+14] = 21.60460; |
---|
761 | daa[18*20+15] = 78.69930; daa[18*20+16] = 29.11480; daa[18*20+17] = 248.53900; |
---|
762 | daa[19*20+ 0] = 200.60100; daa[19*20+ 1] = 25.18490; daa[19*20+ 2] = 19.62460; |
---|
763 | daa[19*20+ 3] = 15.23350; daa[19*20+ 4] = 100.21400; daa[19*20+ 5] = 30.12810; |
---|
764 | daa[19*20+ 6] = 58.87310; daa[19*20+ 7] = 18.72470; daa[19*20+ 8] = 11.83580; |
---|
765 | daa[19*20+ 9] = 782.13000; daa[19*20+10] = 180.03400; daa[19*20+11] = 30.54340; |
---|
766 | daa[19*20+12] = 205.84500; daa[19*20+13] = 64.98920; daa[19*20+14] = 31.48870; |
---|
767 | daa[19*20+15] = 23.27390; daa[19*20+16] = 138.82300; daa[19*20+17] = 36.53690; |
---|
768 | daa[19*20+18] = 31.47300; |
---|
769 | |
---|
770 | f[0] = 0.08700; f[1] = 0.04400; f[2] = 0.03900; f[3] = 0.05700; |
---|
771 | f[4] = 0.01900; f[5] = 0.03700; f[6] = 0.05800; f[7] = 0.08300; |
---|
772 | f[8] = 0.02400; f[9] = 0.04900; f[10] = 0.08600; f[11] = 0.06200; |
---|
773 | f[12] = 0.02000; f[13] = 0.03800; f[14] = 0.04600; f[15] = 0.07000; |
---|
774 | f[16] = 0.06100; f[17] = 0.01400; f[18] = 0.03500; f[19] = 0.07100; |
---|
775 | } |
---|
776 | break; |
---|
777 | case RTREV: |
---|
778 | { |
---|
779 | daa[1*20+0]= 34; daa[2*20+0]= 51; daa[2*20+1]= 35; daa[3*20+0]= 10; |
---|
780 | daa[3*20+1]= 30; daa[3*20+2]= 384; daa[4*20+0]= 439; daa[4*20+1]= 92; |
---|
781 | daa[4*20+2]= 128; daa[4*20+3]= 1; daa[5*20+0]= 32; daa[5*20+1]= 221; |
---|
782 | daa[5*20+2]= 236; daa[5*20+3]= 78; daa[5*20+4]= 70; daa[6*20+0]= 81; |
---|
783 | daa[6*20+1]= 10; daa[6*20+2]= 79; daa[6*20+3]= 542; daa[6*20+4]= 1; |
---|
784 | daa[6*20+5]= 372; daa[7*20+0]= 135; daa[7*20+1]= 41; daa[7*20+2]= 94; |
---|
785 | daa[7*20+3]= 61; daa[7*20+4]= 48; daa[7*20+5]= 18; daa[7*20+6]= 70; |
---|
786 | daa[8*20+0]= 30; daa[8*20+1]= 90; daa[8*20+2]= 320; daa[8*20+3]= 91; |
---|
787 | daa[8*20+4]= 124; daa[8*20+5]= 387; daa[8*20+6]= 34; daa[8*20+7]= 68; |
---|
788 | daa[9*20+0]= 1; daa[9*20+1]= 24; daa[9*20+2]= 35; daa[9*20+3]= 1; |
---|
789 | daa[9*20+4]= 104; daa[9*20+5]= 33; daa[9*20+6]= 1; daa[9*20+7]= 1; |
---|
790 | daa[9*20+8]= 34; daa[10*20+0]= 45; daa[10*20+1]= 18; daa[10*20+2]= 15; |
---|
791 | daa[10*20+3]= 5; daa[10*20+4]= 110; daa[10*20+5]= 54; daa[10*20+6]= 21; |
---|
792 | daa[10*20+7]= 3; daa[10*20+8]= 51; daa[10*20+9]= 385; daa[11*20+0]= 38; |
---|
793 | daa[11*20+1]= 593; daa[11*20+2]= 123; daa[11*20+3]= 20; daa[11*20+4]= 16; |
---|
794 | daa[11*20+5]= 309; daa[11*20+6]= 141; daa[11*20+7]= 30; daa[11*20+8]= 76; |
---|
795 | daa[11*20+9]= 34; daa[11*20+10]= 23; daa[12*20+0]= 235; daa[12*20+1]= 57; |
---|
796 | daa[12*20+2]= 1; daa[12*20+3]= 1; daa[12*20+4]= 156; daa[12*20+5]= 158; |
---|
797 | daa[12*20+6]= 1; daa[12*20+7]= 37; daa[12*20+8]= 116; daa[12*20+9]= 375; |
---|
798 | daa[12*20+10]= 581; daa[12*20+11]= 134; daa[13*20+0]= 1; daa[13*20+1]= 7; |
---|
799 | daa[13*20+2]= 49; daa[13*20+3]= 1; daa[13*20+4]= 70; daa[13*20+5]= 1; |
---|
800 | daa[13*20+6]= 1; daa[13*20+7]= 7; daa[13*20+8]= 141; daa[13*20+9]= 64; |
---|
801 | daa[13*20+10]= 179; daa[13*20+11]= 14; daa[13*20+12]= 247; daa[14*20+0]= 97; |
---|
802 | daa[14*20+1]= 24; daa[14*20+2]= 33; daa[14*20+3]= 55; daa[14*20+4]= 1; |
---|
803 | daa[14*20+5]= 68; daa[14*20+6]= 52; daa[14*20+7]= 17; daa[14*20+8]= 44; |
---|
804 | daa[14*20+9]= 10; daa[14*20+10]= 22; daa[14*20+11]= 43; daa[14*20+12]= 1; |
---|
805 | daa[14*20+13]= 11; daa[15*20+0]= 460; daa[15*20+1]= 102; daa[15*20+2]= 294; |
---|
806 | daa[15*20+3]= 136; daa[15*20+4]= 75; daa[15*20+5]= 225; daa[15*20+6]= 95; |
---|
807 | daa[15*20+7]= 152; daa[15*20+8]= 183; daa[15*20+9]= 4; daa[15*20+10]= 24; |
---|
808 | daa[15*20+11]= 77; daa[15*20+12]= 1; daa[15*20+13]= 20; daa[15*20+14]= 134; |
---|
809 | daa[16*20+0]= 258; daa[16*20+1]= 64; daa[16*20+2]= 148; daa[16*20+3]= 55; |
---|
810 | daa[16*20+4]= 117; daa[16*20+5]= 146; daa[16*20+6]= 82; daa[16*20+7]= 7; |
---|
811 | daa[16*20+8]= 49; daa[16*20+9]= 72; daa[16*20+10]= 25; daa[16*20+11]= 110; |
---|
812 | daa[16*20+12]= 131; daa[16*20+13]= 69; daa[16*20+14]= 62; daa[16*20+15]= 671; |
---|
813 | daa[17*20+0]= 5; daa[17*20+1]= 13; daa[17*20+2]= 16; daa[17*20+3]= 1; |
---|
814 | daa[17*20+4]= 55; daa[17*20+5]= 10; daa[17*20+6]= 17; daa[17*20+7]= 23; |
---|
815 | daa[17*20+8]= 48; daa[17*20+9]= 39; daa[17*20+10]= 47; daa[17*20+11]= 6; |
---|
816 | daa[17*20+12]= 111; daa[17*20+13]= 182; daa[17*20+14]= 9; daa[17*20+15]= 14; |
---|
817 | daa[17*20+16]= 1; daa[18*20+0]= 55; daa[18*20+1]= 47; daa[18*20+2]= 28; |
---|
818 | daa[18*20+3]= 1; daa[18*20+4]= 131; daa[18*20+5]= 45; daa[18*20+6]= 1; |
---|
819 | daa[18*20+7]= 21; daa[18*20+8]= 307; daa[18*20+9]= 26; daa[18*20+10]= 64; |
---|
820 | daa[18*20+11]= 1; daa[18*20+12]= 74; daa[18*20+13]= 1017; daa[18*20+14]= 14; |
---|
821 | daa[18*20+15]= 31; daa[18*20+16]= 34; daa[18*20+17]= 176; daa[19*20+0]= 197; |
---|
822 | daa[19*20+1]= 29; daa[19*20+2]= 21; daa[19*20+3]= 6; daa[19*20+4]= 295; |
---|
823 | daa[19*20+5]= 36; daa[19*20+6]= 35; daa[19*20+7]= 3; daa[19*20+8]= 1; |
---|
824 | daa[19*20+9]= 1048; daa[19*20+10]= 112; daa[19*20+11]= 19; daa[19*20+12]= 236; |
---|
825 | daa[19*20+13]= 92; daa[19*20+14]= 25; daa[19*20+15]= 39; daa[19*20+16]= 196; |
---|
826 | daa[19*20+17]= 26; daa[19*20+18]= 59; |
---|
827 | |
---|
828 | f[0]= 0.0646; f[1]= 0.0453; f[2]= 0.0376; f[3]= 0.0422; |
---|
829 | f[4]= 0.0114; f[5]= 0.0606; f[6]= 0.0607; f[7]= 0.0639; |
---|
830 | f[8]= 0.0273; f[9]= 0.0679; f[10]= 0.1018; f[11]= 0.0751; |
---|
831 | f[12]= 0.015; f[13]= 0.0287; f[14]= 0.0681; f[15]= 0.0488; |
---|
832 | f[16]= 0.0622; f[17]= 0.0251; f[18]= 0.0318; f[19]= 0.0619; |
---|
833 | } |
---|
834 | break; |
---|
835 | case CPREV: |
---|
836 | { |
---|
837 | daa[1*20+0]= 105; daa[2*20+0]= 227; daa[2*20+1]= 357; daa[3*20+0]= 175; |
---|
838 | daa[3*20+1]= 43; daa[3*20+2]= 4435; daa[4*20+0]= 669; daa[4*20+1]= 823; |
---|
839 | daa[4*20+2]= 538; daa[4*20+3]= 10; daa[5*20+0]= 157; daa[5*20+1]= 1745; |
---|
840 | daa[5*20+2]= 768; daa[5*20+3]= 400; daa[5*20+4]= 10; daa[6*20+0]= 499; |
---|
841 | daa[6*20+1]= 152; daa[6*20+2]= 1055; daa[6*20+3]= 3691; daa[6*20+4]= 10; |
---|
842 | daa[6*20+5]= 3122; daa[7*20+0]= 665; daa[7*20+1]= 243; daa[7*20+2]= 653; |
---|
843 | daa[7*20+3]= 431; daa[7*20+4]= 303; daa[7*20+5]= 133; daa[7*20+6]= 379; |
---|
844 | daa[8*20+0]= 66; daa[8*20+1]= 715; daa[8*20+2]= 1405; daa[8*20+3]= 331; |
---|
845 | daa[8*20+4]= 441; daa[8*20+5]= 1269; daa[8*20+6]= 162; daa[8*20+7]= 19; |
---|
846 | daa[9*20+0]= 145; daa[9*20+1]= 136; daa[9*20+2]= 168; daa[9*20+3]= 10; |
---|
847 | daa[9*20+4]= 280; daa[9*20+5]= 92; daa[9*20+6]= 148; daa[9*20+7]= 40; |
---|
848 | daa[9*20+8]= 29; daa[10*20+0]= 197; daa[10*20+1]= 203; daa[10*20+2]= 113; |
---|
849 | daa[10*20+3]= 10; daa[10*20+4]= 396; daa[10*20+5]= 286; daa[10*20+6]= 82; |
---|
850 | daa[10*20+7]= 20; daa[10*20+8]= 66; daa[10*20+9]= 1745; daa[11*20+0]= 236; |
---|
851 | daa[11*20+1]= 4482; daa[11*20+2]= 2430; daa[11*20+3]= 412; daa[11*20+4]= 48; |
---|
852 | daa[11*20+5]= 3313; daa[11*20+6]= 2629; daa[11*20+7]= 263; daa[11*20+8]= 305; |
---|
853 | daa[11*20+9]= 345; daa[11*20+10]= 218; daa[12*20+0]= 185; daa[12*20+1]= 125; |
---|
854 | daa[12*20+2]= 61; daa[12*20+3]= 47; daa[12*20+4]= 159; daa[12*20+5]= 202; |
---|
855 | daa[12*20+6]= 113; daa[12*20+7]= 21; daa[12*20+8]= 10; daa[12*20+9]= 1772; |
---|
856 | daa[12*20+10]= 1351; daa[12*20+11]= 193; daa[13*20+0]= 68; daa[13*20+1]= 53; |
---|
857 | daa[13*20+2]= 97; daa[13*20+3]= 22; daa[13*20+4]= 726; daa[13*20+5]= 10; |
---|
858 | daa[13*20+6]= 145; daa[13*20+7]= 25; daa[13*20+8]= 127; daa[13*20+9]= 454; |
---|
859 | daa[13*20+10]= 1268; daa[13*20+11]= 72; daa[13*20+12]= 327; daa[14*20+0]= 490; |
---|
860 | daa[14*20+1]= 87; daa[14*20+2]= 173; daa[14*20+3]= 170; daa[14*20+4]= 285; |
---|
861 | daa[14*20+5]= 323; daa[14*20+6]= 185; daa[14*20+7]= 28; daa[14*20+8]= 152; |
---|
862 | daa[14*20+9]= 117; daa[14*20+10]= 219; daa[14*20+11]= 302; daa[14*20+12]= 100; |
---|
863 | daa[14*20+13]= 43; daa[15*20+0]= 2440; daa[15*20+1]= 385; daa[15*20+2]= 2085; |
---|
864 | daa[15*20+3]= 590; daa[15*20+4]= 2331; daa[15*20+5]= 396; daa[15*20+6]= 568; |
---|
865 | daa[15*20+7]= 691; daa[15*20+8]= 303; daa[15*20+9]= 216; daa[15*20+10]= 516; |
---|
866 | daa[15*20+11]= 868; daa[15*20+12]= 93; daa[15*20+13]= 487; daa[15*20+14]= 1202; |
---|
867 | daa[16*20+0]= 1340; daa[16*20+1]= 314; daa[16*20+2]= 1393; daa[16*20+3]= 266; |
---|
868 | daa[16*20+4]= 576; daa[16*20+5]= 241; daa[16*20+6]= 369; daa[16*20+7]= 92; |
---|
869 | daa[16*20+8]= 32; daa[16*20+9]= 1040; daa[16*20+10]= 156; daa[16*20+11]= 918; |
---|
870 | daa[16*20+12]= 645; daa[16*20+13]= 148; daa[16*20+14]= 260; daa[16*20+15]= 2151; |
---|
871 | daa[17*20+0]= 14; daa[17*20+1]= 230; daa[17*20+2]= 40; daa[17*20+3]= 18; |
---|
872 | daa[17*20+4]= 435; daa[17*20+5]= 53; daa[17*20+6]= 63; daa[17*20+7]= 82; |
---|
873 | daa[17*20+8]= 69; daa[17*20+9]= 42; daa[17*20+10]= 159; daa[17*20+11]= 10; |
---|
874 | daa[17*20+12]= 86; daa[17*20+13]= 468; daa[17*20+14]= 49; daa[17*20+15]= 73; |
---|
875 | daa[17*20+16]= 29; daa[18*20+0]= 56; daa[18*20+1]= 323; daa[18*20+2]= 754; |
---|
876 | daa[18*20+3]= 281; daa[18*20+4]= 1466; daa[18*20+5]= 391; daa[18*20+6]= 142; |
---|
877 | daa[18*20+7]= 10; daa[18*20+8]= 1971; daa[18*20+9]= 89; daa[18*20+10]= 189; |
---|
878 | daa[18*20+11]= 247; daa[18*20+12]= 215; daa[18*20+13]= 2370; daa[18*20+14]= 97; |
---|
879 | daa[18*20+15]= 522; daa[18*20+16]= 71; daa[18*20+17]= 346; daa[19*20+0]= 968; |
---|
880 | daa[19*20+1]= 92; daa[19*20+2]= 83; daa[19*20+3]= 75; daa[19*20+4]= 592; |
---|
881 | daa[19*20+5]= 54; daa[19*20+6]= 200; daa[19*20+7]= 91; daa[19*20+8]= 25; |
---|
882 | daa[19*20+9]= 4797; daa[19*20+10]= 865; daa[19*20+11]= 249; daa[19*20+12]= 475; |
---|
883 | daa[19*20+13]= 317; daa[19*20+14]= 122; daa[19*20+15]= 167; daa[19*20+16]= 760; |
---|
884 | daa[19*20+17]= 10; daa[19*20+18]= 119; |
---|
885 | |
---|
886 | f[0]= 0.076; f[1]= 0.062; f[2]= 0.041; f[3]= 0.037; |
---|
887 | f[4]= 0.009; f[5]= 0.038; f[6]= 0.049; f[7]= 0.084; |
---|
888 | f[8]= 0.025; f[9]= 0.081; f[10]= 0.101; f[11]= 0.05; |
---|
889 | f[12]= 0.022; f[13]= 0.051; f[14]= 0.043; f[15]= 0.062; |
---|
890 | f[16]= 0.054; f[17]= 0.018; f[18]= 0.031; f[19]= 0.066; |
---|
891 | } |
---|
892 | break; |
---|
893 | case VT: |
---|
894 | { |
---|
895 | /* |
---|
896 | daa[1*20+0]= 0.233108; daa[2*20+0]= 0.199097; daa[2*20+1]= 0.210797; daa[3*20+0]= 0.265145; |
---|
897 | daa[3*20+1]= 0.105191; daa[3*20+2]= 0.883422; daa[4*20+0]= 0.227333; daa[4*20+1]= 0.031726; |
---|
898 | daa[4*20+2]= 0.027495; daa[4*20+3]= 0.010313; daa[5*20+0]= 0.310084; daa[5*20+1]= 0.493763; |
---|
899 | daa[5*20+2]= 0.2757; daa[5*20+3]= 0.205842; daa[5*20+4]= 0.004315; daa[6*20+0]= 0.567957; |
---|
900 | daa[6*20+1]= 0.25524; daa[6*20+2]= 0.270417; daa[6*20+3]= 1.599461; daa[6*20+4]= 0.005321; |
---|
901 | daa[6*20+5]= 0.960976; daa[7*20+0]= 0.876213; daa[7*20+1]= 0.156945; daa[7*20+2]= 0.362028; |
---|
902 | daa[7*20+3]= 0.311718; daa[7*20+4]= 0.050876; daa[7*20+5]= 0.12866; daa[7*20+6]= 0.250447; |
---|
903 | daa[8*20+0]= 0.078692; daa[8*20+1]= 0.213164; daa[8*20+2]= 0.290006; daa[8*20+3]= 0.134252; |
---|
904 | daa[8*20+4]= 0.016695; daa[8*20+5]= 0.315521; daa[8*20+6]= 0.104458; daa[8*20+7]= 0.058131; |
---|
905 | daa[9*20+0]= 0.222972; daa[9*20+1]= 0.08151; daa[9*20+2]= 0.087225; daa[9*20+3]= 0.01172; |
---|
906 | daa[9*20+4]= 0.046398; daa[9*20+5]= 0.054602; daa[9*20+6]= 0.046589; daa[9*20+7]= 0.051089; |
---|
907 | daa[9*20+8]= 0.020039; daa[10*20+0]= 0.42463; daa[10*20+1]= 0.192364; daa[10*20+2]= 0.069245; |
---|
908 | daa[10*20+3]= 0.060863; daa[10*20+4]= 0.091709; daa[10*20+5]= 0.24353; daa[10*20+6]= 0.151924; |
---|
909 | daa[10*20+7]= 0.087056; daa[10*20+8]= 0.103552; daa[10*20+9]= 2.08989; daa[11*20+0]= 0.393245; |
---|
910 | daa[11*20+1]= 1.755838; daa[11*20+2]= 0.50306; daa[11*20+3]= 0.261101; daa[11*20+4]= 0.004067; |
---|
911 | daa[11*20+5]= 0.738208; daa[11*20+6]= 0.88863; daa[11*20+7]= 0.193243; daa[11*20+8]= 0.153323; |
---|
912 | daa[11*20+9]= 0.093181; daa[11*20+10]= 0.201204; daa[12*20+0]= 0.21155; daa[12*20+1]= 0.08793; |
---|
913 | daa[12*20+2]= 0.05742; daa[12*20+3]= 0.012182; daa[12*20+4]= 0.02369; daa[12*20+5]= 0.120801; |
---|
914 | daa[12*20+6]= 0.058643; daa[12*20+7]= 0.04656; daa[12*20+8]= 0.021157; daa[12*20+9]= 0.493845; |
---|
915 | daa[12*20+10]= 1.105667; daa[12*20+11]= 0.096474; daa[13*20+0]= 0.116646; daa[13*20+1]= 0.042569; |
---|
916 | daa[13*20+2]= 0.039769; daa[13*20+3]= 0.016577; daa[13*20+4]= 0.051127; daa[13*20+5]= 0.026235; |
---|
917 | daa[13*20+6]= 0.028168; daa[13*20+7]= 0.050143; daa[13*20+8]= 0.079807; daa[13*20+9]= 0.32102; |
---|
918 | daa[13*20+10]= 0.946499; daa[13*20+11]= 0.038261; daa[13*20+12]= 0.173052; daa[14*20+0]= 0.399143; |
---|
919 | daa[14*20+1]= 0.12848; daa[14*20+2]= 0.083956; daa[14*20+3]= 0.160063; daa[14*20+4]= 0.011137; |
---|
920 | daa[14*20+5]= 0.15657; daa[14*20+6]= 0.205134; daa[14*20+7]= 0.124492; daa[14*20+8]= 0.078892; |
---|
921 | daa[14*20+9]= 0.054797; daa[14*20+10]= 0.169784; daa[14*20+11]= 0.212302; daa[14*20+12]= 0.010363; |
---|
922 | daa[14*20+13]= 0.042564; daa[15*20+0]= 1.817198; daa[15*20+1]= 0.292327; daa[15*20+2]= 0.847049; |
---|
923 | daa[15*20+3]= 0.461519; daa[15*20+4]= 0.17527; daa[15*20+5]= 0.358017; daa[15*20+6]= 0.406035; |
---|
924 | daa[15*20+7]= 0.612843; daa[15*20+8]= 0.167406; daa[15*20+9]= 0.081567; daa[15*20+10]= 0.214977; |
---|
925 | daa[15*20+11]= 0.400072; daa[15*20+12]= 0.090515; daa[15*20+13]= 0.138119; daa[15*20+14]= 0.430431; |
---|
926 | daa[16*20+0]= 0.877877; daa[16*20+1]= 0.204109; daa[16*20+2]= 0.471268; daa[16*20+3]= 0.178197; |
---|
927 | daa[16*20+4]= 0.079511; daa[16*20+5]= 0.248992; daa[16*20+6]= 0.321028; daa[16*20+7]= 0.136266; |
---|
928 | daa[16*20+8]= 0.101117; daa[16*20+9]= 0.376588; daa[16*20+10]= 0.243227; daa[16*20+11]= 0.446646; |
---|
929 | daa[16*20+12]= 0.184609; daa[16*20+13]= 0.08587; daa[16*20+14]= 0.207143; daa[16*20+15]= 1.767766; |
---|
930 | daa[17*20+0]= 0.030309; daa[17*20+1]= 0.046417; daa[17*20+2]= 0.010459; daa[17*20+3]= 0.011393; |
---|
931 | daa[17*20+4]= 0.007732; daa[17*20+5]= 0.021248; daa[17*20+6]= 0.018844; daa[17*20+7]= 0.02399; |
---|
932 | daa[17*20+8]= 0.020009; daa[17*20+9]= 0.034954; daa[17*20+10]= 0.083439; daa[17*20+11]= 0.023321; |
---|
933 | daa[17*20+12]= 0.022019; daa[17*20+13]= 0.12805; daa[17*20+14]= 0.014584; daa[17*20+15]= 0.035933; |
---|
934 | daa[17*20+16]= 0.020437; daa[18*20+0]= 0.087061; daa[18*20+1]= 0.09701; daa[18*20+2]= 0.093268; |
---|
935 | daa[18*20+3]= 0.051664; daa[18*20+4]= 0.042823; daa[18*20+5]= 0.062544; daa[18*20+6]= 0.0552; |
---|
936 | daa[18*20+7]= 0.037568; daa[18*20+8]= 0.286027; daa[18*20+9]= 0.086237; daa[18*20+10]= 0.189842; |
---|
937 | daa[18*20+11]= 0.068689; daa[18*20+12]= 0.073223; daa[18*20+13]= 0.898663; daa[18*20+14]= 0.032043; |
---|
938 | daa[18*20+15]= 0.121979; daa[18*20+16]= 0.094617; daa[18*20+17]= 0.124746; daa[19*20+0]= 1.230985; |
---|
939 | daa[19*20+1]= 0.113146; daa[19*20+2]= 0.049824; daa[19*20+3]= 0.048769; daa[19*20+4]= 0.163831; |
---|
940 | daa[19*20+5]= 0.112027; daa[19*20+6]= 0.205868; daa[19*20+7]= 0.082579; daa[19*20+8]= 0.068575; |
---|
941 | daa[19*20+9]= 3.65443; daa[19*20+10]= 1.337571; daa[19*20+11]= 0.144587; daa[19*20+12]= 0.307309; |
---|
942 | daa[19*20+13]= 0.247329; daa[19*20+14]= 0.129315; daa[19*20+15]= 0.1277; daa[19*20+16]= 0.740372; |
---|
943 | daa[19*20+17]= 0.022134; daa[19*20+18]= 0.125733; |
---|
944 | |
---|
945 | f[0] = 0.07900; f[1]= 0.05100; f[2] = 0.04200; f[3]= 0.05300; |
---|
946 | f[4] = 0.01500; f[5]= 0.03700; f[6] = 0.06200; f[7]= 0.07100; |
---|
947 | f[8] = 0.02300; f[9]= 0.06200; f[10] = 0.09600; f[11]= 0.05700; |
---|
948 | f[12] = 0.02400; f[13]= 0.04300; f[14] = 0.04400; f[15]= 0.06400; |
---|
949 | f[16] = 0.05600; f[17]= 0.01300; f[18] = 0.03500; f[19]= 0.07300; |
---|
950 | */ |
---|
951 | |
---|
952 | daa[1*20+0]= 1.2412691067876198; |
---|
953 | daa[2*20+0]= 1.2184237953498958; |
---|
954 | daa[2*20+1]= 1.5720770753326880; |
---|
955 | daa[3*20+0]= 1.3759368509441177; |
---|
956 | daa[3*20+1]= 0.7550654439001206; |
---|
957 | daa[3*20+2]= 7.8584219153689405; |
---|
958 | daa[4*20+0]= 2.4731223087544874; |
---|
959 | daa[4*20+1]= 1.4414262567428417; |
---|
960 | daa[4*20+2]= 0.9784679122774127; |
---|
961 | daa[4*20+3]= 0.2272488448121475; |
---|
962 | daa[5*20+0]= 2.2155167805137470; |
---|
963 | daa[5*20+1]= 5.5120819705248678; |
---|
964 | daa[5*20+2]= 3.0143201670924822; |
---|
965 | daa[5*20+3]= 1.6562495638176040; |
---|
966 | daa[5*20+4]= 0.4587469126746136; |
---|
967 | daa[6*20+0]= 2.3379911207495061; |
---|
968 | daa[6*20+1]= 1.3542404860613146; |
---|
969 | daa[6*20+2]= 2.0093434778398112; |
---|
970 | daa[6*20+3]= 9.6883451875685065; |
---|
971 | daa[6*20+4]= 0.4519167943192672; |
---|
972 | daa[6*20+5]= 6.8124601839937675; |
---|
973 | daa[7*20+0]= 3.3386555146457697; |
---|
974 | daa[7*20+1]= 1.3121700301622004; |
---|
975 | daa[7*20+2]= 2.4117632898861809; |
---|
976 | daa[7*20+3]= 1.9142079025990228; |
---|
977 | daa[7*20+4]= 1.1034605684472507; |
---|
978 | daa[7*20+5]= 0.8776110594765502; |
---|
979 | daa[7*20+6]= 1.3860121390169038; |
---|
980 | daa[8*20+0]= 0.9615841926910841; |
---|
981 | daa[8*20+1]= 4.9238668283945266; |
---|
982 | daa[8*20+2]= 6.1974384977884114; |
---|
983 | daa[8*20+3]= 2.1459640610133781; |
---|
984 | daa[8*20+4]= 1.5196756759380692; |
---|
985 | daa[8*20+5]= 7.9943228564946525; |
---|
986 | daa[8*20+6]= 1.6360079688522375; |
---|
987 | daa[8*20+7]= 0.8561248973045037; |
---|
988 | daa[9*20+0]= 0.8908203061925510; |
---|
989 | daa[9*20+1]= 0.4323005487925516; |
---|
990 | daa[9*20+2]= 0.9179291175331520; |
---|
991 | daa[9*20+3]= 0.2161660372725585; |
---|
992 | daa[9*20+4]= 0.9126668032539315; |
---|
993 | daa[9*20+5]= 0.4882733432879921; |
---|
994 | daa[9*20+6]= 0.4035497929633328; |
---|
995 | daa[9*20+7]= 0.2888075033037488; |
---|
996 | daa[9*20+8]= 0.5787937115407940; |
---|
997 | daa[10*20+0]= 1.0778497408764076; |
---|
998 | daa[10*20+1]= 0.8386701149158265; |
---|
999 | daa[10*20+2]= 0.4098311270816011; |
---|
1000 | daa[10*20+3]= 0.3574207468998517; |
---|
1001 | daa[10*20+4]= 1.4081315998413697; |
---|
1002 | daa[10*20+5]= 1.3318097154194044; |
---|
1003 | daa[10*20+6]= 0.5610717242294755; |
---|
1004 | daa[10*20+7]= 0.3578662395745526; |
---|
1005 | daa[10*20+8]= 1.0765007949562073; |
---|
1006 | daa[10*20+9]= 6.0019110258426362; |
---|
1007 | daa[11*20+0]= 1.4932055816372476; |
---|
1008 | daa[11*20+1]= 10.017330817366002; |
---|
1009 | daa[11*20+2]= 4.4034547578962568; |
---|
1010 | daa[11*20+3]= 1.4521790561663968; |
---|
1011 | daa[11*20+4]= 0.3371091785647479; |
---|
1012 | daa[11*20+5]= 6.0519085243118811; |
---|
1013 | daa[11*20+6]= 4.3290086529582830; |
---|
1014 | daa[11*20+7]= 0.8945563662345198; |
---|
1015 | daa[11*20+8]= 1.8085136096039203; |
---|
1016 | daa[11*20+9]= 0.6244297525127139; |
---|
1017 | daa[11*20+10]= 0.5642322882556321; |
---|
1018 | daa[12*20+0]= 1.9006455961717605; |
---|
1019 | daa[12*20+1]= 1.2488638689609959; |
---|
1020 | daa[12*20+2]= 0.9378803706165143; |
---|
1021 | daa[12*20+3]= 0.4075239926000898; |
---|
1022 | daa[12*20+4]= 1.2213054800811556; |
---|
1023 | daa[12*20+5]= 1.9106190827629084; |
---|
1024 | daa[12*20+6]= 0.7471936218068498; |
---|
1025 | daa[12*20+7]= 0.5954812791740037; |
---|
1026 | daa[12*20+8]= 1.3808291710019667; |
---|
1027 | daa[12*20+9]= 6.7597899772045418; |
---|
1028 | daa[12*20+10]= 8.0327792947421148; |
---|
1029 | daa[12*20+11]= 1.7129670976916258; |
---|
1030 | daa[13*20+0]= 0.6883439026872615; |
---|
1031 | daa[13*20+1]= 0.4224945197276290; |
---|
1032 | daa[13*20+2]= 0.5044944273324311; |
---|
1033 | daa[13*20+3]= 0.1675129724559251; |
---|
1034 | daa[13*20+4]= 1.6953951980808002; |
---|
1035 | daa[13*20+5]= 0.3573432522499545; |
---|
1036 | daa[13*20+6]= 0.2317194387691585; |
---|
1037 | daa[13*20+7]= 0.3693722640980460; |
---|
1038 | daa[13*20+8]= 1.3629765501081097; |
---|
1039 | daa[13*20+9]= 2.2864286949316077; |
---|
1040 | daa[13*20+10]= 4.3611548063555778; |
---|
1041 | daa[13*20+11]= 0.3910559903834828; |
---|
1042 | daa[13*20+12]= 2.3201373546296349; |
---|
1043 | daa[14*20+0]= 2.7355620089953550; |
---|
1044 | daa[14*20+1]= 1.3091837782420783; |
---|
1045 | daa[14*20+2]= 0.7103720531974738; |
---|
1046 | daa[14*20+3]= 1.0714605979577547; |
---|
1047 | daa[14*20+4]= 0.4326227078645523; |
---|
1048 | daa[14*20+5]= 2.3019177728300728; |
---|
1049 | daa[14*20+6]= 1.5132807416252063; |
---|
1050 | daa[14*20+7]= 0.7744933618134962; |
---|
1051 | daa[14*20+8]= 1.8370555852070649; |
---|
1052 | daa[14*20+9]= 0.4811402387911145; |
---|
1053 | daa[14*20+10]= 1.0084320519837335; |
---|
1054 | daa[14*20+11]= 1.3918935593582853; |
---|
1055 | daa[14*20+12]= 0.4953193808676289; |
---|
1056 | daa[14*20+13]= 0.3746821107962129; |
---|
1057 | daa[15*20+0]= 6.4208961859142883; |
---|
1058 | daa[15*20+1]= 1.9202994262316166; |
---|
1059 | daa[15*20+2]= 6.1234512396801764; |
---|
1060 | daa[15*20+3]= 2.2161944596741829; |
---|
1061 | daa[15*20+4]= 3.6366815408744255; |
---|
1062 | daa[15*20+5]= 2.3193703643237220; |
---|
1063 | daa[15*20+6]= 1.8273535587773553; |
---|
1064 | daa[15*20+7]= 3.0637776193717610; |
---|
1065 | daa[15*20+8]= 1.9699895187387506; |
---|
1066 | daa[15*20+9]= 0.6047491507504744; |
---|
1067 | daa[15*20+10]= 0.8953754669269811; |
---|
1068 | daa[15*20+11]= 1.9776630140912268; |
---|
1069 | daa[15*20+12]= 1.0657482318076852; |
---|
1070 | daa[15*20+13]= 1.1079144700606407; |
---|
1071 | daa[15*20+14]= 3.5465914843628927; |
---|
1072 | daa[16*20+0]= 5.2892514169776437; |
---|
1073 | daa[16*20+1]= 1.3363401740560601; |
---|
1074 | daa[16*20+2]= 3.8852506105922231; |
---|
1075 | daa[16*20+3]= 1.5066839872944762; |
---|
1076 | daa[16*20+4]= 1.7557065205837685; |
---|
1077 | daa[16*20+5]= 2.1576510103471440; |
---|
1078 | daa[16*20+6]= 1.5839981708584689; |
---|
1079 | daa[16*20+7]= 0.7147489676267383; |
---|
1080 | daa[16*20+8]= 1.6136654573285647; |
---|
1081 | daa[16*20+9]= 2.6344778384442731; |
---|
1082 | daa[16*20+10]= 1.0192004372506540; |
---|
1083 | daa[16*20+11]= 2.5513781312660280; |
---|
1084 | daa[16*20+12]= 3.3628488360462363; |
---|
1085 | daa[16*20+13]= 0.6882725908872254; |
---|
1086 | daa[16*20+14]= 1.9485376673137556; |
---|
1087 | daa[16*20+15]= 8.8479984061248178; |
---|
1088 | daa[17*20+0]= 0.5488578478106930; |
---|
1089 | daa[17*20+1]= 1.5170142153962840; |
---|
1090 | daa[17*20+2]= 0.1808525752605976; |
---|
1091 | daa[17*20+3]= 0.2496584188151770; |
---|
1092 | daa[17*20+4]= 1.6275179891253113; |
---|
1093 | daa[17*20+5]= 0.8959082681546182; |
---|
1094 | daa[17*20+6]= 0.4198391148111098; |
---|
1095 | daa[17*20+7]= 0.9349753595598769; |
---|
1096 | daa[17*20+8]= 0.6301954684360302; |
---|
1097 | daa[17*20+9]= 0.5604648274060783; |
---|
1098 | daa[17*20+10]= 1.5183114434679339; |
---|
1099 | daa[17*20+11]= 0.5851920879490173; |
---|
1100 | daa[17*20+12]= 1.4680478689711018; |
---|
1101 | daa[17*20+13]= 3.3448437239772266; |
---|
1102 | daa[17*20+14]= 0.4326058001438786; |
---|
1103 | daa[17*20+15]= 0.6791126595939816; |
---|
1104 | daa[17*20+16]= 0.4514203099376473; |
---|
1105 | daa[18*20+0]= 0.5411769916657778; |
---|
1106 | daa[18*20+1]= 0.8912614404565405; |
---|
1107 | daa[18*20+2]= 1.0894926581511342; |
---|
1108 | daa[18*20+3]= 0.7447620891784513; |
---|
1109 | daa[18*20+4]= 2.1579775140421025; |
---|
1110 | daa[18*20+5]= 0.9183596801412757; |
---|
1111 | daa[18*20+6]= 0.5818111331782764; |
---|
1112 | daa[18*20+7]= 0.3374467649724478; |
---|
1113 | daa[18*20+8]= 7.7587442309146040; |
---|
1114 | daa[18*20+9]= 0.8626796044156272; |
---|
1115 | daa[18*20+10]= 1.2452243224541324; |
---|
1116 | daa[18*20+11]= 0.7835447533710449; |
---|
1117 | daa[18*20+12]= 1.0899165770956820; |
---|
1118 | daa[18*20+13]= 10.384852333133459; |
---|
1119 | daa[18*20+14]= 0.4819109019647465; |
---|
1120 | daa[18*20+15]= 0.9547229305958682; |
---|
1121 | daa[18*20+16]= 0.8564314184691215; |
---|
1122 | daa[18*20+17]= 4.5377235790405388; |
---|
1123 | daa[19*20+0]= 4.6501894691803214; |
---|
1124 | daa[19*20+1]= 0.7807017855806767; |
---|
1125 | daa[19*20+2]= 0.4586061981719967; |
---|
1126 | daa[19*20+3]= 0.4594535241660911; |
---|
1127 | daa[19*20+4]= 2.2627456996290891; |
---|
1128 | daa[19*20+5]= 0.6366932501396869; |
---|
1129 | daa[19*20+6]= 0.8940572875547330; |
---|
1130 | daa[19*20+7]= 0.6193321034173915; |
---|
1131 | daa[19*20+8]= 0.5333220944030346; |
---|
1132 | daa[19*20+9]= 14.872933461519061; |
---|
1133 | daa[19*20+10]= 3.5458093276667237; |
---|
1134 | daa[19*20+11]= 0.7801080335991272; |
---|
1135 | daa[19*20+12]= 4.0584577156753401; |
---|
1136 | daa[19*20+13]= 1.7039730522675411; |
---|
1137 | daa[19*20+14]= 0.5985498912985666; |
---|
1138 | daa[19*20+15]= 0.9305232113028208; |
---|
1139 | daa[19*20+16]= 3.4242218450865543; |
---|
1140 | daa[19*20+17]= 0.5658969249032649; |
---|
1141 | daa[19*20+18]= 1.0000000000000000; |
---|
1142 | |
---|
1143 | f[0]= 0.0770764620135024; |
---|
1144 | f[1]= 0.0500819370772208; |
---|
1145 | f[2]= 0.0462377395993731; |
---|
1146 | f[3]= 0.0537929860758246; |
---|
1147 | f[4]= 0.0144533387583345; |
---|
1148 | f[5]= 0.0408923608974345; |
---|
1149 | f[6]= 0.0633579339160905; |
---|
1150 | f[7]= 0.0655672355884439; |
---|
1151 | f[8]= 0.0218802687005936; |
---|
1152 | f[9]= 0.0591969699027449; |
---|
1153 | f[10]= 0.0976461276528445; |
---|
1154 | f[11]= 0.0592079410822730; |
---|
1155 | f[12]= 0.0220695876653368; |
---|
1156 | f[13]= 0.0413508521834260; |
---|
1157 | f[14]= 0.0476871596856874; |
---|
1158 | f[15]= 0.0707295165111524; |
---|
1159 | f[16]= 0.0567759161524817; |
---|
1160 | f[17]= 0.0127019797647213; |
---|
1161 | f[18]= 0.0323746050281867; |
---|
1162 | f[19]= 0.0669190817443274; |
---|
1163 | } |
---|
1164 | break; |
---|
1165 | case BLOSUM62: |
---|
1166 | { |
---|
1167 | daa[1*20+0]= 0.735790389698; daa[2*20+0]= 0.485391055466; daa[2*20+1]= 1.297446705134; |
---|
1168 | daa[3*20+0]= 0.543161820899; |
---|
1169 | daa[3*20+1]= 0.500964408555; daa[3*20+2]= 3.180100048216; daa[4*20+0]= 1.45999531047; |
---|
1170 | daa[4*20+1]= 0.227826574209; |
---|
1171 | daa[4*20+2]= 0.397358949897; daa[4*20+3]= 0.240836614802; daa[5*20+0]= 1.199705704602; |
---|
1172 | daa[5*20+1]= 3.020833610064; |
---|
1173 | daa[5*20+2]= 1.839216146992; daa[5*20+3]= 1.190945703396; daa[5*20+4]= 0.32980150463; |
---|
1174 | daa[6*20+0]= 1.1709490428; |
---|
1175 | daa[6*20+1]= 1.36057419042; daa[6*20+2]= 1.24048850864; daa[6*20+3]= 3.761625208368; |
---|
1176 | daa[6*20+4]= 0.140748891814; |
---|
1177 | daa[6*20+5]= 5.528919177928; daa[7*20+0]= 1.95588357496; daa[7*20+1]= 0.418763308518; |
---|
1178 | daa[7*20+2]= 1.355872344485; |
---|
1179 | daa[7*20+3]= 0.798473248968; daa[7*20+4]= 0.418203192284; daa[7*20+5]= 0.609846305383; |
---|
1180 | daa[7*20+6]= 0.423579992176; |
---|
1181 | daa[8*20+0]= 0.716241444998; daa[8*20+1]= 1.456141166336; daa[8*20+2]= 2.414501434208; |
---|
1182 | daa[8*20+3]= 0.778142664022; |
---|
1183 | daa[8*20+4]= 0.354058109831; daa[8*20+5]= 2.43534113114; daa[8*20+6]= 1.626891056982; |
---|
1184 | daa[8*20+7]= 0.539859124954; |
---|
1185 | daa[9*20+0]= 0.605899003687; daa[9*20+1]= 0.232036445142; daa[9*20+2]= 0.283017326278; |
---|
1186 | daa[9*20+3]= 0.418555732462; |
---|
1187 | daa[9*20+4]= 0.774894022794; daa[9*20+5]= 0.236202451204; daa[9*20+6]= 0.186848046932; |
---|
1188 | daa[9*20+7]= 0.189296292376; |
---|
1189 | daa[9*20+8]= 0.252718447885; daa[10*20+0]= 0.800016530518; daa[10*20+1]= 0.622711669692; |
---|
1190 | daa[10*20+2]= 0.211888159615; |
---|
1191 | daa[10*20+3]= 0.218131577594; daa[10*20+4]= 0.831842640142; daa[10*20+5]= 0.580737093181; |
---|
1192 | daa[10*20+6]= 0.372625175087; |
---|
1193 | daa[10*20+7]= 0.217721159236; daa[10*20+8]= 0.348072209797; daa[10*20+9]= 3.890963773304; |
---|
1194 | daa[11*20+0]= 1.295201266783; |
---|
1195 | daa[11*20+1]= 5.411115141489; daa[11*20+2]= 1.593137043457; daa[11*20+3]= 1.032447924952; |
---|
1196 | daa[11*20+4]= 0.285078800906; |
---|
1197 | daa[11*20+5]= 3.945277674515; daa[11*20+6]= 2.802427151679; daa[11*20+7]= 0.752042440303; |
---|
1198 | daa[11*20+8]= 1.022507035889; |
---|
1199 | daa[11*20+9]= 0.406193586642; daa[11*20+10]= 0.445570274261;daa[12*20+0]= 1.253758266664; |
---|
1200 | daa[12*20+1]= 0.983692987457; |
---|
1201 | daa[12*20+2]= 0.648441278787; daa[12*20+3]= 0.222621897958; daa[12*20+4]= 0.76768882348; |
---|
1202 | daa[12*20+5]= 2.494896077113; |
---|
1203 | daa[12*20+6]= 0.55541539747; daa[12*20+7]= 0.459436173579; daa[12*20+8]= 0.984311525359; |
---|
1204 | daa[12*20+9]= 3.364797763104; |
---|
1205 | daa[12*20+10]= 6.030559379572;daa[12*20+11]= 1.073061184332;daa[13*20+0]= 0.492964679748; |
---|
1206 | daa[13*20+1]= 0.371644693209; |
---|
1207 | daa[13*20+2]= 0.354861249223; daa[13*20+3]= 0.281730694207; daa[13*20+4]= 0.441337471187; |
---|
1208 | daa[13*20+5]= 0.14435695975; |
---|
1209 | daa[13*20+6]= 0.291409084165; daa[13*20+7]= 0.368166464453; daa[13*20+8]= 0.714533703928; |
---|
1210 | daa[13*20+9]= 1.517359325954; |
---|
1211 | daa[13*20+10]= 2.064839703237;daa[13*20+11]= 0.266924750511;daa[13*20+12]= 1.77385516883; |
---|
1212 | daa[14*20+0]= 1.173275900924; |
---|
1213 | daa[14*20+1]= 0.448133661718; daa[14*20+2]= 0.494887043702; daa[14*20+3]= 0.730628272998; |
---|
1214 | daa[14*20+4]= 0.356008498769; |
---|
1215 | daa[14*20+5]= 0.858570575674; daa[14*20+6]= 0.926563934846; daa[14*20+7]= 0.504086599527; daa[14*20+8]= 0.527007339151; |
---|
1216 | daa[14*20+9]= 0.388355409206; daa[14*20+10]= 0.374555687471;daa[14*20+11]= 1.047383450722;daa[14*20+12]= 0.454123625103; |
---|
1217 | daa[14*20+13]= 0.233597909629;daa[15*20+0]= 4.325092687057; daa[15*20+1]= 1.12278310421; daa[15*20+2]= 2.904101656456; |
---|
1218 | daa[15*20+3]= 1.582754142065; daa[15*20+4]= 1.197188415094; daa[15*20+5]= 1.934870924596; daa[15*20+6]= 1.769893238937; |
---|
1219 | daa[15*20+7]= 1.509326253224; daa[15*20+8]= 1.11702976291; daa[15*20+9]= 0.35754441246; daa[15*20+10]= 0.352969184527; |
---|
1220 | daa[15*20+11]= 1.752165917819;daa[15*20+12]= 0.918723415746;daa[15*20+13]= 0.540027644824;daa[15*20+14]= 1.169129577716; |
---|
1221 | daa[16*20+0]= 1.729178019485; daa[16*20+1]= 0.914665954563; daa[16*20+2]= 1.898173634533; daa[16*20+3]= 0.934187509431; |
---|
1222 | daa[16*20+4]= 1.119831358516; daa[16*20+5]= 1.277480294596; daa[16*20+6]= 1.071097236007; daa[16*20+7]= 0.641436011405; |
---|
1223 | daa[16*20+8]= 0.585407090225; daa[16*20+9]= 1.17909119726; daa[16*20+10]= 0.915259857694;daa[16*20+11]= 1.303875200799; |
---|
1224 | daa[16*20+12]= 1.488548053722;daa[16*20+13]= 0.488206118793;daa[16*20+14]= 1.005451683149;daa[16*20+15]= 5.15155629227; |
---|
1225 | daa[17*20+0]= 0.465839367725; daa[17*20+1]= 0.426382310122; daa[17*20+2]= 0.191482046247; daa[17*20+3]= 0.145345046279; |
---|
1226 | daa[17*20+4]= 0.527664418872; daa[17*20+5]= 0.758653808642; daa[17*20+6]= 0.407635648938; daa[17*20+7]= 0.508358924638; |
---|
1227 | daa[17*20+8]= 0.30124860078; daa[17*20+9]= 0.34198578754; daa[17*20+10]= 0.6914746346; daa[17*20+11]= 0.332243040634; |
---|
1228 | daa[17*20+12]= 0.888101098152;daa[17*20+13]= 2.074324893497;daa[17*20+14]= 0.252214830027;daa[17*20+15]= 0.387925622098; |
---|
1229 | daa[17*20+16]= 0.513128126891;daa[18*20+0]= 0.718206697586; daa[18*20+1]= 0.720517441216; daa[18*20+2]= 0.538222519037; |
---|
1230 | daa[18*20+3]= 0.261422208965; daa[18*20+4]= 0.470237733696; daa[18*20+5]= 0.95898974285; daa[18*20+6]= 0.596719300346; |
---|
1231 | daa[18*20+7]= 0.308055737035; daa[18*20+8]= 4.218953969389; daa[18*20+9]= 0.674617093228; daa[18*20+10]= 0.811245856323; |
---|
1232 | daa[18*20+11]= 0.7179934869; daa[18*20+12]= 0.951682162246;daa[18*20+13]= 6.747260430801;daa[18*20+14]= 0.369405319355; |
---|
1233 | daa[18*20+15]= 0.796751520761;daa[18*20+16]= 0.801010243199;daa[18*20+17]= 4.054419006558;daa[19*20+0]= 2.187774522005; |
---|
1234 | daa[19*20+1]= 0.438388343772; daa[19*20+2]= 0.312858797993; daa[19*20+3]= 0.258129289418; daa[19*20+4]= 1.116352478606; |
---|
1235 | daa[19*20+5]= 0.530785790125; daa[19*20+6]= 0.524253846338; daa[19*20+7]= 0.25334079019; daa[19*20+8]= 0.20155597175; |
---|
1236 | daa[19*20+9]= 8.311839405458; daa[19*20+10]= 2.231405688913;daa[19*20+11]= 0.498138475304;daa[19*20+12]= 2.575850755315; |
---|
1237 | daa[19*20+13]= 0.838119610178;daa[19*20+14]= 0.496908410676;daa[19*20+15]= 0.561925457442;daa[19*20+16]= 2.253074051176; |
---|
1238 | daa[19*20+17]= 0.266508731426;daa[19*20+18]= 1; |
---|
1239 | |
---|
1240 | f[0]= 0.074; f[1]= 0.052; f[2]= 0.045; f[3]= 0.054; |
---|
1241 | f[4]= 0.025; f[5]= 0.034; f[6]= 0.054; f[7]= 0.074; |
---|
1242 | f[8]= 0.026; f[9]= 0.068; f[10]= 0.099; f[11]= 0.058; |
---|
1243 | f[12]= 0.025; f[13]= 0.047; f[14]= 0.039; f[15]= 0.057; |
---|
1244 | f[16]= 0.051; f[17]= 0.013; f[18]= 0.032; f[19]= 0.073; |
---|
1245 | } |
---|
1246 | break; |
---|
1247 | case MTMAM: |
---|
1248 | { |
---|
1249 | daa[1*20+0]= 32; daa[2*20+0]= 2; daa[2*20+1]= 4; daa[3*20+0]= 11; |
---|
1250 | daa[3*20+1]= 0; daa[3*20+2]= 864; daa[4*20+0]= 0; daa[4*20+1]= 186; |
---|
1251 | daa[4*20+2]= 0; daa[4*20+3]= 0; daa[5*20+0]= 0; daa[5*20+1]= 246; |
---|
1252 | daa[5*20+2]= 8; daa[5*20+3]= 49; daa[5*20+4]= 0; daa[6*20+0]= 0; |
---|
1253 | daa[6*20+1]= 0; daa[6*20+2]= 0; daa[6*20+3]= 569; daa[6*20+4]= 0; |
---|
1254 | daa[6*20+5]= 274; daa[7*20+0]= 78; daa[7*20+1]= 18; daa[7*20+2]= 47; |
---|
1255 | daa[7*20+3]= 79; daa[7*20+4]= 0; daa[7*20+5]= 0; daa[7*20+6]= 22; |
---|
1256 | daa[8*20+0]= 8; daa[8*20+1]= 232; daa[8*20+2]= 458; daa[8*20+3]= 11; |
---|
1257 | daa[8*20+4]= 305; daa[8*20+5]= 550; daa[8*20+6]= 22; daa[8*20+7]= 0; |
---|
1258 | daa[9*20+0]= 75; daa[9*20+1]= 0; daa[9*20+2]= 19; daa[9*20+3]= 0; |
---|
1259 | daa[9*20+4]= 41; daa[9*20+5]= 0; daa[9*20+6]= 0; daa[9*20+7]= 0; |
---|
1260 | daa[9*20+8]= 0; daa[10*20+0]= 21; daa[10*20+1]= 6; daa[10*20+2]= 0; |
---|
1261 | daa[10*20+3]= 0; daa[10*20+4]= 27; daa[10*20+5]= 20; daa[10*20+6]= 0; |
---|
1262 | daa[10*20+7]= 0; daa[10*20+8]= 26; daa[10*20+9]= 232; daa[11*20+0]= 0; |
---|
1263 | daa[11*20+1]= 50; daa[11*20+2]= 408; daa[11*20+3]= 0; daa[11*20+4]= 0; |
---|
1264 | daa[11*20+5]= 242; daa[11*20+6]= 215; daa[11*20+7]= 0; daa[11*20+8]= 0; |
---|
1265 | daa[11*20+9]= 6; daa[11*20+10]= 4; daa[12*20+0]= 76; daa[12*20+1]= 0; |
---|
1266 | daa[12*20+2]= 21; daa[12*20+3]= 0; daa[12*20+4]= 0; daa[12*20+5]= 22; |
---|
1267 | daa[12*20+6]= 0; daa[12*20+7]= 0; daa[12*20+8]= 0; daa[12*20+9]= 378; |
---|
1268 | daa[12*20+10]= 609; daa[12*20+11]= 59; daa[13*20+0]= 0; daa[13*20+1]= 0; |
---|
1269 | daa[13*20+2]= 6; daa[13*20+3]= 5; daa[13*20+4]= 7; daa[13*20+5]= 0; |
---|
1270 | daa[13*20+6]= 0; daa[13*20+7]= 0; daa[13*20+8]= 0; daa[13*20+9]= 57; |
---|
1271 | daa[13*20+10]= 246; daa[13*20+11]= 0; daa[13*20+12]= 11; daa[14*20+0]= 53; |
---|
1272 | daa[14*20+1]= 9; daa[14*20+2]= 33; daa[14*20+3]= 2; daa[14*20+4]= 0; |
---|
1273 | daa[14*20+5]= 51; daa[14*20+6]= 0; daa[14*20+7]= 0; daa[14*20+8]= 53; |
---|
1274 | daa[14*20+9]= 5; daa[14*20+10]= 43; daa[14*20+11]= 18; daa[14*20+12]= 0; |
---|
1275 | daa[14*20+13]= 17; daa[15*20+0]= 342; daa[15*20+1]= 3; daa[15*20+2]= 446; |
---|
1276 | daa[15*20+3]= 16; daa[15*20+4]= 347; daa[15*20+5]= 30; daa[15*20+6]= 21; |
---|
1277 | daa[15*20+7]= 112; daa[15*20+8]= 20; daa[15*20+9]= 0; daa[15*20+10]= 74; |
---|
1278 | daa[15*20+11]= 65; daa[15*20+12]= 47; daa[15*20+13]= 90; daa[15*20+14]= 202; |
---|
1279 | daa[16*20+0]= 681; daa[16*20+1]= 0; daa[16*20+2]= 110; daa[16*20+3]= 0; |
---|
1280 | daa[16*20+4]= 114; daa[16*20+5]= 0; daa[16*20+6]= 4; daa[16*20+7]= 0; |
---|
1281 | daa[16*20+8]= 1; daa[16*20+9]= 360; daa[16*20+10]= 34; daa[16*20+11]= 50; |
---|
1282 | daa[16*20+12]= 691; daa[16*20+13]= 8; daa[16*20+14]= 78; daa[16*20+15]= 614; |
---|
1283 | daa[17*20+0]= 5; daa[17*20+1]= 16; daa[17*20+2]= 6; daa[17*20+3]= 0; |
---|
1284 | daa[17*20+4]= 65; daa[17*20+5]= 0; daa[17*20+6]= 0; daa[17*20+7]= 0; |
---|
1285 | daa[17*20+8]= 0; daa[17*20+9]= 0; daa[17*20+10]= 12; daa[17*20+11]= 0; |
---|
1286 | daa[17*20+12]= 13; daa[17*20+13]= 0; daa[17*20+14]= 7; daa[17*20+15]= 17; |
---|
1287 | daa[17*20+16]= 0; daa[18*20+0]= 0; daa[18*20+1]= 0; daa[18*20+2]= 156; |
---|
1288 | daa[18*20+3]= 0; daa[18*20+4]= 530; daa[18*20+5]= 54; daa[18*20+6]= 0; |
---|
1289 | daa[18*20+7]= 1; daa[18*20+8]= 1525;daa[18*20+9]= 16; daa[18*20+10]= 25; |
---|
1290 | daa[18*20+11]= 67; daa[18*20+12]= 0; daa[18*20+13]= 682; daa[18*20+14]= 8; |
---|
1291 | daa[18*20+15]= 107; daa[18*20+16]= 0; daa[18*20+17]= 14; daa[19*20+0]= 398; |
---|
1292 | daa[19*20+1]= 0; daa[19*20+2]= 0; daa[19*20+3]= 10; daa[19*20+4]= 0; |
---|
1293 | daa[19*20+5]= 33; daa[19*20+6]= 20; daa[19*20+7]= 5; daa[19*20+8]= 0; |
---|
1294 | daa[19*20+9]= 2220; daa[19*20+10]= 100;daa[19*20+11]= 0; daa[19*20+12]= 832; |
---|
1295 | daa[19*20+13]= 6; daa[19*20+14]= 0; daa[19*20+15]= 0; daa[19*20+16]= 237; |
---|
1296 | daa[19*20+17]= 0; daa[19*20+18]= 0; |
---|
1297 | |
---|
1298 | f[0]= 0.06920; f[1]= 0.01840; f[2]= 0.04000; f[3]= 0.018600; |
---|
1299 | f[4]= 0.00650; f[5]= 0.02380; f[6]= 0.02360; f[7]= 0.055700; |
---|
1300 | f[8]= 0.02770; f[9]= 0.09050; f[10]=0.16750; f[11]= 0.02210; |
---|
1301 | f[12]=0.05610; f[13]= 0.06110; f[14]=0.05360; f[15]= 0.07250; |
---|
1302 | f[16]=0.08700; f[17]= 0.02930; f[18]=0.03400; f[19]= 0.04280; |
---|
1303 | } |
---|
1304 | break; |
---|
1305 | case LG: |
---|
1306 | { |
---|
1307 | daa[1*20+0] = 0.425093; |
---|
1308 | |
---|
1309 | daa[2*20+0] = 0.276818; daa[2*20+1] = 0.751878; |
---|
1310 | |
---|
1311 | daa[3*20+0] = 0.395144; daa[3*20+1] = 0.123954; daa[3*20+2] = 5.076149; |
---|
1312 | |
---|
1313 | daa[4*20+0] = 2.489084; daa[4*20+1] = 0.534551; daa[4*20+2] = 0.528768; daa[4*20+3] = 0.062556; |
---|
1314 | |
---|
1315 | daa[5*20+0] = 0.969894; daa[5*20+1] = 2.807908; daa[5*20+2] = 1.695752; daa[5*20+3] = 0.523386; daa[5*20+4] = 0.084808; |
---|
1316 | |
---|
1317 | daa[6*20+0] = 1.038545; daa[6*20+1] = 0.363970; daa[6*20+2] = 0.541712; daa[6*20+3] = 5.243870; daa[6*20+4] = 0.003499; daa[6*20+5] = 4.128591; |
---|
1318 | |
---|
1319 | daa[7*20+0] = 2.066040; daa[7*20+1] = 0.390192; daa[7*20+2] = 1.437645; daa[7*20+3] = 0.844926; daa[7*20+4] = 0.569265; daa[7*20+5] = 0.267959; daa[7*20+6] = 0.348847; |
---|
1320 | |
---|
1321 | daa[8*20+0] = 0.358858; daa[8*20+1] = 2.426601; daa[8*20+2] = 4.509238; daa[8*20+3] = 0.927114; daa[8*20+4] = 0.640543; daa[8*20+5] = 4.813505; daa[8*20+6] = 0.423881; |
---|
1322 | daa[8*20+7] = 0.311484; |
---|
1323 | |
---|
1324 | daa[9*20+0] = 0.149830; daa[9*20+1] = 0.126991; daa[9*20+2] = 0.191503; daa[9*20+3] = 0.010690; daa[9*20+4] = 0.320627; daa[9*20+5] = 0.072854; daa[9*20+6] = 0.044265; |
---|
1325 | daa[9*20+7] = 0.008705; daa[9*20+8] = 0.108882; |
---|
1326 | |
---|
1327 | daa[10*20+0] = 0.395337; daa[10*20+1] = 0.301848; daa[10*20+2] = 0.068427; daa[10*20+3] = 0.015076; daa[10*20+4] = 0.594007; daa[10*20+5] = 0.582457; daa[10*20+6] = 0.069673; |
---|
1328 | daa[10*20+7] = 0.044261; daa[10*20+8] = 0.366317; daa[10*20+9] = 4.145067 ; |
---|
1329 | |
---|
1330 | daa[11*20+0] = 0.536518; daa[11*20+1] = 6.326067; daa[11*20+2] = 2.145078; daa[11*20+3] = 0.282959; daa[11*20+4] = 0.013266; daa[11*20+5] = 3.234294; daa[11*20+6] = 1.807177; |
---|
1331 | daa[11*20+7] = 0.296636; daa[11*20+8] = 0.697264; daa[11*20+9] = 0.159069; daa[11*20+10] = 0.137500; |
---|
1332 | |
---|
1333 | |
---|
1334 | daa[12*20+0] = 1.124035; daa[12*20+1] = 0.484133; daa[12*20+2] = 0.371004; daa[12*20+3] = 0.025548; daa[12*20+4] = 0.893680; daa[12*20+5] = 1.672569; daa[12*20+6] = 0.173735; |
---|
1335 | daa[12*20+7] = 0.139538; daa[12*20+8] = 0.442472; daa[12*20+9] = 4.273607; daa[12*20+10] = 6.312358; daa[12*20+11] = 0.656604; |
---|
1336 | |
---|
1337 | daa[13*20+0] = 0.253701; daa[13*20+1] = 0.052722;daa[13*20+2] = 0.089525; daa[13*20+3] = 0.017416; daa[13*20+4] = 1.105251; daa[13*20+5] = 0.035855; daa[13*20+6] = 0.018811; |
---|
1338 | daa[13*20+7] = 0.089586; daa[13*20+8] = 0.682139; daa[13*20+9] = 1.112727; daa[13*20+10] = 2.592692; daa[13*20+11] = 0.023918; daa[13*20+12] = 1.798853; |
---|
1339 | |
---|
1340 | daa[14*20+0] = 1.177651; daa[14*20+1] = 0.332533;daa[14*20+2] = 0.161787; daa[14*20+3] = 0.394456; daa[14*20+4] = 0.075382; daa[14*20+5] = 0.624294; daa[14*20+6] = 0.419409; |
---|
1341 | daa[14*20+7] = 0.196961; daa[14*20+8] = 0.508851; daa[14*20+9] = 0.078281; daa[14*20+10] = 0.249060; daa[14*20+11] = 0.390322; daa[14*20+12] = 0.099849; |
---|
1342 | daa[14*20+13] = 0.094464; |
---|
1343 | |
---|
1344 | daa[15*20+0] = 4.727182; daa[15*20+1] = 0.858151;daa[15*20+2] = 4.008358; daa[15*20+3] = 1.240275; daa[15*20+4] = 2.784478; daa[15*20+5] = 1.223828; daa[15*20+6] = 0.611973; |
---|
1345 | daa[15*20+7] = 1.739990; daa[15*20+8] = 0.990012; daa[15*20+9] = 0.064105; daa[15*20+10] = 0.182287; daa[15*20+11] = 0.748683; daa[15*20+12] = 0.346960; |
---|
1346 | daa[15*20+13] = 0.361819; daa[15*20+14] = 1.338132; |
---|
1347 | |
---|
1348 | daa[16*20+0] = 2.139501; daa[16*20+1] = 0.578987;daa[16*20+2] = 2.000679; daa[16*20+3] = 0.425860; daa[16*20+4] = 1.143480; daa[16*20+5] = 1.080136; daa[16*20+6] = 0.604545; |
---|
1349 | daa[16*20+7] = 0.129836; daa[16*20+8] = 0.584262; daa[16*20+9] = 1.033739; daa[16*20+10] = 0.302936; daa[16*20+11] = 1.136863; daa[16*20+12] = 2.020366; |
---|
1350 | daa[16*20+13] = 0.165001; daa[16*20+14] = 0.571468; daa[16*20+15] = 6.472279; |
---|
1351 | |
---|
1352 | daa[17*20+0] = 0.180717; daa[17*20+1] = 0.593607;daa[17*20+2] = 0.045376; daa[17*20+3] = 0.029890; daa[17*20+4] = 0.670128; daa[17*20+5] = 0.236199; daa[17*20+6] = 0.077852; |
---|
1353 | daa[17*20+7] = 0.268491; daa[17*20+8] = 0.597054; daa[17*20+9] = 0.111660; daa[17*20+10] = 0.619632; daa[17*20+11] = 0.049906; daa[17*20+12] = 0.696175; |
---|
1354 | daa[17*20+13] = 2.457121; daa[17*20+14] = 0.095131; daa[17*20+15] = 0.248862; daa[17*20+16] = 0.140825; |
---|
1355 | |
---|
1356 | daa[18*20+0] = 0.218959; daa[18*20+1] = 0.314440;daa[18*20+2] = 0.612025; daa[18*20+3] = 0.135107; daa[18*20+4] = 1.165532; daa[18*20+5] = 0.257336; daa[18*20+6] = 0.120037; |
---|
1357 | daa[18*20+7] = 0.054679; daa[18*20+8] = 5.306834; daa[18*20+9] = 0.232523; daa[18*20+10] = 0.299648; daa[18*20+11] = 0.131932; daa[18*20+12] = 0.481306; |
---|
1358 | daa[18*20+13] = 7.803902; daa[18*20+14] = 0.089613; daa[18*20+15] = 0.400547; daa[18*20+16] = 0.245841; daa[18*20+17] = 3.151815; |
---|
1359 | |
---|
1360 | daa[19*20+0] = 2.547870; daa[19*20+1] = 0.170887;daa[19*20+2] = 0.083688; daa[19*20+3] = 0.037967; daa[19*20+4] = 1.959291; daa[19*20+5] = 0.210332; daa[19*20+6] = 0.245034; |
---|
1361 | daa[19*20+7] = 0.076701; daa[19*20+8] = 0.119013; daa[19*20+9] = 10.649107; daa[19*20+10] = 1.702745; daa[19*20+11] = 0.185202; daa[19*20+12] = 1.898718; |
---|
1362 | daa[19*20+13] = 0.654683; daa[19*20+14] = 0.296501; daa[19*20+15] = 0.098369; daa[19*20+16] = 2.188158; daa[19*20+17] = 0.189510; daa[19*20+18] = 0.249313; |
---|
1363 | |
---|
1364 | f[0] = 0.07906; |
---|
1365 | f[1] = 0.05594; |
---|
1366 | f[2] = 0.04198; |
---|
1367 | f[3] = 0.05305; |
---|
1368 | f[4] = 0.01294; |
---|
1369 | f[5] = 0.04077; |
---|
1370 | f[6] = 0.07158; |
---|
1371 | f[7] = 0.05734; |
---|
1372 | f[8] = 0.02235; |
---|
1373 | f[9] = 0.06216; |
---|
1374 | f[10] = 0.09908; |
---|
1375 | f[11] = 0.06460; |
---|
1376 | f[12] = 0.02295; |
---|
1377 | f[13] = 0.04230; |
---|
1378 | f[14] = 0.04404; |
---|
1379 | f[15] = 0.06120; |
---|
1380 | f[16] = 0.05329; |
---|
1381 | f[17] = 0.01207; |
---|
1382 | f[18] = 0.03415; |
---|
1383 | f[19] = 0.06915; |
---|
1384 | } |
---|
1385 | break; |
---|
1386 | case MTART: |
---|
1387 | { |
---|
1388 | |
---|
1389 | |
---|
1390 | daa[1*20+0]= 0.2; |
---|
1391 | daa[2*20+0]= 0.2; |
---|
1392 | daa[2*20+1]= 0.2; |
---|
1393 | daa[3*20+0]= 1; |
---|
1394 | daa[3*20+1]= 4; |
---|
1395 | daa[3*20+2]= 500; |
---|
1396 | daa[4*20+0]= 254; |
---|
1397 | daa[4*20+1]= 36; |
---|
1398 | daa[4*20+2]= 98; |
---|
1399 | daa[4*20+3]= 11; |
---|
1400 | daa[5*20+0]= 0.2; |
---|
1401 | daa[5*20+1]= 154; |
---|
1402 | daa[5*20+2]= 262; |
---|
1403 | daa[5*20+3]= 0.2; |
---|
1404 | daa[5*20+4]= 0.2; |
---|
1405 | daa[6*20+0]= 0.2; |
---|
1406 | daa[6*20+1]= 0.2; |
---|
1407 | daa[6*20+2]= 183; |
---|
1408 | daa[6*20+3]= 862; |
---|
1409 | daa[6*20+4]= 0.2; |
---|
1410 | daa[6*20+5]= 262; |
---|
1411 | daa[7*20+0]= 200; |
---|
1412 | daa[7*20+1]= 0.2; |
---|
1413 | daa[7*20+2]= 121; |
---|
1414 | daa[7*20+3]= 12; |
---|
1415 | daa[7*20+4]= 81; |
---|
1416 | daa[7*20+5]= 3; |
---|
1417 | daa[7*20+6]= 44; |
---|
1418 | daa[8*20+0]= 0.2; |
---|
1419 | daa[8*20+1]= 41; |
---|
1420 | daa[8*20+2]= 180; |
---|
1421 | daa[8*20+3]= 0.2; |
---|
1422 | daa[8*20+4]= 12; |
---|
1423 | daa[8*20+5]= 314; |
---|
1424 | daa[8*20+6]= 15; |
---|
1425 | daa[8*20+7]= 0.2; |
---|
1426 | daa[9*20+0]= 26; |
---|
1427 | daa[9*20+1]= 2; |
---|
1428 | daa[9*20+2]= 21; |
---|
1429 | daa[9*20+3]= 7; |
---|
1430 | daa[9*20+4]= 63; |
---|
1431 | daa[9*20+5]= 11; |
---|
1432 | daa[9*20+6]= 7; |
---|
1433 | daa[9*20+7]= 3; |
---|
1434 | daa[9*20+8]= 0.2; |
---|
1435 | daa[10*20+0]= 4; |
---|
1436 | daa[10*20+1]= 2; |
---|
1437 | daa[10*20+2]= 13; |
---|
1438 | daa[10*20+3]= 1; |
---|
1439 | daa[10*20+4]= 79; |
---|
1440 | daa[10*20+5]= 16; |
---|
1441 | daa[10*20+6]= 2; |
---|
1442 | daa[10*20+7]= 1; |
---|
1443 | daa[10*20+8]= 6; |
---|
1444 | daa[10*20+9]= 515; |
---|
1445 | daa[11*20+0]= 0.2; |
---|
1446 | daa[11*20+1]= 209; |
---|
1447 | daa[11*20+2]= 467; |
---|
1448 | daa[11*20+3]= 2; |
---|
1449 | daa[11*20+4]= 0.2; |
---|
1450 | daa[11*20+5]= 349; |
---|
1451 | daa[11*20+6]= 106; |
---|
1452 | daa[11*20+7]= 0.2; |
---|
1453 | daa[11*20+8]= 0.2; |
---|
1454 | daa[11*20+9]= 3; |
---|
1455 | daa[11*20+10]= 4; |
---|
1456 | daa[12*20+0]= 121; |
---|
1457 | daa[12*20+1]= 5; |
---|
1458 | daa[12*20+2]= 79; |
---|
1459 | daa[12*20+3]= 0.2; |
---|
1460 | daa[12*20+4]= 312; |
---|
1461 | daa[12*20+5]= 67; |
---|
1462 | daa[12*20+6]= 0.2; |
---|
1463 | daa[12*20+7]= 56; |
---|
1464 | daa[12*20+8]= 0.2; |
---|
1465 | daa[12*20+9]= 515; |
---|
1466 | daa[12*20+10]= 885; |
---|
1467 | daa[12*20+11]= 106; |
---|
1468 | daa[13*20+0]= 13; |
---|
1469 | daa[13*20+1]= 5; |
---|
1470 | daa[13*20+2]= 20; |
---|
1471 | daa[13*20+3]= 0.2; |
---|
1472 | daa[13*20+4]= 184; |
---|
1473 | daa[13*20+5]= 0.2; |
---|
1474 | daa[13*20+6]= 0.2; |
---|
1475 | daa[13*20+7]= 1; |
---|
1476 | daa[13*20+8]= 14; |
---|
1477 | daa[13*20+9]= 118; |
---|
1478 | daa[13*20+10]= 263; |
---|
1479 | daa[13*20+11]= 11; |
---|
1480 | daa[13*20+12]= 322; |
---|
1481 | daa[14*20+0]= 49; |
---|
1482 | daa[14*20+1]= 0.2; |
---|
1483 | daa[14*20+2]= 17; |
---|
1484 | daa[14*20+3]= 0.2; |
---|
1485 | daa[14*20+4]= 0.2; |
---|
1486 | daa[14*20+5]= 39; |
---|
1487 | daa[14*20+6]= 8; |
---|
1488 | daa[14*20+7]= 0.2; |
---|
1489 | daa[14*20+8]= 1; |
---|
1490 | daa[14*20+9]= 0.2; |
---|
1491 | daa[14*20+10]= 12; |
---|
1492 | daa[14*20+11]= 17; |
---|
1493 | daa[14*20+12]= 5; |
---|
1494 | daa[14*20+13]= 15; |
---|
1495 | daa[15*20+0]= 673; |
---|
1496 | daa[15*20+1]= 3; |
---|
1497 | daa[15*20+2]= 398; |
---|
1498 | daa[15*20+3]= 44; |
---|
1499 | daa[15*20+4]= 664; |
---|
1500 | daa[15*20+5]= 52; |
---|
1501 | daa[15*20+6]= 31; |
---|
1502 | daa[15*20+7]= 226; |
---|
1503 | daa[15*20+8]= 11; |
---|
1504 | daa[15*20+9]= 7; |
---|
1505 | daa[15*20+10]= 8; |
---|
1506 | daa[15*20+11]= 144; |
---|
1507 | daa[15*20+12]= 112; |
---|
1508 | daa[15*20+13]= 36; |
---|
1509 | daa[15*20+14]= 87; |
---|
1510 | daa[16*20+0]= 244; |
---|
1511 | daa[16*20+1]= 0.2; |
---|
1512 | daa[16*20+2]= 166; |
---|
1513 | daa[16*20+3]= 0.2; |
---|
1514 | daa[16*20+4]= 183; |
---|
1515 | daa[16*20+5]= 44; |
---|
1516 | daa[16*20+6]= 43; |
---|
1517 | daa[16*20+7]= 0.2; |
---|
1518 | daa[16*20+8]= 19; |
---|
1519 | daa[16*20+9]= 204; |
---|
1520 | daa[16*20+10]= 48; |
---|
1521 | daa[16*20+11]= 70; |
---|
1522 | daa[16*20+12]= 289; |
---|
1523 | daa[16*20+13]= 14; |
---|
1524 | daa[16*20+14]= 47; |
---|
1525 | daa[16*20+15]= 660; |
---|
1526 | daa[17*20+0]= 0.2; |
---|
1527 | daa[17*20+1]= 0.2; |
---|
1528 | daa[17*20+2]= 8; |
---|
1529 | daa[17*20+3]= 0.2; |
---|
1530 | daa[17*20+4]= 22; |
---|
1531 | daa[17*20+5]= 7; |
---|
1532 | daa[17*20+6]= 11; |
---|
1533 | daa[17*20+7]= 2; |
---|
1534 | daa[17*20+8]= 0.2; |
---|
1535 | daa[17*20+9]= 0.2; |
---|
1536 | daa[17*20+10]= 21; |
---|
1537 | daa[17*20+11]= 16; |
---|
1538 | daa[17*20+12]= 71; |
---|
1539 | daa[17*20+13]= 54; |
---|
1540 | daa[17*20+14]= 0.2; |
---|
1541 | daa[17*20+15]= 2; |
---|
1542 | daa[17*20+16]= 0.2; |
---|
1543 | daa[18*20+0]= 1; |
---|
1544 | daa[18*20+1]= 4; |
---|
1545 | daa[18*20+2]= 251; |
---|
1546 | daa[18*20+3]= 0.2; |
---|
1547 | daa[18*20+4]= 72; |
---|
1548 | daa[18*20+5]= 87; |
---|
1549 | daa[18*20+6]= 8; |
---|
1550 | daa[18*20+7]= 9; |
---|
1551 | daa[18*20+8]= 191; |
---|
1552 | daa[18*20+9]= 12; |
---|
1553 | daa[18*20+10]= 20; |
---|
1554 | daa[18*20+11]= 117; |
---|
1555 | daa[18*20+12]= 71; |
---|
1556 | daa[18*20+13]= 792; |
---|
1557 | daa[18*20+14]= 18; |
---|
1558 | daa[18*20+15]= 30; |
---|
1559 | daa[18*20+16]= 46; |
---|
1560 | daa[18*20+17]= 38; |
---|
1561 | daa[19*20+0]= 340; |
---|
1562 | daa[19*20+1]= 0.2; |
---|
1563 | daa[19*20+2]= 23; |
---|
1564 | daa[19*20+3]= 0.2; |
---|
1565 | daa[19*20+4]= 350; |
---|
1566 | daa[19*20+5]= 0.2; |
---|
1567 | daa[19*20+6]= 14; |
---|
1568 | daa[19*20+7]= 3; |
---|
1569 | daa[19*20+8]= 0.2; |
---|
1570 | daa[19*20+9]= 1855; |
---|
1571 | daa[19*20+10]= 85; |
---|
1572 | daa[19*20+11]= 26; |
---|
1573 | daa[19*20+12]= 281; |
---|
1574 | daa[19*20+13]= 52; |
---|
1575 | daa[19*20+14]= 32; |
---|
1576 | daa[19*20+15]= 61; |
---|
1577 | daa[19*20+16]= 544; |
---|
1578 | daa[19*20+17]= 0.2; |
---|
1579 | daa[19*20+18]= 2; |
---|
1580 | |
---|
1581 | f[0]= 0.054116; |
---|
1582 | f[1]= 0.018227; |
---|
1583 | f[2]= 0.039903; |
---|
1584 | f[3]= 0.020160; |
---|
1585 | f[4]= 0.009709; |
---|
1586 | f[5]= 0.018781; |
---|
1587 | f[6]= 0.024289; |
---|
1588 | f[7]= 0.068183; |
---|
1589 | f[8]= 0.024518; |
---|
1590 | f[9]= 0.092638; |
---|
1591 | f[10]= 0.148658; |
---|
1592 | f[11]= 0.021718; |
---|
1593 | f[12]= 0.061453; |
---|
1594 | f[13]= 0.088668; |
---|
1595 | f[14]= 0.041826; |
---|
1596 | f[15]= 0.091030; |
---|
1597 | f[16]= 0.049194; |
---|
1598 | f[17]= 0.029786; |
---|
1599 | f[18]= 0.039443; |
---|
1600 | f[19]= 0.057700; |
---|
1601 | } |
---|
1602 | break; |
---|
1603 | case MTZOA: |
---|
1604 | { |
---|
1605 | daa[1*20+0]= 3.3; |
---|
1606 | daa[2*20+0]= 1.7; |
---|
1607 | daa[2*20+1]= 33.6; |
---|
1608 | daa[3*20+0]= 16.1; |
---|
1609 | daa[3*20+1]= 3.2; |
---|
1610 | daa[3*20+2]= 617.0; |
---|
1611 | daa[4*20+0]= 272.5; |
---|
1612 | daa[4*20+1]= 61.1; |
---|
1613 | daa[4*20+2]= 94.6; |
---|
1614 | daa[4*20+3]= 9.5; |
---|
1615 | daa[5*20+0]= 7.3; |
---|
1616 | daa[5*20+1]= 231.0; |
---|
1617 | daa[5*20+2]= 190.3; |
---|
1618 | daa[5*20+3]= 19.3; |
---|
1619 | daa[5*20+4]= 49.1; |
---|
1620 | daa[6*20+0]= 17.1; |
---|
1621 | daa[6*20+1]= 6.4; |
---|
1622 | daa[6*20+2]= 174.0; |
---|
1623 | daa[6*20+3]= 883.6; |
---|
1624 | daa[6*20+4]= 3.4; |
---|
1625 | daa[6*20+5]= 349.4; |
---|
1626 | daa[7*20+0]= 289.3; |
---|
1627 | daa[7*20+1]= 7.2; |
---|
1628 | daa[7*20+2]= 99.3; |
---|
1629 | daa[7*20+3]= 26.0; |
---|
1630 | daa[7*20+4]= 82.4; |
---|
1631 | daa[7*20+5]= 8.9; |
---|
1632 | daa[7*20+6]= 43.1; |
---|
1633 | daa[8*20+0]= 2.3; |
---|
1634 | daa[8*20+1]= 61.7; |
---|
1635 | daa[8*20+2]= 228.9; |
---|
1636 | daa[8*20+3]= 55.6; |
---|
1637 | daa[8*20+4]= 37.5; |
---|
1638 | daa[8*20+5]= 421.8; |
---|
1639 | daa[8*20+6]= 14.9; |
---|
1640 | daa[8*20+7]= 7.4; |
---|
1641 | daa[9*20+0]= 33.2; |
---|
1642 | daa[9*20+1]= 0.2; |
---|
1643 | daa[9*20+2]= 24.3; |
---|
1644 | daa[9*20+3]= 1.5; |
---|
1645 | daa[9*20+4]= 48.8; |
---|
1646 | daa[9*20+5]= 0.2; |
---|
1647 | daa[9*20+6]= 7.3; |
---|
1648 | daa[9*20+7]= 3.4; |
---|
1649 | daa[9*20+8]= 1.6; |
---|
1650 | daa[10*20+0]= 15.6; |
---|
1651 | daa[10*20+1]= 4.1; |
---|
1652 | daa[10*20+2]= 7.9; |
---|
1653 | daa[10*20+3]= 0.5; |
---|
1654 | daa[10*20+4]= 59.7; |
---|
1655 | daa[10*20+5]= 23.0; |
---|
1656 | daa[10*20+6]= 1.0; |
---|
1657 | daa[10*20+7]= 3.5; |
---|
1658 | daa[10*20+8]= 6.6; |
---|
1659 | daa[10*20+9]= 425.2; |
---|
1660 | daa[11*20+0]= 0.2; |
---|
1661 | daa[11*20+1]= 292.3; |
---|
1662 | daa[11*20+2]= 413.4; |
---|
1663 | daa[11*20+3]= 0.2; |
---|
1664 | daa[11*20+4]= 0.2; |
---|
1665 | daa[11*20+5]= 334.0; |
---|
1666 | daa[11*20+6]= 163.2; |
---|
1667 | daa[11*20+7]= 10.1; |
---|
1668 | daa[11*20+8]= 23.9; |
---|
1669 | daa[11*20+9]= 8.4; |
---|
1670 | daa[11*20+10]= 6.7; |
---|
1671 | daa[12*20+0]= 136.5; |
---|
1672 | daa[12*20+1]= 3.8; |
---|
1673 | daa[12*20+2]= 73.7; |
---|
1674 | daa[12*20+3]= 0.2; |
---|
1675 | daa[12*20+4]= 264.8; |
---|
1676 | daa[12*20+5]= 83.9; |
---|
1677 | daa[12*20+6]= 0.2; |
---|
1678 | daa[12*20+7]= 52.2; |
---|
1679 | daa[12*20+8]= 7.1; |
---|
1680 | daa[12*20+9]= 449.7; |
---|
1681 | daa[12*20+10]= 636.3; |
---|
1682 | daa[12*20+11]= 83.0; |
---|
1683 | daa[13*20+0]= 26.5; |
---|
1684 | daa[13*20+1]= 0.2; |
---|
1685 | daa[13*20+2]= 12.9; |
---|
1686 | daa[13*20+3]= 2.0; |
---|
1687 | daa[13*20+4]= 167.8; |
---|
1688 | daa[13*20+5]= 9.5; |
---|
1689 | daa[13*20+6]= 0.2; |
---|
1690 | daa[13*20+7]= 5.8; |
---|
1691 | daa[13*20+8]= 13.1; |
---|
1692 | daa[13*20+9]= 90.3; |
---|
1693 | daa[13*20+10]= 234.2; |
---|
1694 | daa[13*20+11]= 16.3; |
---|
1695 | daa[13*20+12]= 215.6; |
---|
1696 | daa[14*20+0]= 61.8; |
---|
1697 | daa[14*20+1]= 7.5; |
---|
1698 | daa[14*20+2]= 22.6; |
---|
1699 | daa[14*20+3]= 0.2; |
---|
1700 | daa[14*20+4]= 8.1; |
---|
1701 | daa[14*20+5]= 52.2; |
---|
1702 | daa[14*20+6]= 20.6; |
---|
1703 | daa[14*20+7]= 1.3; |
---|
1704 | daa[14*20+8]= 15.6; |
---|
1705 | daa[14*20+9]= 2.6; |
---|
1706 | daa[14*20+10]= 11.4; |
---|
1707 | daa[14*20+11]= 24.3; |
---|
1708 | daa[14*20+12]= 5.4; |
---|
1709 | daa[14*20+13]= 10.5; |
---|
1710 | daa[15*20+0]= 644.9; |
---|
1711 | daa[15*20+1]= 11.8; |
---|
1712 | daa[15*20+2]= 420.2; |
---|
1713 | daa[15*20+3]= 51.4; |
---|
1714 | daa[15*20+4]= 656.3; |
---|
1715 | daa[15*20+5]= 96.4; |
---|
1716 | daa[15*20+6]= 38.4; |
---|
1717 | daa[15*20+7]= 257.1; |
---|
1718 | daa[15*20+8]= 23.1; |
---|
1719 | daa[15*20+9]= 7.2; |
---|
1720 | daa[15*20+10]= 15.2; |
---|
1721 | daa[15*20+11]= 144.9; |
---|
1722 | daa[15*20+12]= 95.3; |
---|
1723 | daa[15*20+13]= 32.2; |
---|
1724 | daa[15*20+14]= 79.7; |
---|
1725 | daa[16*20+0]= 378.1; |
---|
1726 | daa[16*20+1]= 3.2; |
---|
1727 | daa[16*20+2]= 184.6; |
---|
1728 | daa[16*20+3]= 2.3; |
---|
1729 | daa[16*20+4]= 199.0; |
---|
1730 | daa[16*20+5]= 39.4; |
---|
1731 | daa[16*20+6]= 34.5; |
---|
1732 | daa[16*20+7]= 5.2; |
---|
1733 | daa[16*20+8]= 19.4; |
---|
1734 | daa[16*20+9]= 222.3; |
---|
1735 | daa[16*20+10]= 50.0; |
---|
1736 | daa[16*20+11]= 75.5; |
---|
1737 | daa[16*20+12]= 305.1; |
---|
1738 | daa[16*20+13]= 19.3; |
---|
1739 | daa[16*20+14]= 56.9; |
---|
1740 | daa[16*20+15]= 666.3; |
---|
1741 | daa[17*20+0]= 3.1; |
---|
1742 | daa[17*20+1]= 16.9; |
---|
1743 | daa[17*20+2]= 6.4; |
---|
1744 | daa[17*20+3]= 0.2; |
---|
1745 | daa[17*20+4]= 36.1; |
---|
1746 | daa[17*20+5]= 6.1; |
---|
1747 | daa[17*20+6]= 3.5; |
---|
1748 | daa[17*20+7]= 12.3; |
---|
1749 | daa[17*20+8]= 4.5; |
---|
1750 | daa[17*20+9]= 9.7; |
---|
1751 | daa[17*20+10]= 27.2; |
---|
1752 | daa[17*20+11]= 6.6; |
---|
1753 | daa[17*20+12]= 48.7; |
---|
1754 | daa[17*20+13]= 58.2; |
---|
1755 | daa[17*20+14]= 1.3; |
---|
1756 | daa[17*20+15]= 10.3; |
---|
1757 | daa[17*20+16]= 3.6; |
---|
1758 | daa[18*20+0]= 2.1; |
---|
1759 | daa[18*20+1]= 13.8; |
---|
1760 | daa[18*20+2]= 141.6; |
---|
1761 | daa[18*20+3]= 13.9; |
---|
1762 | daa[18*20+4]= 76.7; |
---|
1763 | daa[18*20+5]= 52.3; |
---|
1764 | daa[18*20+6]= 10.0; |
---|
1765 | daa[18*20+7]= 4.3; |
---|
1766 | daa[18*20+8]= 266.5; |
---|
1767 | daa[18*20+9]= 13.1; |
---|
1768 | daa[18*20+10]= 5.7; |
---|
1769 | daa[18*20+11]= 45.0; |
---|
1770 | daa[18*20+12]= 41.4; |
---|
1771 | daa[18*20+13]= 590.5; |
---|
1772 | daa[18*20+14]= 4.2; |
---|
1773 | daa[18*20+15]= 29.7; |
---|
1774 | daa[18*20+16]= 29.0; |
---|
1775 | daa[18*20+17]= 79.8; |
---|
1776 | daa[19*20+0]= 321.9; |
---|
1777 | daa[19*20+1]= 5.1; |
---|
1778 | daa[19*20+2]= 7.1; |
---|
1779 | daa[19*20+3]= 3.7; |
---|
1780 | daa[19*20+4]= 243.8; |
---|
1781 | daa[19*20+5]= 9.0; |
---|
1782 | daa[19*20+6]= 16.3; |
---|
1783 | daa[19*20+7]= 23.7; |
---|
1784 | daa[19*20+8]= 0.3; |
---|
1785 | daa[19*20+9]= 1710.6; |
---|
1786 | daa[19*20+10]= 126.1; |
---|
1787 | daa[19*20+11]= 11.1; |
---|
1788 | daa[19*20+12]= 279.6; |
---|
1789 | daa[19*20+13]= 59.6; |
---|
1790 | daa[19*20+14]= 17.9; |
---|
1791 | daa[19*20+15]= 49.5; |
---|
1792 | daa[19*20+16]= 396.4; |
---|
1793 | daa[19*20+17]= 13.7; |
---|
1794 | daa[19*20+18]= 15.6; |
---|
1795 | |
---|
1796 | f[0]= 0.069; |
---|
1797 | f[1]= 0.021; |
---|
1798 | f[2]= 0.030; |
---|
1799 | f[3]= 0.020; |
---|
1800 | f[4]= 0.010; |
---|
1801 | f[5]= 0.019; |
---|
1802 | f[6]= 0.025; |
---|
1803 | f[7]= 0.072; |
---|
1804 | f[8]= 0.027; |
---|
1805 | f[9]= 0.085; |
---|
1806 | f[10]= 0.157; |
---|
1807 | f[11]= 0.019; |
---|
1808 | f[12]= 0.051; |
---|
1809 | f[13]= 0.082; |
---|
1810 | f[14]= 0.045; |
---|
1811 | f[15]= 0.081; |
---|
1812 | f[16]= 0.056; |
---|
1813 | f[17]= 0.028; |
---|
1814 | f[18]= 0.037; |
---|
1815 | f[19]= 0.066; |
---|
1816 | } |
---|
1817 | break; |
---|
1818 | case PMB: |
---|
1819 | { |
---|
1820 | daa[1*20+0]= 0.674995699; |
---|
1821 | daa[2*20+0]= 0.589645178; |
---|
1822 | daa[2*20+1]= 1.189067034; |
---|
1823 | daa[3*20+0]= 0.462499504; |
---|
1824 | daa[3*20+1]= 0.605460903; |
---|
1825 | daa[3*20+2]= 3.573373315; |
---|
1826 | daa[4*20+0]= 1.065445546; |
---|
1827 | daa[4*20+1]= 0.31444833; |
---|
1828 | daa[4*20+2]= 0.589852457; |
---|
1829 | daa[4*20+3]= 0.246951424; |
---|
1830 | daa[5*20+0]= 1.111766964; |
---|
1831 | daa[5*20+1]= 2.967840934; |
---|
1832 | daa[5*20+2]= 2.299755865; |
---|
1833 | daa[5*20+3]= 1.686058219; |
---|
1834 | daa[5*20+4]= 0.245163782; |
---|
1835 | daa[6*20+0]= 1.046334652; |
---|
1836 | daa[6*20+1]= 1.201770702; |
---|
1837 | daa[6*20+2]= 1.277836748; |
---|
1838 | daa[6*20+3]= 4.399995525; |
---|
1839 | daa[6*20+4]= 0.091071867; |
---|
1840 | daa[6*20+5]= 4.15967899; |
---|
1841 | daa[7*20+0]= 1.587964372; |
---|
1842 | daa[7*20+1]= 0.523770553; |
---|
1843 | daa[7*20+2]= 1.374854049; |
---|
1844 | daa[7*20+3]= 0.734992057; |
---|
1845 | daa[7*20+4]= 0.31706632; |
---|
1846 | daa[7*20+5]= 0.596789898; |
---|
1847 | daa[7*20+6]= 0.463812837; |
---|
1848 | daa[8*20+0]= 0.580830874; |
---|
1849 | daa[8*20+1]= 1.457127446; |
---|
1850 | daa[8*20+2]= 2.283037894; |
---|
1851 | daa[8*20+3]= 0.839348444; |
---|
1852 | daa[8*20+4]= 0.411543728; |
---|
1853 | daa[8*20+5]= 1.812173605; |
---|
1854 | daa[8*20+6]= 0.877842609; |
---|
1855 | daa[8*20+7]= 0.476331437; |
---|
1856 | daa[9*20+0]= 0.464590585; |
---|
1857 | daa[9*20+1]= 0.35964586; |
---|
1858 | daa[9*20+2]= 0.426069419; |
---|
1859 | daa[9*20+3]= 0.266775558; |
---|
1860 | daa[9*20+4]= 0.417547309; |
---|
1861 | daa[9*20+5]= 0.315256838; |
---|
1862 | daa[9*20+6]= 0.30421529; |
---|
1863 | daa[9*20+7]= 0.180198883; |
---|
1864 | daa[9*20+8]= 0.285186418; |
---|
1865 | daa[10*20+0]= 0.804404505; |
---|
1866 | daa[10*20+1]= 0.520701585; |
---|
1867 | daa[10*20+2]= 0.41009447; |
---|
1868 | daa[10*20+3]= 0.269124919; |
---|
1869 | daa[10*20+4]= 0.450795211; |
---|
1870 | daa[10*20+5]= 0.625792937; |
---|
1871 | daa[10*20+6]= 0.32078471; |
---|
1872 | daa[10*20+7]= 0.259854426; |
---|
1873 | daa[10*20+8]= 0.363981358; |
---|
1874 | daa[10*20+9]= 4.162454693; |
---|
1875 | daa[11*20+0]= 0.831998835; |
---|
1876 | daa[11*20+1]= 4.956476453; |
---|
1877 | daa[11*20+2]= 2.037575629; |
---|
1878 | daa[11*20+3]= 1.114178954; |
---|
1879 | daa[11*20+4]= 0.274163536; |
---|
1880 | daa[11*20+5]= 3.521346591; |
---|
1881 | daa[11*20+6]= 2.415974716; |
---|
1882 | daa[11*20+7]= 0.581001076; |
---|
1883 | daa[11*20+8]= 0.985885486; |
---|
1884 | daa[11*20+9]= 0.374784947; |
---|
1885 | daa[11*20+10]= 0.498011337; |
---|
1886 | daa[12*20+0]= 1.546725076; |
---|
1887 | daa[12*20+1]= 0.81346254; |
---|
1888 | daa[12*20+2]= 0.737846301; |
---|
1889 | daa[12*20+3]= 0.341932741; |
---|
1890 | daa[12*20+4]= 0.618614612; |
---|
1891 | daa[12*20+5]= 2.067388546; |
---|
1892 | daa[12*20+6]= 0.531773639; |
---|
1893 | daa[12*20+7]= 0.465349326; |
---|
1894 | daa[12*20+8]= 0.380925433; |
---|
1895 | daa[12*20+9]= 3.65807012; |
---|
1896 | daa[12*20+10]= 5.002338375; |
---|
1897 | daa[12*20+11]= 0.661095832; |
---|
1898 | daa[13*20+0]= 0.546169219; |
---|
1899 | daa[13*20+1]= 0.303437244; |
---|
1900 | daa[13*20+2]= 0.425193716; |
---|
1901 | daa[13*20+3]= 0.219005213; |
---|
1902 | daa[13*20+4]= 0.669206193; |
---|
1903 | daa[13*20+5]= 0.406042546; |
---|
1904 | daa[13*20+6]= 0.224154698; |
---|
1905 | daa[13*20+7]= 0.35402891; |
---|
1906 | daa[13*20+8]= 0.576231691; |
---|
1907 | daa[13*20+9]= 1.495264661; |
---|
1908 | daa[13*20+10]= 2.392638293; |
---|
1909 | daa[13*20+11]= 0.269496317; |
---|
1910 | daa[13*20+12]= 2.306919847; |
---|
1911 | daa[14*20+0]= 1.241586045; |
---|
1912 | daa[14*20+1]= 0.65577338; |
---|
1913 | daa[14*20+2]= 0.711495595; |
---|
1914 | daa[14*20+3]= 0.775624818; |
---|
1915 | daa[14*20+4]= 0.198679914; |
---|
1916 | daa[14*20+5]= 0.850116543; |
---|
1917 | daa[14*20+6]= 0.794584081; |
---|
1918 | daa[14*20+7]= 0.588254139; |
---|
1919 | daa[14*20+8]= 0.456058589; |
---|
1920 | daa[14*20+9]= 0.366232942; |
---|
1921 | daa[14*20+10]= 0.430073179; |
---|
1922 | daa[14*20+11]= 1.036079005; |
---|
1923 | daa[14*20+12]= 0.337502282; |
---|
1924 | daa[14*20+13]= 0.481144863; |
---|
1925 | daa[15*20+0]= 3.452308792; |
---|
1926 | daa[15*20+1]= 0.910144334; |
---|
1927 | daa[15*20+2]= 2.572577221; |
---|
1928 | daa[15*20+3]= 1.440896785; |
---|
1929 | daa[15*20+4]= 0.99870098; |
---|
1930 | daa[15*20+5]= 1.348272505; |
---|
1931 | daa[15*20+6]= 1.205509425; |
---|
1932 | daa[15*20+7]= 1.402122097; |
---|
1933 | daa[15*20+8]= 0.799966711; |
---|
1934 | daa[15*20+9]= 0.530641901; |
---|
1935 | daa[15*20+10]= 0.402471997; |
---|
1936 | daa[15*20+11]= 1.234648153; |
---|
1937 | daa[15*20+12]= 0.945453716; |
---|
1938 | daa[15*20+13]= 0.613230817; |
---|
1939 | daa[15*20+14]= 1.217683028; |
---|
1940 | daa[16*20+0]= 1.751412803; |
---|
1941 | daa[16*20+1]= 0.89517149; |
---|
1942 | daa[16*20+2]= 1.823161023; |
---|
1943 | daa[16*20+3]= 0.994227284; |
---|
1944 | daa[16*20+4]= 0.847312432; |
---|
1945 | daa[16*20+5]= 1.320626678; |
---|
1946 | daa[16*20+6]= 0.949599791; |
---|
1947 | daa[16*20+7]= 0.542185658; |
---|
1948 | daa[16*20+8]= 0.83039281; |
---|
1949 | daa[16*20+9]= 1.114132523; |
---|
1950 | daa[16*20+10]= 0.779827336; |
---|
1951 | daa[16*20+11]= 1.290709079; |
---|
1952 | daa[16*20+12]= 1.551488041; |
---|
1953 | daa[16*20+13]= 0.718895136; |
---|
1954 | daa[16*20+14]= 0.780913179; |
---|
1955 | daa[16*20+15]= 4.448982584; |
---|
1956 | daa[17*20+0]= 0.35011051; |
---|
1957 | daa[17*20+1]= 0.618778365; |
---|
1958 | daa[17*20+2]= 0.422407388; |
---|
1959 | daa[17*20+3]= 0.362495245; |
---|
1960 | daa[17*20+4]= 0.445669347; |
---|
1961 | daa[17*20+5]= 0.72038474; |
---|
1962 | daa[17*20+6]= 0.261258229; |
---|
1963 | daa[17*20+7]= 0.37874827; |
---|
1964 | daa[17*20+8]= 0.72436751; |
---|
1965 | daa[17*20+9]= 0.516260502; |
---|
1966 | daa[17*20+10]= 0.794797115; |
---|
1967 | daa[17*20+11]= 0.43340962; |
---|
1968 | daa[17*20+12]= 0.768395107; |
---|
1969 | daa[17*20+13]= 3.29519344; |
---|
1970 | daa[17*20+14]= 0.499869138; |
---|
1971 | daa[17*20+15]= 0.496334956; |
---|
1972 | daa[17*20+16]= 0.38372361; |
---|
1973 | daa[18*20+0]= 0.573154753; |
---|
1974 | daa[18*20+1]= 0.628599063; |
---|
1975 | daa[18*20+2]= 0.720013799; |
---|
1976 | daa[18*20+3]= 0.436220437; |
---|
1977 | daa[18*20+4]= 0.55626163; |
---|
1978 | daa[18*20+5]= 0.728970584; |
---|
1979 | daa[18*20+6]= 0.50720003; |
---|
1980 | daa[18*20+7]= 0.284727562; |
---|
1981 | daa[18*20+8]= 2.210952064; |
---|
1982 | daa[18*20+9]= 0.570562395; |
---|
1983 | daa[18*20+10]= 0.811019594; |
---|
1984 | daa[18*20+11]= 0.664884513; |
---|
1985 | daa[18*20+12]= 0.93253606; |
---|
1986 | daa[18*20+13]= 5.894735673; |
---|
1987 | daa[18*20+14]= 0.433748126; |
---|
1988 | daa[18*20+15]= 0.593795813; |
---|
1989 | daa[18*20+16]= 0.523549536; |
---|
1990 | daa[18*20+17]= 2.996248013; |
---|
1991 | daa[19*20+0]= 2.063050067; |
---|
1992 | daa[19*20+1]= 0.388680158; |
---|
1993 | daa[19*20+2]= 0.474418852; |
---|
1994 | daa[19*20+3]= 0.275658381; |
---|
1995 | daa[19*20+4]= 0.998911631; |
---|
1996 | daa[19*20+5]= 0.634408285; |
---|
1997 | daa[19*20+6]= 0.527640634; |
---|
1998 | daa[19*20+7]= 0.314700907; |
---|
1999 | daa[19*20+8]= 0.305792277; |
---|
2000 | daa[19*20+9]= 8.002789424; |
---|
2001 | daa[19*20+10]= 2.113077156; |
---|
2002 | daa[19*20+11]= 0.526184203; |
---|
2003 | daa[19*20+12]= 1.737356217; |
---|
2004 | daa[19*20+13]= 0.983844803; |
---|
2005 | daa[19*20+14]= 0.551333603; |
---|
2006 | daa[19*20+15]= 0.507506011; |
---|
2007 | daa[19*20+16]= 1.89965079; |
---|
2008 | daa[19*20+17]= 0.429570747; |
---|
2009 | daa[19*20+18]= 0.716795463; |
---|
2010 | |
---|
2011 | f[0]= 0.076; |
---|
2012 | f[1]= 0.054; |
---|
2013 | f[2]= 0.038; |
---|
2014 | f[3]= 0.045; |
---|
2015 | f[4]= 0.028; |
---|
2016 | f[5]= 0.034; |
---|
2017 | f[6]= 0.053; |
---|
2018 | f[7]= 0.078; |
---|
2019 | f[8]= 0.030; |
---|
2020 | f[9]= 0.060; |
---|
2021 | f[10]= 0.096; |
---|
2022 | f[11]= 0.052; |
---|
2023 | f[12]= 0.022; |
---|
2024 | f[13]= 0.045; |
---|
2025 | f[14]= 0.042; |
---|
2026 | f[15]= 0.068; |
---|
2027 | f[16]= 0.056; |
---|
2028 | f[17]= 0.016; |
---|
2029 | f[18]= 0.036; |
---|
2030 | f[19]= 0.071; |
---|
2031 | } |
---|
2032 | break; |
---|
2033 | case HIVB: |
---|
2034 | { |
---|
2035 | daa[1*20+0]= 0.30750700; |
---|
2036 | daa[2*20+0]= 0.00500000; |
---|
2037 | daa[2*20+1]= 0.29554300; |
---|
2038 | daa[3*20+0]= 1.45504000; |
---|
2039 | daa[3*20+1]= 0.00500000; |
---|
2040 | daa[3*20+2]= 17.66120000; |
---|
2041 | daa[4*20+0]= 0.12375800; |
---|
2042 | daa[4*20+1]= 0.35172100; |
---|
2043 | daa[4*20+2]= 0.08606420; |
---|
2044 | daa[4*20+3]= 0.00500000; |
---|
2045 | daa[5*20+0]= 0.05511280; |
---|
2046 | daa[5*20+1]= 3.42150000; |
---|
2047 | daa[5*20+2]= 0.67205200; |
---|
2048 | daa[5*20+3]= 0.00500000; |
---|
2049 | daa[5*20+4]= 0.00500000; |
---|
2050 | daa[6*20+0]= 1.48135000; |
---|
2051 | daa[6*20+1]= 0.07492180; |
---|
2052 | daa[6*20+2]= 0.07926330; |
---|
2053 | daa[6*20+3]= 10.58720000; |
---|
2054 | daa[6*20+4]= 0.00500000; |
---|
2055 | daa[6*20+5]= 2.56020000; |
---|
2056 | daa[7*20+0]= 2.13536000; |
---|
2057 | daa[7*20+1]= 3.65345000; |
---|
2058 | daa[7*20+2]= 0.32340100; |
---|
2059 | daa[7*20+3]= 2.83806000; |
---|
2060 | daa[7*20+4]= 0.89787100; |
---|
2061 | daa[7*20+5]= 0.06191370; |
---|
2062 | daa[7*20+6]= 3.92775000; |
---|
2063 | daa[8*20+0]= 0.08476130; |
---|
2064 | daa[8*20+1]= 9.04044000; |
---|
2065 | daa[8*20+2]= 7.64585000; |
---|
2066 | daa[8*20+3]= 1.91690000; |
---|
2067 | daa[8*20+4]= 0.24007300; |
---|
2068 | daa[8*20+5]= 7.05545000; |
---|
2069 | daa[8*20+6]= 0.11974000; |
---|
2070 | daa[8*20+7]= 0.00500000; |
---|
2071 | daa[9*20+0]= 0.00500000; |
---|
2072 | daa[9*20+1]= 0.67728900; |
---|
2073 | daa[9*20+2]= 0.68056500; |
---|
2074 | daa[9*20+3]= 0.01767920; |
---|
2075 | daa[9*20+4]= 0.00500000; |
---|
2076 | daa[9*20+5]= 0.00500000; |
---|
2077 | daa[9*20+6]= 0.00609079; |
---|
2078 | daa[9*20+7]= 0.00500000; |
---|
2079 | daa[9*20+8]= 0.10311100; |
---|
2080 | daa[10*20+0]= 0.21525600; |
---|
2081 | daa[10*20+1]= 0.70142700; |
---|
2082 | daa[10*20+2]= 0.00500000; |
---|
2083 | daa[10*20+3]= 0.00876048; |
---|
2084 | daa[10*20+4]= 0.12977700; |
---|
2085 | daa[10*20+5]= 1.49456000; |
---|
2086 | daa[10*20+6]= 0.00500000; |
---|
2087 | daa[10*20+7]= 0.00500000; |
---|
2088 | daa[10*20+8]= 1.74171000; |
---|
2089 | daa[10*20+9]= 5.95879000; |
---|
2090 | daa[11*20+0]= 0.00500000; |
---|
2091 | daa[11*20+1]= 20.45000000; |
---|
2092 | daa[11*20+2]= 7.90443000; |
---|
2093 | daa[11*20+3]= 0.00500000; |
---|
2094 | daa[11*20+4]= 0.00500000; |
---|
2095 | daa[11*20+5]= 6.54737000; |
---|
2096 | daa[11*20+6]= 4.61482000; |
---|
2097 | daa[11*20+7]= 0.52170500; |
---|
2098 | daa[11*20+8]= 0.00500000; |
---|
2099 | daa[11*20+9]= 0.32231900; |
---|
2100 | daa[11*20+10]= 0.08149950; |
---|
2101 | daa[12*20+0]= 0.01866430; |
---|
2102 | daa[12*20+1]= 2.51394000; |
---|
2103 | daa[12*20+2]= 0.00500000; |
---|
2104 | daa[12*20+3]= 0.00500000; |
---|
2105 | daa[12*20+4]= 0.00500000; |
---|
2106 | daa[12*20+5]= 0.30367600; |
---|
2107 | daa[12*20+6]= 0.17578900; |
---|
2108 | daa[12*20+7]= 0.00500000; |
---|
2109 | daa[12*20+8]= 0.00500000; |
---|
2110 | daa[12*20+9]= 11.20650000; |
---|
2111 | daa[12*20+10]= 5.31961000; |
---|
2112 | daa[12*20+11]= 1.28246000; |
---|
2113 | daa[13*20+0]= 0.01412690; |
---|
2114 | daa[13*20+1]= 0.00500000; |
---|
2115 | daa[13*20+2]= 0.00500000; |
---|
2116 | daa[13*20+3]= 0.00500000; |
---|
2117 | daa[13*20+4]= 9.29815000; |
---|
2118 | daa[13*20+5]= 0.00500000; |
---|
2119 | daa[13*20+6]= 0.00500000; |
---|
2120 | daa[13*20+7]= 0.29156100; |
---|
2121 | daa[13*20+8]= 0.14555800; |
---|
2122 | daa[13*20+9]= 3.39836000; |
---|
2123 | daa[13*20+10]= 8.52484000; |
---|
2124 | daa[13*20+11]= 0.03426580; |
---|
2125 | daa[13*20+12]= 0.18802500; |
---|
2126 | daa[14*20+0]= 2.12217000; |
---|
2127 | daa[14*20+1]= 1.28355000; |
---|
2128 | daa[14*20+2]= 0.00739578; |
---|
2129 | daa[14*20+3]= 0.03426580; |
---|
2130 | daa[14*20+4]= 0.00500000; |
---|
2131 | daa[14*20+5]= 4.47211000; |
---|
2132 | daa[14*20+6]= 0.01202260; |
---|
2133 | daa[14*20+7]= 0.00500000; |
---|
2134 | daa[14*20+8]= 2.45318000; |
---|
2135 | daa[14*20+9]= 0.04105930; |
---|
2136 | daa[14*20+10]= 2.07757000; |
---|
2137 | daa[14*20+11]= 0.03138620; |
---|
2138 | daa[14*20+12]= 0.00500000; |
---|
2139 | daa[14*20+13]= 0.00500000; |
---|
2140 | daa[15*20+0]= 2.46633000; |
---|
2141 | daa[15*20+1]= 3.47910000; |
---|
2142 | daa[15*20+2]= 13.14470000; |
---|
2143 | daa[15*20+3]= 0.52823000; |
---|
2144 | daa[15*20+4]= 4.69314000; |
---|
2145 | daa[15*20+5]= 0.11631100; |
---|
2146 | daa[15*20+6]= 0.00500000; |
---|
2147 | daa[15*20+7]= 4.38041000; |
---|
2148 | daa[15*20+8]= 0.38274700; |
---|
2149 | daa[15*20+9]= 1.21803000; |
---|
2150 | daa[15*20+10]= 0.92765600; |
---|
2151 | daa[15*20+11]= 0.50411100; |
---|
2152 | daa[15*20+12]= 0.00500000; |
---|
2153 | daa[15*20+13]= 0.95647200; |
---|
2154 | daa[15*20+14]= 5.37762000; |
---|
2155 | daa[16*20+0]= 15.91830000; |
---|
2156 | daa[16*20+1]= 2.86868000; |
---|
2157 | daa[16*20+2]= 6.88667000; |
---|
2158 | daa[16*20+3]= 0.27472400; |
---|
2159 | daa[16*20+4]= 0.73996900; |
---|
2160 | daa[16*20+5]= 0.24358900; |
---|
2161 | daa[16*20+6]= 0.28977400; |
---|
2162 | daa[16*20+7]= 0.36961500; |
---|
2163 | daa[16*20+8]= 0.71159400; |
---|
2164 | daa[16*20+9]= 8.61217000; |
---|
2165 | daa[16*20+10]= 0.04376730; |
---|
2166 | daa[16*20+11]= 4.67142000; |
---|
2167 | daa[16*20+12]= 4.94026000; |
---|
2168 | daa[16*20+13]= 0.01412690; |
---|
2169 | daa[16*20+14]= 2.01417000; |
---|
2170 | daa[16*20+15]= 8.93107000; |
---|
2171 | daa[17*20+0]= 0.00500000; |
---|
2172 | daa[17*20+1]= 0.99133800; |
---|
2173 | daa[17*20+2]= 0.00500000; |
---|
2174 | daa[17*20+3]= 0.00500000; |
---|
2175 | daa[17*20+4]= 2.63277000; |
---|
2176 | daa[17*20+5]= 0.02665600; |
---|
2177 | daa[17*20+6]= 0.00500000; |
---|
2178 | daa[17*20+7]= 1.21674000; |
---|
2179 | daa[17*20+8]= 0.06951790; |
---|
2180 | daa[17*20+9]= 0.00500000; |
---|
2181 | daa[17*20+10]= 0.74884300; |
---|
2182 | daa[17*20+11]= 0.00500000; |
---|
2183 | daa[17*20+12]= 0.08907800; |
---|
2184 | daa[17*20+13]= 0.82934300; |
---|
2185 | daa[17*20+14]= 0.04445060; |
---|
2186 | daa[17*20+15]= 0.02487280; |
---|
2187 | daa[17*20+16]= 0.00500000; |
---|
2188 | daa[18*20+0]= 0.00500000; |
---|
2189 | daa[18*20+1]= 0.00991826; |
---|
2190 | daa[18*20+2]= 1.76417000; |
---|
2191 | daa[18*20+3]= 0.67465300; |
---|
2192 | daa[18*20+4]= 7.57932000; |
---|
2193 | daa[18*20+5]= 0.11303300; |
---|
2194 | daa[18*20+6]= 0.07926330; |
---|
2195 | daa[18*20+7]= 0.00500000; |
---|
2196 | daa[18*20+8]= 18.69430000; |
---|
2197 | daa[18*20+9]= 0.14816800; |
---|
2198 | daa[18*20+10]= 0.11198600; |
---|
2199 | daa[18*20+11]= 0.00500000; |
---|
2200 | daa[18*20+12]= 0.00500000; |
---|
2201 | daa[18*20+13]= 15.34000000; |
---|
2202 | daa[18*20+14]= 0.03043810; |
---|
2203 | daa[18*20+15]= 0.64802400; |
---|
2204 | daa[18*20+16]= 0.10565200; |
---|
2205 | daa[18*20+17]= 1.28022000; |
---|
2206 | daa[19*20+0]= 7.61428000; |
---|
2207 | daa[19*20+1]= 0.08124540; |
---|
2208 | daa[19*20+2]= 0.02665600; |
---|
2209 | daa[19*20+3]= 1.04793000; |
---|
2210 | daa[19*20+4]= 0.42002700; |
---|
2211 | daa[19*20+5]= 0.02091530; |
---|
2212 | daa[19*20+6]= 1.02847000; |
---|
2213 | daa[19*20+7]= 0.95315500; |
---|
2214 | daa[19*20+8]= 0.00500000; |
---|
2215 | daa[19*20+9]= 17.73890000; |
---|
2216 | daa[19*20+10]= 1.41036000; |
---|
2217 | daa[19*20+11]= 0.26582900; |
---|
2218 | daa[19*20+12]= 6.85320000; |
---|
2219 | daa[19*20+13]= 0.72327400; |
---|
2220 | daa[19*20+14]= 0.00500000; |
---|
2221 | daa[19*20+15]= 0.07492180; |
---|
2222 | daa[19*20+16]= 0.70922600; |
---|
2223 | daa[19*20+17]= 0.00500000; |
---|
2224 | daa[19*20+18]= 0.04105930; |
---|
2225 | |
---|
2226 | f[0]= 0.060; |
---|
2227 | f[1]= 0.066; |
---|
2228 | f[2]= 0.044; |
---|
2229 | f[3]= 0.042; |
---|
2230 | f[4]= 0.020; |
---|
2231 | f[5]= 0.054; |
---|
2232 | f[6]= 0.071; |
---|
2233 | f[7]= 0.072; |
---|
2234 | f[8]= 0.022; |
---|
2235 | f[9]= 0.070; |
---|
2236 | f[10]= 0.099; |
---|
2237 | f[11]= 0.057; |
---|
2238 | f[12]= 0.020; |
---|
2239 | f[13]= 0.029; |
---|
2240 | f[14]= 0.046; |
---|
2241 | f[15]= 0.051; |
---|
2242 | f[16]= 0.054; |
---|
2243 | f[17]= 0.033; |
---|
2244 | f[18]= 0.028; |
---|
2245 | f[19]= 0.062; |
---|
2246 | } |
---|
2247 | break; |
---|
2248 | case HIVW: |
---|
2249 | { |
---|
2250 | daa[1*20+0]= 0.0744808; |
---|
2251 | daa[2*20+0]= 0.6175090; |
---|
2252 | daa[2*20+1]= 0.1602400; |
---|
2253 | daa[3*20+0]= 4.4352100; |
---|
2254 | daa[3*20+1]= 0.0674539; |
---|
2255 | daa[3*20+2]= 29.4087000; |
---|
2256 | daa[4*20+0]= 0.1676530; |
---|
2257 | daa[4*20+1]= 2.8636400; |
---|
2258 | daa[4*20+2]= 0.0604932; |
---|
2259 | daa[4*20+3]= 0.0050000; |
---|
2260 | daa[5*20+0]= 0.0050000; |
---|
2261 | daa[5*20+1]= 10.6746000; |
---|
2262 | daa[5*20+2]= 0.3420680; |
---|
2263 | daa[5*20+3]= 0.0050000; |
---|
2264 | daa[5*20+4]= 0.0050000; |
---|
2265 | daa[6*20+0]= 5.5632500; |
---|
2266 | daa[6*20+1]= 0.0251632; |
---|
2267 | daa[6*20+2]= 0.2015260; |
---|
2268 | daa[6*20+3]= 12.1233000; |
---|
2269 | daa[6*20+4]= 0.0050000; |
---|
2270 | daa[6*20+5]= 3.2065600; |
---|
2271 | daa[7*20+0]= 1.8685000; |
---|
2272 | daa[7*20+1]= 13.4379000; |
---|
2273 | daa[7*20+2]= 0.0604932; |
---|
2274 | daa[7*20+3]= 10.3969000; |
---|
2275 | daa[7*20+4]= 0.0489798; |
---|
2276 | daa[7*20+5]= 0.0604932; |
---|
2277 | daa[7*20+6]= 14.7801000; |
---|
2278 | daa[8*20+0]= 0.0050000; |
---|
2279 | daa[8*20+1]= 6.8440500; |
---|
2280 | daa[8*20+2]= 8.5987600; |
---|
2281 | daa[8*20+3]= 2.3177900; |
---|
2282 | daa[8*20+4]= 0.0050000; |
---|
2283 | daa[8*20+5]= 18.5465000; |
---|
2284 | daa[8*20+6]= 0.0050000; |
---|
2285 | daa[8*20+7]= 0.0050000; |
---|
2286 | daa[9*20+0]= 0.0050000; |
---|
2287 | daa[9*20+1]= 1.3406900; |
---|
2288 | daa[9*20+2]= 0.9870280; |
---|
2289 | daa[9*20+3]= 0.1451240; |
---|
2290 | daa[9*20+4]= 0.0050000; |
---|
2291 | daa[9*20+5]= 0.0342252; |
---|
2292 | daa[9*20+6]= 0.0390512; |
---|
2293 | daa[9*20+7]= 0.0050000; |
---|
2294 | daa[9*20+8]= 0.0050000; |
---|
2295 | daa[10*20+0]= 0.1602400; |
---|
2296 | daa[10*20+1]= 0.5867570; |
---|
2297 | daa[10*20+2]= 0.0050000; |
---|
2298 | daa[10*20+3]= 0.0050000; |
---|
2299 | daa[10*20+4]= 0.0050000; |
---|
2300 | daa[10*20+5]= 2.8904800; |
---|
2301 | daa[10*20+6]= 0.1298390; |
---|
2302 | daa[10*20+7]= 0.0489798; |
---|
2303 | daa[10*20+8]= 1.7638200; |
---|
2304 | daa[10*20+9]= 9.1024600; |
---|
2305 | daa[11*20+0]= 0.5927840; |
---|
2306 | daa[11*20+1]= 39.8897000; |
---|
2307 | daa[11*20+2]= 10.6655000; |
---|
2308 | daa[11*20+3]= 0.8943130; |
---|
2309 | daa[11*20+4]= 0.0050000; |
---|
2310 | daa[11*20+5]= 13.0705000; |
---|
2311 | daa[11*20+6]= 23.9626000; |
---|
2312 | daa[11*20+7]= 0.2794250; |
---|
2313 | daa[11*20+8]= 0.2240600; |
---|
2314 | daa[11*20+9]= 0.8174810; |
---|
2315 | daa[11*20+10]= 0.0050000; |
---|
2316 | daa[12*20+0]= 0.0050000; |
---|
2317 | daa[12*20+1]= 3.2865200; |
---|
2318 | daa[12*20+2]= 0.2015260; |
---|
2319 | daa[12*20+3]= 0.0050000; |
---|
2320 | daa[12*20+4]= 0.0050000; |
---|
2321 | daa[12*20+5]= 0.0050000; |
---|
2322 | daa[12*20+6]= 0.0050000; |
---|
2323 | daa[12*20+7]= 0.0489798; |
---|
2324 | daa[12*20+8]= 0.0050000; |
---|
2325 | daa[12*20+9]= 17.3064000; |
---|
2326 | daa[12*20+10]= 11.3839000; |
---|
2327 | daa[12*20+11]= 4.0956400; |
---|
2328 | daa[13*20+0]= 0.5979230; |
---|
2329 | daa[13*20+1]= 0.0050000; |
---|
2330 | daa[13*20+2]= 0.0050000; |
---|
2331 | daa[13*20+3]= 0.0050000; |
---|
2332 | daa[13*20+4]= 0.3629590; |
---|
2333 | daa[13*20+5]= 0.0050000; |
---|
2334 | daa[13*20+6]= 0.0050000; |
---|
2335 | daa[13*20+7]= 0.0050000; |
---|
2336 | daa[13*20+8]= 0.0050000; |
---|
2337 | daa[13*20+9]= 1.4828800; |
---|
2338 | daa[13*20+10]= 7.4878100; |
---|
2339 | daa[13*20+11]= 0.0050000; |
---|
2340 | daa[13*20+12]= 0.0050000; |
---|
2341 | daa[14*20+0]= 1.0098100; |
---|
2342 | daa[14*20+1]= 0.4047230; |
---|
2343 | daa[14*20+2]= 0.3448480; |
---|
2344 | daa[14*20+3]= 0.0050000; |
---|
2345 | daa[14*20+4]= 0.0050000; |
---|
2346 | daa[14*20+5]= 3.0450200; |
---|
2347 | daa[14*20+6]= 0.0050000; |
---|
2348 | daa[14*20+7]= 0.0050000; |
---|
2349 | daa[14*20+8]= 13.9444000; |
---|
2350 | daa[14*20+9]= 0.0050000; |
---|
2351 | daa[14*20+10]= 9.8309500; |
---|
2352 | daa[14*20+11]= 0.1119280; |
---|
2353 | daa[14*20+12]= 0.0050000; |
---|
2354 | daa[14*20+13]= 0.0342252; |
---|
2355 | daa[15*20+0]= 8.5942000; |
---|
2356 | daa[15*20+1]= 8.3502400; |
---|
2357 | daa[15*20+2]= 14.5699000; |
---|
2358 | daa[15*20+3]= 0.4278810; |
---|
2359 | daa[15*20+4]= 1.1219500; |
---|
2360 | daa[15*20+5]= 0.1602400; |
---|
2361 | daa[15*20+6]= 0.0050000; |
---|
2362 | daa[15*20+7]= 6.2796600; |
---|
2363 | daa[15*20+8]= 0.7251570; |
---|
2364 | daa[15*20+9]= 0.7400910; |
---|
2365 | daa[15*20+10]= 6.1439600; |
---|
2366 | daa[15*20+11]= 0.0050000; |
---|
2367 | daa[15*20+12]= 0.3925750; |
---|
2368 | daa[15*20+13]= 4.2793900; |
---|
2369 | daa[15*20+14]= 14.2490000; |
---|
2370 | daa[16*20+0]= 24.1422000; |
---|
2371 | daa[16*20+1]= 0.9282030; |
---|
2372 | daa[16*20+2]= 4.5420600; |
---|
2373 | daa[16*20+3]= 0.6303950; |
---|
2374 | daa[16*20+4]= 0.0050000; |
---|
2375 | daa[16*20+5]= 0.2030910; |
---|
2376 | daa[16*20+6]= 0.4587430; |
---|
2377 | daa[16*20+7]= 0.0489798; |
---|
2378 | daa[16*20+8]= 0.9595600; |
---|
2379 | daa[16*20+9]= 9.3634500; |
---|
2380 | daa[16*20+10]= 0.0050000; |
---|
2381 | daa[16*20+11]= 4.0480200; |
---|
2382 | daa[16*20+12]= 7.4131300; |
---|
2383 | daa[16*20+13]= 0.1145120; |
---|
2384 | daa[16*20+14]= 4.3370100; |
---|
2385 | daa[16*20+15]= 6.3407900; |
---|
2386 | daa[17*20+0]= 0.0050000; |
---|
2387 | daa[17*20+1]= 5.9656400; |
---|
2388 | daa[17*20+2]= 0.0050000; |
---|
2389 | daa[17*20+3]= 0.0050000; |
---|
2390 | daa[17*20+4]= 5.4989400; |
---|
2391 | daa[17*20+5]= 0.0443298; |
---|
2392 | daa[17*20+6]= 0.0050000; |
---|
2393 | daa[17*20+7]= 2.8258000; |
---|
2394 | daa[17*20+8]= 0.0050000; |
---|
2395 | daa[17*20+9]= 0.0050000; |
---|
2396 | daa[17*20+10]= 1.3703100; |
---|
2397 | daa[17*20+11]= 0.0050000; |
---|
2398 | daa[17*20+12]= 0.0050000; |
---|
2399 | daa[17*20+13]= 0.0050000; |
---|
2400 | daa[17*20+14]= 0.0050000; |
---|
2401 | daa[17*20+15]= 1.1015600; |
---|
2402 | daa[17*20+16]= 0.0050000; |
---|
2403 | daa[18*20+0]= 0.0050000; |
---|
2404 | daa[18*20+1]= 0.0050000; |
---|
2405 | daa[18*20+2]= 5.0647500; |
---|
2406 | daa[18*20+3]= 2.2815400; |
---|
2407 | daa[18*20+4]= 8.3483500; |
---|
2408 | daa[18*20+5]= 0.0050000; |
---|
2409 | daa[18*20+6]= 0.0050000; |
---|
2410 | daa[18*20+7]= 0.0050000; |
---|
2411 | daa[18*20+8]= 47.4889000; |
---|
2412 | daa[18*20+9]= 0.1145120; |
---|
2413 | daa[18*20+10]= 0.0050000; |
---|
2414 | daa[18*20+11]= 0.0050000; |
---|
2415 | daa[18*20+12]= 0.5791980; |
---|
2416 | daa[18*20+13]= 4.1272800; |
---|
2417 | daa[18*20+14]= 0.0050000; |
---|
2418 | daa[18*20+15]= 0.9331420; |
---|
2419 | daa[18*20+16]= 0.4906080; |
---|
2420 | daa[18*20+17]= 0.0050000; |
---|
2421 | daa[19*20+0]= 24.8094000; |
---|
2422 | daa[19*20+1]= 0.2794250; |
---|
2423 | daa[19*20+2]= 0.0744808; |
---|
2424 | daa[19*20+3]= 2.9178600; |
---|
2425 | daa[19*20+4]= 0.0050000; |
---|
2426 | daa[19*20+5]= 0.0050000; |
---|
2427 | daa[19*20+6]= 2.1995200; |
---|
2428 | daa[19*20+7]= 2.7962200; |
---|
2429 | daa[19*20+8]= 0.8274790; |
---|
2430 | daa[19*20+9]= 24.8231000; |
---|
2431 | daa[19*20+10]= 2.9534400; |
---|
2432 | daa[19*20+11]= 0.1280650; |
---|
2433 | daa[19*20+12]= 14.7683000; |
---|
2434 | daa[19*20+13]= 2.2800000; |
---|
2435 | daa[19*20+14]= 0.0050000; |
---|
2436 | daa[19*20+15]= 0.8626370; |
---|
2437 | daa[19*20+16]= 0.0050000; |
---|
2438 | daa[19*20+17]= 0.0050000; |
---|
2439 | daa[19*20+18]= 1.3548200; |
---|
2440 | |
---|
2441 | f[0]= 0.038; |
---|
2442 | f[1]= 0.057; |
---|
2443 | f[2]= 0.089; |
---|
2444 | f[3]= 0.034; |
---|
2445 | f[4]= 0.024; |
---|
2446 | f[5]= 0.044; |
---|
2447 | f[6]= 0.062; |
---|
2448 | f[7]= 0.084; |
---|
2449 | f[8]= 0.016; |
---|
2450 | f[9]= 0.098; |
---|
2451 | f[10]= 0.058; |
---|
2452 | f[11]= 0.064; |
---|
2453 | f[12]= 0.016; |
---|
2454 | f[13]= 0.042; |
---|
2455 | f[14]= 0.046; |
---|
2456 | f[15]= 0.055; |
---|
2457 | f[16]= 0.081; |
---|
2458 | f[17]= 0.020; |
---|
2459 | f[18]= 0.021; |
---|
2460 | f[19]= 0.051; |
---|
2461 | } |
---|
2462 | break; |
---|
2463 | case JTTDCMUT: |
---|
2464 | { |
---|
2465 | daa[1*20+0]= 0.531678; |
---|
2466 | daa[2*20+0]= 0.557967; |
---|
2467 | daa[2*20+1]= 0.451095; |
---|
2468 | daa[3*20+0]= 0.827445; |
---|
2469 | daa[3*20+1]= 0.154899; |
---|
2470 | daa[3*20+2]= 5.549530; |
---|
2471 | daa[4*20+0]= 0.574478; |
---|
2472 | daa[4*20+1]= 1.019843; |
---|
2473 | daa[4*20+2]= 0.313311; |
---|
2474 | daa[4*20+3]= 0.105625; |
---|
2475 | daa[5*20+0]= 0.556725; |
---|
2476 | daa[5*20+1]= 3.021995; |
---|
2477 | daa[5*20+2]= 0.768834; |
---|
2478 | daa[5*20+3]= 0.521646; |
---|
2479 | daa[5*20+4]= 0.091304; |
---|
2480 | daa[6*20+0]= 1.066681; |
---|
2481 | daa[6*20+1]= 0.318483; |
---|
2482 | daa[6*20+2]= 0.578115; |
---|
2483 | daa[6*20+3]= 7.766557; |
---|
2484 | daa[6*20+4]= 0.053907; |
---|
2485 | daa[6*20+5]= 3.417706; |
---|
2486 | daa[7*20+0]= 1.740159; |
---|
2487 | daa[7*20+1]= 1.359652; |
---|
2488 | daa[7*20+2]= 0.773313; |
---|
2489 | daa[7*20+3]= 1.272434; |
---|
2490 | daa[7*20+4]= 0.546389; |
---|
2491 | daa[7*20+5]= 0.231294; |
---|
2492 | daa[7*20+6]= 1.115632; |
---|
2493 | daa[8*20+0]= 0.219970; |
---|
2494 | daa[8*20+1]= 3.210671; |
---|
2495 | daa[8*20+2]= 4.025778; |
---|
2496 | daa[8*20+3]= 1.032342; |
---|
2497 | daa[8*20+4]= 0.724998; |
---|
2498 | daa[8*20+5]= 5.684080; |
---|
2499 | daa[8*20+6]= 0.243768; |
---|
2500 | daa[8*20+7]= 0.201696; |
---|
2501 | daa[9*20+0]= 0.361684; |
---|
2502 | daa[9*20+1]= 0.239195; |
---|
2503 | daa[9*20+2]= 0.491003; |
---|
2504 | daa[9*20+3]= 0.115968; |
---|
2505 | daa[9*20+4]= 0.150559; |
---|
2506 | daa[9*20+5]= 0.078270; |
---|
2507 | daa[9*20+6]= 0.111773; |
---|
2508 | daa[9*20+7]= 0.053769; |
---|
2509 | daa[9*20+8]= 0.181788; |
---|
2510 | daa[10*20+0]= 0.310007; |
---|
2511 | daa[10*20+1]= 0.372261; |
---|
2512 | daa[10*20+2]= 0.137289; |
---|
2513 | daa[10*20+3]= 0.061486; |
---|
2514 | daa[10*20+4]= 0.164593; |
---|
2515 | daa[10*20+5]= 0.709004; |
---|
2516 | daa[10*20+6]= 0.097485; |
---|
2517 | daa[10*20+7]= 0.069492; |
---|
2518 | daa[10*20+8]= 0.540571; |
---|
2519 | daa[10*20+9]= 2.335139; |
---|
2520 | daa[11*20+0]= 0.369437; |
---|
2521 | daa[11*20+1]= 6.529255; |
---|
2522 | daa[11*20+2]= 2.529517; |
---|
2523 | daa[11*20+3]= 0.282466; |
---|
2524 | daa[11*20+4]= 0.049009; |
---|
2525 | daa[11*20+5]= 2.966732; |
---|
2526 | daa[11*20+6]= 1.731684; |
---|
2527 | daa[11*20+7]= 0.269840; |
---|
2528 | daa[11*20+8]= 0.525096; |
---|
2529 | daa[11*20+9]= 0.202562; |
---|
2530 | daa[11*20+10]= 0.146481; |
---|
2531 | daa[12*20+0]= 0.469395; |
---|
2532 | daa[12*20+1]= 0.431045; |
---|
2533 | daa[12*20+2]= 0.330720; |
---|
2534 | daa[12*20+3]= 0.190001; |
---|
2535 | daa[12*20+4]= 0.409202; |
---|
2536 | daa[12*20+5]= 0.456901; |
---|
2537 | daa[12*20+6]= 0.175084; |
---|
2538 | daa[12*20+7]= 0.130379; |
---|
2539 | daa[12*20+8]= 0.329660; |
---|
2540 | daa[12*20+9]= 4.831666; |
---|
2541 | daa[12*20+10]= 3.856906; |
---|
2542 | daa[12*20+11]= 0.624581; |
---|
2543 | daa[13*20+0]= 0.138293; |
---|
2544 | daa[13*20+1]= 0.065314; |
---|
2545 | daa[13*20+2]= 0.073481; |
---|
2546 | daa[13*20+3]= 0.032522; |
---|
2547 | daa[13*20+4]= 0.678335; |
---|
2548 | daa[13*20+5]= 0.045683; |
---|
2549 | daa[13*20+6]= 0.043829; |
---|
2550 | daa[13*20+7]= 0.050212; |
---|
2551 | daa[13*20+8]= 0.453428; |
---|
2552 | daa[13*20+9]= 0.777090; |
---|
2553 | daa[13*20+10]= 2.500294; |
---|
2554 | daa[13*20+11]= 0.024521; |
---|
2555 | daa[13*20+12]= 0.436181; |
---|
2556 | daa[14*20+0]= 1.959599; |
---|
2557 | daa[14*20+1]= 0.710489; |
---|
2558 | daa[14*20+2]= 0.121804; |
---|
2559 | daa[14*20+3]= 0.127164; |
---|
2560 | daa[14*20+4]= 0.123653; |
---|
2561 | daa[14*20+5]= 1.608126; |
---|
2562 | daa[14*20+6]= 0.191994; |
---|
2563 | daa[14*20+7]= 0.208081; |
---|
2564 | daa[14*20+8]= 1.141961; |
---|
2565 | daa[14*20+9]= 0.098580; |
---|
2566 | daa[14*20+10]= 1.060504; |
---|
2567 | daa[14*20+11]= 0.216345; |
---|
2568 | daa[14*20+12]= 0.164215; |
---|
2569 | daa[14*20+13]= 0.148483; |
---|
2570 | daa[15*20+0]= 3.887095; |
---|
2571 | daa[15*20+1]= 1.001551; |
---|
2572 | daa[15*20+2]= 5.057964; |
---|
2573 | daa[15*20+3]= 0.589268; |
---|
2574 | daa[15*20+4]= 2.155331; |
---|
2575 | daa[15*20+5]= 0.548807; |
---|
2576 | daa[15*20+6]= 0.312449; |
---|
2577 | daa[15*20+7]= 1.874296; |
---|
2578 | daa[15*20+8]= 0.743458; |
---|
2579 | daa[15*20+9]= 0.405119; |
---|
2580 | daa[15*20+10]= 0.592511; |
---|
2581 | daa[15*20+11]= 0.474478; |
---|
2582 | daa[15*20+12]= 0.285564; |
---|
2583 | daa[15*20+13]= 0.943971; |
---|
2584 | daa[15*20+14]= 2.788406; |
---|
2585 | daa[16*20+0]= 4.582565; |
---|
2586 | daa[16*20+1]= 0.650282; |
---|
2587 | daa[16*20+2]= 2.351311; |
---|
2588 | daa[16*20+3]= 0.425159; |
---|
2589 | daa[16*20+4]= 0.469823; |
---|
2590 | daa[16*20+5]= 0.523825; |
---|
2591 | daa[16*20+6]= 0.331584; |
---|
2592 | daa[16*20+7]= 0.316862; |
---|
2593 | daa[16*20+8]= 0.477355; |
---|
2594 | daa[16*20+9]= 2.553806; |
---|
2595 | daa[16*20+10]= 0.272514; |
---|
2596 | daa[16*20+11]= 0.965641; |
---|
2597 | daa[16*20+12]= 2.114728; |
---|
2598 | daa[16*20+13]= 0.138904; |
---|
2599 | daa[16*20+14]= 1.176961; |
---|
2600 | daa[16*20+15]= 4.777647; |
---|
2601 | daa[17*20+0]= 0.084329; |
---|
2602 | daa[17*20+1]= 1.257961; |
---|
2603 | daa[17*20+2]= 0.027700; |
---|
2604 | daa[17*20+3]= 0.057466; |
---|
2605 | daa[17*20+4]= 1.104181; |
---|
2606 | daa[17*20+5]= 0.172206; |
---|
2607 | daa[17*20+6]= 0.114381; |
---|
2608 | daa[17*20+7]= 0.544180; |
---|
2609 | daa[17*20+8]= 0.128193; |
---|
2610 | daa[17*20+9]= 0.134510; |
---|
2611 | daa[17*20+10]= 0.530324; |
---|
2612 | daa[17*20+11]= 0.089134; |
---|
2613 | daa[17*20+12]= 0.201334; |
---|
2614 | daa[17*20+13]= 0.537922; |
---|
2615 | daa[17*20+14]= 0.069965; |
---|
2616 | daa[17*20+15]= 0.310927; |
---|
2617 | daa[17*20+16]= 0.080556; |
---|
2618 | daa[18*20+0]= 0.139492; |
---|
2619 | daa[18*20+1]= 0.235601; |
---|
2620 | daa[18*20+2]= 0.700693; |
---|
2621 | daa[18*20+3]= 0.453952; |
---|
2622 | daa[18*20+4]= 2.114852; |
---|
2623 | daa[18*20+5]= 0.254745; |
---|
2624 | daa[18*20+6]= 0.063452; |
---|
2625 | daa[18*20+7]= 0.052500; |
---|
2626 | daa[18*20+8]= 5.848400; |
---|
2627 | daa[18*20+9]= 0.303445; |
---|
2628 | daa[18*20+10]= 0.241094; |
---|
2629 | daa[18*20+11]= 0.087904; |
---|
2630 | daa[18*20+12]= 0.189870; |
---|
2631 | daa[18*20+13]= 5.484236; |
---|
2632 | daa[18*20+14]= 0.113850; |
---|
2633 | daa[18*20+15]= 0.628608; |
---|
2634 | daa[18*20+16]= 0.201094; |
---|
2635 | daa[18*20+17]= 0.747889; |
---|
2636 | daa[19*20+0]= 2.924161; |
---|
2637 | daa[19*20+1]= 0.171995; |
---|
2638 | daa[19*20+2]= 0.164525; |
---|
2639 | daa[19*20+3]= 0.315261; |
---|
2640 | daa[19*20+4]= 0.621323; |
---|
2641 | daa[19*20+5]= 0.179771; |
---|
2642 | daa[19*20+6]= 0.465271; |
---|
2643 | daa[19*20+7]= 0.470140; |
---|
2644 | daa[19*20+8]= 0.121827; |
---|
2645 | daa[19*20+9]= 9.533943; |
---|
2646 | daa[19*20+10]= 1.761439; |
---|
2647 | daa[19*20+11]= 0.124066; |
---|
2648 | daa[19*20+12]= 3.038533; |
---|
2649 | daa[19*20+13]= 0.593478; |
---|
2650 | daa[19*20+14]= 0.211561; |
---|
2651 | daa[19*20+15]= 0.408532; |
---|
2652 | daa[19*20+16]= 1.143980; |
---|
2653 | daa[19*20+17]= 0.239697; |
---|
2654 | daa[19*20+18]= 0.165473; |
---|
2655 | |
---|
2656 | f[0]= 0.077; |
---|
2657 | f[1]= 0.051; |
---|
2658 | f[2]= 0.043; |
---|
2659 | f[3]= 0.051; |
---|
2660 | f[4]= 0.020; |
---|
2661 | f[5]= 0.041; |
---|
2662 | f[6]= 0.062; |
---|
2663 | f[7]= 0.075; |
---|
2664 | f[8]= 0.023; |
---|
2665 | f[9]= 0.053; |
---|
2666 | f[10]= 0.091; |
---|
2667 | f[11]= 0.059; |
---|
2668 | f[12]= 0.024; |
---|
2669 | f[13]= 0.040; |
---|
2670 | f[14]= 0.051; |
---|
2671 | f[15]= 0.068; |
---|
2672 | f[16]= 0.059; |
---|
2673 | f[17]= 0.014; |
---|
2674 | f[18]= 0.032; |
---|
2675 | f[19]= 0.066; |
---|
2676 | } |
---|
2677 | break; |
---|
2678 | case FLU: |
---|
2679 | { |
---|
2680 | daa[ 1*20+ 0] = 0.138658765 ; |
---|
2681 | daa[ 2*20+ 0] = 0.053366579 ; |
---|
2682 | daa[ 2*20+ 1] = 0.161000889 ; |
---|
2683 | daa[ 3*20+ 0] = 0.584852306 ; |
---|
2684 | daa[ 3*20+ 1] = 0.006771843 ; |
---|
2685 | daa[ 3*20+ 2] = 7.737392871 ; |
---|
2686 | daa[ 4*20+ 0] = 0.026447095 ; |
---|
2687 | daa[ 4*20+ 1] = 0.167207008 ; |
---|
2688 | daa[ 4*20+ 2] = 1.30E-05 ; |
---|
2689 | daa[ 4*20+ 3] = 1.41E-02 ; |
---|
2690 | daa[ 5*20+ 0] = 0.353753982 ; |
---|
2691 | daa[ 5*20+ 1] = 3.292716942 ; |
---|
2692 | daa[ 5*20+ 2] = 0.530642655 ; |
---|
2693 | daa[ 5*20+ 3] = 0.145469388 ; |
---|
2694 | daa[ 5*20+ 4] = 0.002547334 ; |
---|
2695 | daa[ 6*20+ 0] = 1.484234503 ; |
---|
2696 | daa[ 6*20+ 1] = 0.124897617 ; |
---|
2697 | daa[ 6*20+ 2] = 0.061652192 ; |
---|
2698 | daa[ 6*20+ 3] = 5.370511279 ; |
---|
2699 | daa[ 6*20+ 4] = 3.91E-11 ; |
---|
2700 | daa[ 6*20+ 5] = 1.195629122 ; |
---|
2701 | daa[ 7*20+ 0] = 1.132313122 ; |
---|
2702 | daa[ 7*20+ 1] = 1.190624465 ; |
---|
2703 | daa[ 7*20+ 2] = 0.322524648 ; |
---|
2704 | daa[ 7*20+ 3] = 1.934832784 ; |
---|
2705 | daa[ 7*20+ 4] = 0.116941459 ; |
---|
2706 | daa[ 7*20+ 5] = 0.108051341 ; |
---|
2707 | daa[ 7*20+ 6] = 1.593098825 ; |
---|
2708 | daa[ 8*20+ 0] = 0.214757862 ; |
---|
2709 | daa[ 8*20+ 1] = 1.879569938 ; |
---|
2710 | daa[ 8*20+ 2] = 1.387096032 ; |
---|
2711 | daa[ 8*20+ 3] = 0.887570549 ; |
---|
2712 | daa[ 8*20+ 4] = 2.18E-02 ; |
---|
2713 | daa[ 8*20+ 5] = 5.330313412 ; |
---|
2714 | daa[ 8*20+ 6] = 0.256491863 ; |
---|
2715 | daa[ 8*20+ 7] = 0.058774527 ; |
---|
2716 | daa[ 9*20+ 0] = 0.149926734 ; |
---|
2717 | daa[ 9*20+ 1] = 0.246117172 ; |
---|
2718 | daa[ 9*20+ 2] = 0.218571975 ; |
---|
2719 | daa[ 9*20+ 3] = 0.014085917 ; |
---|
2720 | daa[ 9*20+ 4] = 0.001112158 ; |
---|
2721 | daa[ 9*20+ 5] = 0.02883995 ; |
---|
2722 | daa[ 9*20+ 6] = 1.42E-02 ; |
---|
2723 | daa[ 9*20+ 7] = 1.63E-05 ; |
---|
2724 | daa[ 9*20+ 8] = 0.243190142 ; |
---|
2725 | daa[10*20+ 0] = 0.023116952 ; |
---|
2726 | daa[10*20+ 1] = 0.296045557 ; |
---|
2727 | daa[10*20+ 2] = 8.36E-04 ; |
---|
2728 | daa[10*20+ 3] = 0.005730682 ; |
---|
2729 | daa[10*20+ 4] = 0.005613627 ; |
---|
2730 | daa[10*20+ 5] = 1.020366955 ; |
---|
2731 | daa[10*20+ 6] = 0.016499536 ; |
---|
2732 | daa[10*20+ 7] = 0.006516229 ; |
---|
2733 | daa[10*20+ 8] = 0.321611694 ; |
---|
2734 | daa[10*20+ 9] = 3.512072282 ; |
---|
2735 | daa[11*20+ 0] = 0.47433361 ; |
---|
2736 | daa[11*20+ 1] = 15.30009662 ; |
---|
2737 | daa[11*20+ 2] = 2.646847965 ; |
---|
2738 | daa[11*20+ 3] = 0.29004298 ; |
---|
2739 | daa[11*20+ 4] = 3.83E-06 ; |
---|
2740 | daa[11*20+ 5] = 2.559587177 ; |
---|
2741 | daa[11*20+ 6] = 3.881488809 ; |
---|
2742 | daa[11*20+ 7] = 0.264148929 ; |
---|
2743 | daa[11*20+ 8] = 0.347302791 ; |
---|
2744 | daa[11*20+ 9] = 0.227707997 ; |
---|
2745 | daa[11*20+10] = 0.129223639 ; |
---|
2746 | daa[12*20+ 0] = 0.058745423 ; |
---|
2747 | daa[12*20+ 1] = 0.890162346 ; |
---|
2748 | daa[12*20+ 2] = 0.005251688 ; |
---|
2749 | daa[12*20+ 3] = 0.041762964 ; |
---|
2750 | daa[12*20+ 4] = 0.11145731 ; |
---|
2751 | daa[12*20+ 5] = 0.190259181 ; |
---|
2752 | daa[12*20+ 6] = 0.313974351 ; |
---|
2753 | daa[12*20+ 7] = 0.001500467 ; |
---|
2754 | daa[12*20+ 8] = 0.001273509 ; |
---|
2755 | daa[12*20+ 9] = 9.017954203 ; |
---|
2756 | daa[12*20+10] = 6.746936485 ; |
---|
2757 | daa[12*20+11] = 1.331291619 ; |
---|
2758 | daa[13*20+ 0] = 0.080490909 ; |
---|
2759 | daa[13*20+ 1] = 1.61E-02 ; |
---|
2760 | daa[13*20+ 2] = 8.36E-04 ; |
---|
2761 | daa[13*20+ 3] = 1.06E-06 ; |
---|
2762 | daa[13*20+ 4] = 0.104053666 ; |
---|
2763 | daa[13*20+ 5] = 0.032680657 ; |
---|
2764 | daa[13*20+ 6] = 0.001003501 ; |
---|
2765 | daa[13*20+ 7] = 0.001236645 ; |
---|
2766 | daa[13*20+ 8] = 0.119028506 ; |
---|
2767 | daa[13*20+ 9] = 1.463357278 ; |
---|
2768 | daa[13*20+10] = 2.986800036 ; |
---|
2769 | daa[13*20+11] = 3.20E-01 ; |
---|
2770 | daa[13*20+12] = 0.279910509 ; |
---|
2771 | daa[14*20+ 0] = 0.659311478 ; |
---|
2772 | daa[14*20+ 1] = 0.15402718 ; |
---|
2773 | daa[14*20+ 2] = 3.64E-02 ; |
---|
2774 | daa[14*20+ 3] = 0.188539456 ; |
---|
2775 | daa[14*20+ 4] = 1.59E-13 ; |
---|
2776 | daa[14*20+ 5] = 0.712769599 ; |
---|
2777 | daa[14*20+ 6] = 0.319558828 ; |
---|
2778 | daa[14*20+ 7] = 0.038631761 ; |
---|
2779 | daa[14*20+ 8] = 0.924466914 ; |
---|
2780 | daa[14*20+ 9] = 0.080543327 ; |
---|
2781 | daa[14*20+10] = 0.634308521 ; |
---|
2782 | daa[14*20+11] = 0.195750632 ; |
---|
2783 | daa[14*20+12] = 5.69E-02 ; |
---|
2784 | daa[14*20+13] = 0.00713243 ; |
---|
2785 | daa[15*20+ 0] = 3.011344519 ; |
---|
2786 | daa[15*20+ 1] = 0.95013841 ; |
---|
2787 | daa[15*20+ 2] = 3.881310531 ; |
---|
2788 | daa[15*20+ 3] = 0.338372183 ; |
---|
2789 | daa[15*20+ 4] = 0.336263345 ; |
---|
2790 | daa[15*20+ 5] = 0.487822499 ; |
---|
2791 | daa[15*20+ 6] = 0.307140298 ; |
---|
2792 | daa[15*20+ 7] = 1.585646577 ; |
---|
2793 | daa[15*20+ 8] = 0.58070425 ; |
---|
2794 | daa[15*20+ 9] = 0.290381075 ; |
---|
2795 | daa[15*20+10] = 0.570766693 ; |
---|
2796 | daa[15*20+11] = 0.283807672 ; |
---|
2797 | daa[15*20+12] = 0.007026588 ; |
---|
2798 | daa[15*20+13] = 0.99668567 ; |
---|
2799 | daa[15*20+14] = 2.087385344 ; |
---|
2800 | daa[16*20+ 0] = 5.418298175 ; |
---|
2801 | daa[16*20+ 1] = 0.183076905 ; |
---|
2802 | daa[16*20+ 2] = 2.140332316 ; |
---|
2803 | daa[16*20+ 3] = 0.135481233 ; |
---|
2804 | daa[16*20+ 4] = 0.011975266 ; |
---|
2805 | daa[16*20+ 5] = 0.602340963 ; |
---|
2806 | daa[16*20+ 6] = 0.280124895 ; |
---|
2807 | daa[16*20+ 7] = 0.01880803 ; |
---|
2808 | daa[16*20+ 8] = 0.368713573 ; |
---|
2809 | daa[16*20+ 9] = 2.904052286 ; |
---|
2810 | daa[16*20+10] = 0.044926357 ; |
---|
2811 | daa[16*20+11] = 1.5269642 ; |
---|
2812 | daa[16*20+12] = 2.031511321 ; |
---|
2813 | daa[16*20+13] = 0.000134906 ; |
---|
2814 | daa[16*20+14] = 0.542251094 ; |
---|
2815 | daa[16*20+15] = 2.206859934 ; |
---|
2816 | daa[17*20+ 0] = 1.96E-01 ; |
---|
2817 | daa[17*20+ 1] = 1.369429408 ; |
---|
2818 | daa[17*20+ 2] = 5.36E-04 ; |
---|
2819 | daa[17*20+ 3] = 1.49E-05 ; |
---|
2820 | daa[17*20+ 4] = 0.09410668 ; |
---|
2821 | daa[17*20+ 5] = 4.40E-02 ; |
---|
2822 | daa[17*20+ 6] = 0.155245492 ; |
---|
2823 | daa[17*20+ 7] = 0.196486447 ; |
---|
2824 | daa[17*20+ 8] = 2.24E-02 ; |
---|
2825 | daa[17*20+ 9] = 0.03213215 ; |
---|
2826 | daa[17*20+10] = 0.431277663 ; |
---|
2827 | daa[17*20+11] = 4.98E-05 ; |
---|
2828 | daa[17*20+12] = 0.070460039 ; |
---|
2829 | daa[17*20+13] = 0.814753094 ; |
---|
2830 | daa[17*20+14] = 0.000431021 ; |
---|
2831 | daa[17*20+15] = 0.099835753 ; |
---|
2832 | daa[17*20+16] = 0.207066206 ; |
---|
2833 | daa[18*20+ 0] = 0.018289288 ; |
---|
2834 | daa[18*20+ 1] = 0.099855497 ; |
---|
2835 | daa[18*20+ 2] = 0.373101927 ; |
---|
2836 | daa[18*20+ 3] = 0.525398543 ; |
---|
2837 | daa[18*20+ 4] = 0.601692431 ; |
---|
2838 | daa[18*20+ 5] = 0.072205935 ; |
---|
2839 | daa[18*20+ 6] = 0.10409287 ; |
---|
2840 | daa[18*20+ 7] = 0.074814997 ; |
---|
2841 | daa[18*20+ 8] = 6.448954446 ; |
---|
2842 | daa[18*20+ 9] = 0.273934263 ; |
---|
2843 | daa[18*20+10] = 0.340058468 ; |
---|
2844 | daa[18*20+11] = 0.012416222 ; |
---|
2845 | daa[18*20+12] = 0.874272175 ; |
---|
2846 | daa[18*20+13] = 5.393924245 ; |
---|
2847 | daa[18*20+14] = 1.82E-04 ; |
---|
2848 | daa[18*20+15] = 0.39255224 ; |
---|
2849 | daa[18*20+16] = 0.12489802 ; |
---|
2850 | daa[18*20+17] = 0.42775543 ; |
---|
2851 | daa[19*20+ 0] = 3.53200527 ; |
---|
2852 | daa[19*20+ 1] = 0.103964386 ; |
---|
2853 | daa[19*20+ 2] = 0.010257517 ; |
---|
2854 | daa[19*20+ 3] = 0.297123975 ; |
---|
2855 | daa[19*20+ 4] = 0.054904564 ; |
---|
2856 | daa[19*20+ 5] = 0.406697814 ; |
---|
2857 | daa[19*20+ 6] = 0.285047948 ; |
---|
2858 | daa[19*20+ 7] = 0.337229619 ; |
---|
2859 | daa[19*20+ 8] = 0.098631355 ; |
---|
2860 | daa[19*20+ 9] = 14.39405219 ; |
---|
2861 | daa[19*20+10] = 0.890598579 ; |
---|
2862 | daa[19*20+11] = 0.07312793 ; |
---|
2863 | daa[19*20+12] = 4.904842235 ; |
---|
2864 | daa[19*20+13] = 0.592587985 ; |
---|
2865 | daa[19*20+14] = 0.058971975 ; |
---|
2866 | daa[19*20+15] = 0.088256423 ; |
---|
2867 | daa[19*20+16] = 0.654109108 ; |
---|
2868 | daa[19*20+17] = 0.256900461 ; |
---|
2869 | daa[19*20+18] = 0.167581647 ; |
---|
2870 | |
---|
2871 | |
---|
2872 | |
---|
2873 | f[0] = 0.0471 ; |
---|
2874 | f[1] = 0.0509 ; |
---|
2875 | f[2] = 0.0742 ; |
---|
2876 | f[3] = 0.0479 ; |
---|
2877 | f[4] = 0.0250 ; |
---|
2878 | f[5] = 0.0333 ; |
---|
2879 | f[6] = 0.0546 ; |
---|
2880 | f[7] = 0.0764 ; |
---|
2881 | f[8] = 0.0200 ; |
---|
2882 | f[9] = 0.0671 ; |
---|
2883 | f[10] = 0.0715 ; |
---|
2884 | f[11] = 0.0568 ; |
---|
2885 | f[12] = 0.0181 ; |
---|
2886 | f[13] = 0.0305 ; |
---|
2887 | f[14] = 0.0507 ; |
---|
2888 | f[15] = 0.0884 ; |
---|
2889 | f[16] = 0.0743 ; |
---|
2890 | f[17] = 0.0185 ; |
---|
2891 | f[18] = 0.0315 ; |
---|
2892 | f[19] = 0.0632 ; |
---|
2893 | } |
---|
2894 | break; |
---|
2895 | case LG4: |
---|
2896 | case LG4X: |
---|
2897 | { |
---|
2898 | double |
---|
2899 | rates[4][190] = |
---|
2900 | { |
---|
2901 | { |
---|
2902 | 0.269343 |
---|
2903 | , 0.254612, 0.150988 |
---|
2904 | , 0.236821, 0.031863, 0.659648 |
---|
2905 | , 2.506547, 0.938594, 0.975736, 0.175533 |
---|
2906 | , 0.359080, 0.348288, 0.697708, 0.086573, 0.095967 |
---|
2907 | , 0.304674, 0.156000, 0.377704, 0.449140, 0.064706, 4.342595 |
---|
2908 | , 1.692015, 0.286638, 0.565095, 0.380358, 0.617945, 0.202058, 0.264342 |
---|
2909 | , 0.251974, 0.921633, 1.267609, 0.309692, 0.390429, 2.344059, 0.217750, 0.104842 |
---|
2910 | , 1.085220, 0.325624, 0.818658, 0.037814, 1.144150, 0.534567, 0.222793, 0.062682, 0.567431 |
---|
2911 | , 0.676353, 0.602366, 0.217027, 0.007533, 1.595775, 0.671143, 0.158424, 0.070463, 0.764255, 8.226528 |
---|
2912 | , 0.179155, 0.971338, 1.343718, 0.133744, 0.122468, 0.983857, 0.994128, 0.220916, 0.410581, 0.387487, 0.181110 |
---|
2913 | , 1.636817, 0.515217, 0.670461, 0.071252, 1.534848, 5.288642, 0.255628, 0.094198, 0.257229, 25.667158, 6.819689, 1.591212 |
---|
2914 | , 0.235498, 0.123932, 0.099793, 0.030425, 0.897279, 0.112229, 0.022529, 0.047488, 0.762914, 1.344259, 0.865691, 0.038921, 2.030833 |
---|
2915 | , 1.265605, 0.040163, 0.173354, 0.027579, 0.259961, 0.580374, 0.088041, 0.145595, 0.143676, 0.298859, 1.020117, 0.000714, 0.190019, 0.093964 |
---|
2916 | , 5.368405, 0.470952, 5.267140, 0.780505, 4.986071, 0.890554, 0.377949, 1.755515, 0.786352, 0.527246, 0.667783, 0.659948, 0.731921, 0.837669, 1.355630 |
---|
2917 | , 1.539394, 0.326789, 1.688169, 0.283738, 1.389282, 0.329821, 0.231770, 0.117017, 0.449977, 3.531600, 0.721586, 0.497588, 2.691697, 0.152088, 0.698040, 16.321298 |
---|
2918 | , 0.140944, 0.375611, 0.025163, 0.002757, 0.801456, 0.257253, 0.103678, 0.132995, 0.345834, 0.377156, 0.839647, 0.176970, 0.505682, 1.670170, 0.091298, 0.210096, 0.013165 |
---|
2919 | , 0.199836, 0.146857, 0.806275, 0.234246, 1.436970, 0.319669, 0.010076, 0.036859, 3.503317, 0.598632, 0.738969, 0.154436, 0.579000, 4.245524, 0.074524, 0.454195, 0.232913, 1.178490 |
---|
2920 | , 9.435529, 0.285934, 0.395670, 0.130890, 6.097263, 0.516259, 0.503665, 0.222960, 0.149143, 13.666175, 2.988174, 0.162725, 5.973826, 0.843416, 0.597394, 0.701149, 4.680002, 0.300085, 0.416262 |
---|
2921 | }, |
---|
2922 | { |
---|
2923 | 0.133720 |
---|
2924 | , 0.337212, 0.749052 |
---|
2925 | , 0.110918, 0.105087, 4.773487 |
---|
2926 | , 3.993460, 0.188305, 1.590332, 0.304942 |
---|
2927 | , 0.412075, 2.585774, 1.906884, 0.438367, 0.242076 |
---|
2928 | , 0.435295, 0.198278, 0.296366, 7.470333, 0.008443, 3.295515 |
---|
2929 | , 7.837540, 0.164607, 0.431724, 0.153850, 1.799716, 0.269744, 0.242866 |
---|
2930 | , 0.203872, 2.130334, 9.374479, 1.080878, 0.152458, 12.299133, 0.279589, 0.089714 |
---|
2931 | , 0.039718, 0.024553, 0.135254, 0.014979, 0.147498, 0.033964, 0.005585, 0.007248, 0.022746 |
---|
2932 | , 0.075784, 0.080091, 0.084971, 0.014128, 0.308347, 0.500836, 0.022833, 0.022999, 0.161270, 1.511682 |
---|
2933 | , 0.177662, 10.373708, 1.036721, 0.038303, 0.043030, 2.181033, 0.321165, 0.103050, 0.459502, 0.021215, 0.078395 |
---|
2934 | , 0.420784, 0.192765, 0.329545, 0.008331, 0.883142, 1.403324, 0.168673, 0.160728, 0.612573, 1.520889, 7.763266, 0.307903 |
---|
2935 | , 0.071268, 0.019652, 0.088753, 0.013547, 0.566609, 0.071878, 0.020050, 0.041022, 0.625361, 0.382806, 1.763059, 0.044644, 1.551911 |
---|
2936 | , 0.959127, 1.496585, 0.377794, 0.332010, 0.318192, 1.386970, 0.915904, 0.224255, 2.611479, 0.029351, 0.068250, 1.542356, 0.047525, 0.182715 |
---|
2937 | , 11.721512, 0.359408, 2.399158, 0.219464, 9.104192, 0.767563, 0.235229, 3.621219, 0.971955, 0.033780, 0.043035, 0.236929, 0.319964, 0.124977, 0.840651 |
---|
2938 | , 2.847068, 0.218463, 1.855386, 0.109808, 4.347048, 0.765848, 0.164569, 0.312024, 0.231569, 0.356327, 0.159597, 0.403210, 1.135162, 0.106903, 0.269190, 9.816481 |
---|
2939 | , 0.030203, 0.387292, 0.118878, 0.067287, 0.190240, 0.122113, 0.007023, 0.137411, 0.585141, 0.020634, 0.228824, 0.000122, 0.474862, 3.135128, 0.030313, 0.093830, 0.119152 |
---|
2940 | , 0.067183, 0.130101, 0.348730, 0.061798, 0.301198, 0.095382, 0.095764, 0.044628, 2.107384, 0.046105, 0.100117, 0.017073, 0.192383, 8.367641, 0.000937, 0.137416, 0.044722, 4.179782 |
---|
2941 | , 0.679398, 0.041567, 0.092408, 0.023701, 1.271187, 0.115566, 0.055277, 0.086988, 0.060779, 8.235167, 0.609420, 0.061764, 0.581962, 0.184187, 0.080246, 0.098033, 1.438350, 0.023439, 0.039124 |
---|
2942 | }, |
---|
2943 | { |
---|
2944 | 0.421017 |
---|
2945 | , 0.316236, 0.693340 |
---|
2946 | , 0.285984, 0.059926, 6.158219 |
---|
2947 | , 4.034031, 1.357707, 0.708088, 0.063669 |
---|
2948 | , 0.886972, 2.791622, 1.701830, 0.484347, 0.414286 |
---|
2949 | , 0.760525, 0.233051, 0.378723, 4.032667, 0.081977, 4.940411 |
---|
2950 | , 0.754103, 0.402894, 2.227443, 1.102689, 0.416576, 0.459376, 0.508409 |
---|
2951 | , 0.571422, 2.319453, 5.579973, 0.885376, 1.439275, 4.101979, 0.576745, 0.428799 |
---|
2952 | , 0.162152, 0.085229, 0.095692, 0.006129, 0.490937, 0.104843, 0.045514, 0.004705, 0.098934 |
---|
2953 | , 0.308006, 0.287051, 0.056994, 0.007102, 0.958988, 0.578990, 0.067119, 0.024403, 0.342983, 3.805528 |
---|
2954 | , 0.390161, 7.663209, 1.663641, 0.105129, 0.135029, 3.364474, 0.652618, 0.457702, 0.823674, 0.129858, 0.145630 |
---|
2955 | , 1.042298, 0.364551, 0.293222, 0.037983, 1.486520, 1.681752, 0.192414, 0.070498, 0.222626, 4.529623, 4.781730, 0.665308 |
---|
2956 | , 0.362476, 0.073439, 0.129245, 0.020078, 1.992483, 0.114549, 0.023272, 0.064490, 1.491794, 1.113437, 2.132006, 0.041677, 1.928654 |
---|
2957 | , 1.755491, 0.087050, 0.099325, 0.163817, 0.242851, 0.322939, 0.062943, 0.198698, 0.192904, 0.062948, 0.180283, 0.059655, 0.129323, 0.065778 |
---|
2958 | , 3.975060, 0.893398, 5.496314, 1.397313, 3.575120, 1.385297, 0.576191, 1.733288, 1.021255, 0.065131, 0.129115, 0.600308, 0.387276, 0.446001, 1.298493 |
---|
2959 | , 2.565079, 0.534056, 2.143993, 0.411388, 2.279084, 0.893006, 0.528209, 0.135731, 0.518741, 0.972662, 0.280700, 0.890086, 1.828755, 0.189028, 0.563778, 7.788147 |
---|
2960 | , 0.283631, 0.497926, 0.075454, 0.043794, 1.335322, 0.308605, 0.140137, 0.150797, 1.409726, 0.119868, 0.818331, 0.080591, 1.066017, 3.754687, 0.073415, 0.435046, 0.197272 |
---|
2961 | , 0.242513, 0.199157, 0.472207, 0.085937, 2.039787, 0.262751, 0.084578, 0.032247, 7.762326, 0.153966, 0.299828, 0.117255, 0.438215, 14.506235, 0.089180, 0.352766, 0.215417, 5.054245 |
---|
2962 | , 2.795818, 0.107130, 0.060909, 0.029724, 2.986426, 0.197267, 0.196977, 0.044327, 0.116751, 7.144311, 1.848622, 0.118020, 1.999696, 0.705747, 0.272763, 0.096935, 1.820982, 0.217007, 0.172975 |
---|
2963 | }, |
---|
2964 | { |
---|
2965 | 0.576160 |
---|
2966 | , 0.567606, 0.498643 |
---|
2967 | , 0.824359, 0.050698, 3.301401 |
---|
2968 | , 0.822724, 4.529235, 1.291808, 0.101930 |
---|
2969 | , 1.254238, 2.169809, 1.427980, 0.449474, 0.868679 |
---|
2970 | , 1.218615, 0.154502, 0.411471, 3.172277, 0.050239, 2.138661 |
---|
2971 | , 1.803443, 0.604673, 2.125496, 1.276384, 1.598679, 0.502653, 0.479490 |
---|
2972 | , 0.516862, 2.874265, 4.845769, 0.719673, 3.825677, 4.040275, 0.292773, 0.596643 |
---|
2973 | , 0.180898, 0.444586, 0.550969, 0.023542, 2.349573, 0.370160, 0.142187, 0.016618, 0.500788 |
---|
2974 | , 0.452099, 0.866322, 0.201033, 0.026731, 2.813990, 1.645178, 0.135556, 0.072152, 1.168817, 5.696116 |
---|
2975 | , 0.664186, 2.902886, 2.101971, 0.127988, 0.200218, 2.505933, 0.759509, 0.333569, 0.623100, 0.547454, 0.363656 |
---|
2976 | , 0.864415, 0.835049, 0.632649, 0.079201, 2.105931, 1.633544, 0.216462, 0.252419, 0.665406, 7.994105, 11.751178, 1.096842 |
---|
2977 | , 0.324478, 0.208947, 0.280339, 0.041683, 4.788477, 0.107022, 0.067711, 0.171320, 3.324779, 2.965328, 5.133843, 0.084856, 4.042591 |
---|
2978 | , 1.073043, 0.173826, 0.041985, 0.270336, 0.121299, 0.351384, 0.228565, 0.225318, 0.376089, 0.058027, 0.390354, 0.214230, 0.058954, 0.126299 |
---|
2979 | , 3.837562, 0.884342, 4.571911, 0.942751, 6.592827, 1.080063, 0.465397, 3.137614, 1.119667, 0.362516, 0.602355, 0.716940, 0.506796, 1.444484, 1.432558 |
---|
2980 | , 2.106026, 0.750016, 2.323325, 0.335915, 1.654673, 1.194017, 0.617231, 0.318671, 0.801030, 4.455842, 0.580191, 1.384210, 3.522468, 0.473128, 0.432718, 5.716300 |
---|
2981 | , 0.163720, 0.818102, 0.072322, 0.068275, 3.305436, 0.373790, 0.054323, 0.476587, 1.100360, 0.392946, 1.703323, 0.085720, 1.725516, 5.436253, 0.053108, 0.498594, 0.231832 |
---|
2982 | , 0.241167, 0.302440, 1.055095, 0.246940, 9.741942, 0.249895, 0.129973, 0.052363, 11.542498, 1.047449, 1.319667, 0.139770, 1.330225, 26.562270, 0.046986, 0.737653, 0.313460, 5.165098 |
---|
2983 | , 1.824586, 0.435795, 0.179086, 0.091739, 3.609570, 0.649507, 0.656681, 0.225234, 0.473437, 19.897252, 3.001995, 0.452926, 3.929598, 1.692159, 0.370204, 0.373501, 3.329822, 0.326593, 0.860743 |
---|
2984 | } |
---|
2985 | }; |
---|
2986 | |
---|
2987 | double |
---|
2988 | freqs[4][20] = |
---|
2989 | {{0.082276,0.055172,0.043853,0.053484,0.018957,0.028152,0.046679,0.157817,0.033297,0.028284,0.054284,0.025275,0.023665,0.041874,0.063071,0.066501,0.065424,0.023837,0.038633,0.049465}, |
---|
2990 | {0.120900,0.036460,0.026510,0.040410,0.015980,0.021132,0.025191,0.036369,0.015884,0.111029,0.162852,0.024820,0.028023,0.074058,0.012065,0.041963,0.039072,0.012666,0.040478,0.114137}, |
---|
2991 | {0.072639,0.051691,0.038642,0.055580,0.009829,0.031374,0.048731,0.065283,0.023791,0.086640,0.120847,0.052177,0.026728,0.032589,0.039238,0.046748,0.053361,0.008024,0.037426,0.098662}, |
---|
2992 | {0.104843,0.078835,0.043513,0.090498,0.002924,0.066163,0.151640,0.038843,0.022556,0.018383,0.038687,0.104462,0.010166,0.009089,0.066950,0.053667,0.049486,0.004409,0.012924,0.031963}}; |
---|
2993 | |
---|
2994 | int |
---|
2995 | i, |
---|
2996 | j, |
---|
2997 | r = 0; |
---|
2998 | |
---|
2999 | for(i = 1; i < 20; i++) |
---|
3000 | for(j = 0; j < i; j++) |
---|
3001 | { |
---|
3002 | daa[i * 20 + j] = rates[lg4_index][r]; |
---|
3003 | r++; |
---|
3004 | } |
---|
3005 | |
---|
3006 | assert(r == 190); |
---|
3007 | |
---|
3008 | for(i = 0; i < 20; i++) |
---|
3009 | f[i] = freqs[lg4_index][i]; |
---|
3010 | |
---|
3011 | } |
---|
3012 | break; |
---|
3013 | case DUMMY: |
---|
3014 | { |
---|
3015 | double |
---|
3016 | rates[190] = {10.7, |
---|
3017 | 0.2, 3.7, |
---|
3018 | 4.3, 0.2, 1024.8, |
---|
3019 | 26.1, 28.2, 46.5, 0.2, |
---|
3020 | 0.2, 316.9, 32.4, 12.6, 13.7, |
---|
3021 | 23.0, 0.2, 26.6, 814.8, 0.2, 159.5, |
---|
3022 | 76.3, 9.6, 39.3, 33.1, 23.5, 2.6, 56.8, |
---|
3023 | 0.2, 212.7, 294.3, 59.4, 131.9, 604.6, 5.1, 1.5, |
---|
3024 | 41.9, 0.7, 15.2, 0.2, 0.2, 0.2, 0.2, 1.4, 0.2, |
---|
3025 | 4.8, 4.9, 0.2, 0.2, 19.9, 25.3, 0.2, 0.2, 11.0, 133.7, |
---|
3026 | 1.7, 17.2, 331.6, 5.5, 0.2, 164.7, 237.8, 5.7, 12.7, 0.2, 0.2, |
---|
3027 | 124.0, 0.2, 0.2, 0.2, 0.2, 6.9, 1.5, 0.5, 1.2, 322.3, 416.2, 36.8, |
---|
3028 | 2.5, 0.2, 0.4, 0.2, 77.4, 0.2, 0.2, 0.7, 15.4, 44.1, 277.9, 0.2, 8.3, |
---|
3029 | 41.3, 8.3, 0.2, 2.5, 0.2, 75.8, 0.2, 0.4, 75.7, 2.6, 52.1, 3.9, 1.3, 11.1, |
---|
3030 | 307.4, 7.1, 491.3, 15.0, 437.3, 25.3, 7.4, 105.9, 56.4, 2.4, 81.0, 24.2, 6.6, 122.8, 327.1, |
---|
3031 | 782.7, 0.4, 94.0, 19.0, 24.9, 12.5, 1.6, 0.2, 9.6, 360.6, 16.6, 48.8, 651.4, 3.9, 64.7, 455.7, |
---|
3032 | 0.2, 18.3, 0.2, 0.2, 133.5, 4.3, 0.2, 6.5, 1.2, 0.2, 10.7, 0.2, 0.6, 2.0, 0.5, 4.2, 0.2, |
---|
3033 | 0.2, 1.0, 85.7, 29.4, 994.7, 6.6, 0.2, 0.2, 2096.0, 6.2, 15.5, 1.6, 6.5, 502.9, 11.5, 63.6, 4.3, 10.1, |
---|
3034 | 565.4, 0.2, 1.7, 14.9, 20.9, 0.2, 13.5, 13.5, 0.2, 1987.0, 74.0, 1.7, 716.8, 5.6, 2.7, 0.9, 246.3, 3.0, 0.2}; |
---|
3035 | |
---|
3036 | double |
---|
3037 | freqs[20] = { 0.066446, 0.017604, 0.043105, 0.017760, 0.005969, 0.024329, 0.023622, 0.052890, 0.026973, 0.088543, |
---|
3038 | 0.162813, 0.025336, 0.062589, 0.061567, 0.053608, 0.074271, 0.087828, 0.027617, 0.034022, 0.043108}; |
---|
3039 | |
---|
3040 | int |
---|
3041 | i, j, r = 0; |
---|
3042 | |
---|
3043 | for(i = 1; i < 20; i++) |
---|
3044 | for(j = 0; j < i; j++) |
---|
3045 | { |
---|
3046 | daa[i * 20 + j] = rates[r]; |
---|
3047 | r++; |
---|
3048 | } |
---|
3049 | |
---|
3050 | assert(r == 190); |
---|
3051 | |
---|
3052 | for(i = 0; i < 20; i++) |
---|
3053 | f[i] = freqs[i]; |
---|
3054 | } |
---|
3055 | break; |
---|
3056 | case DUMMY2: |
---|
3057 | { |
---|
3058 | double rates[190] = { 6.5, |
---|
3059 | 4.5, 10.6, |
---|
3060 | 84.3, 9.5, 643.2, |
---|
3061 | 19.5, 353.7, 10.9, 10.7, |
---|
3062 | 6.1, 486.3, 18.0, 11.6, 0.1, |
---|
3063 | 74.5, 21.5, 13.0, 437.4, 0.1, 342.6, |
---|
3064 | 118.1, 183.9, 17.4, 150.3, 86.8, 7.1, 161.9, |
---|
3065 | 2.8, 346.6, 345.3, 202.4, 111.8, 450.1, 6.2, 2.2, |
---|
3066 | 1.5, 50.6, 25.6, 5.6, 3.4, 3.6, 4.3, 2.5, 8.4, |
---|
3067 | 3.9, 36.9, 2.4, 5.9, 20.3, 26.1, 5.1, 3.4, 17.3, 205.0, |
---|
3068 | 4.2, 712.1, 639.2, 10.1, 0.1, 500.5, 426.6, 29.3, 9.2, 37.9, 10.8, |
---|
3069 | 13.4, 53.5, 9.9, 3.8, 10.5, 9.5, 9.6, 3.8, 3.6, 534.9, 142.8, 83.6, |
---|
3070 | 4.3, 5.0, 8.7, 7.5, 238.0, 2.4, 7.7, 3.1, 11.0, 61.0, 542.3, 9.4, 3.8, |
---|
3071 | 91.2, 69.0, 3.5, 13.4, 6.5, 145.6, 8.1, 2.6, 133.9, 2.1, 155.8, 21.2, 10.5, 12.6, |
---|
3072 | 251.1, 82.9, 271.4, 34.8, 471.9, 10.7, 16.4, 136.7, 19.2, 36.2, 160.3, 23.9, 6.2, 249.4, 348.6, |
---|
3073 | 467.5, 82.5, 215.5, 8.0, 7.4, 5.4, 11.6, 6.3, 3.8, 266.2, 10.7, 140.2, 295.2, 3.6, 181.2, 144.8, |
---|
3074 | 3.4, 171.8, 6.1, 3.5, 518.6, 17.0, 9.1, 49.0, 5.7, 3.3, 98.8, 2.3, 11.1, 34.1, 1.1, 56.3, 1.5, |
---|
3075 | 2.2, 4.3, 69.9, 202.9, 579.1, 9.4, 9.1, 2.1, 889.2, 10.8, 9.6, 20.1, 3.4, 255.9, 5.6, 264.3, 3.3, 21.7, |
---|
3076 | 363.2, 8.4, 1.6, 10.3, 37.8, 5.1, 21.6, 76.0, 1.1, 595.0, 155.8, 9.2, 191.9, 102.2, 7.7, 10.1, 36.8, 5.0, 7.2}; |
---|
3077 | |
---|
3078 | double freqs[20] = {0.061007, 0.060799, 0.043028, 0.038515, 0.011297, 0.035406, 0.050764, 0.073749, 0.024609, 0.085629, |
---|
3079 | 0.106930, 0.046704, 0.023382, 0.056136, 0.043289, 0.073994, 0.052078, 0.018023, 0.036043, 0.058620}; |
---|
3080 | |
---|
3081 | |
---|
3082 | int |
---|
3083 | i, j, r = 0; |
---|
3084 | |
---|
3085 | for(i = 1; i < 20; i++) |
---|
3086 | for(j = 0; j < i; j++) |
---|
3087 | { |
---|
3088 | daa[i * 20 + j] = rates[r]; |
---|
3089 | r++; |
---|
3090 | } |
---|
3091 | |
---|
3092 | assert(r == 190); |
---|
3093 | |
---|
3094 | for(i = 0; i < 20; i++) |
---|
3095 | f[i] = freqs[i]; |
---|
3096 | |
---|
3097 | } |
---|
3098 | |
---|
3099 | break; |
---|
3100 | default: |
---|
3101 | assert(0); |
---|
3102 | } |
---|
3103 | } |
---|
3104 | |
---|
3105 | |
---|
3106 | /* |
---|
3107 | |
---|
3108 | TODO review frequency sums for fixed as well as empirical base frequencies ! |
---|
3109 | |
---|
3110 | NUMERICAL BUG fix, rounded AA freqs in some models, such that |
---|
3111 | they actually really sum to 1.0 +/- epsilon |
---|
3112 | |
---|
3113 | { |
---|
3114 | double acc = 0.0; |
---|
3115 | |
---|
3116 | for(i = 0; i < 20; i++) |
---|
3117 | acc += f[i]; |
---|
3118 | |
---|
3119 | printf("%1.80f\n", acc); |
---|
3120 | assert(acc == 1.0); |
---|
3121 | } |
---|
3122 | */ |
---|
3123 | |
---|
3124 | |
---|
3125 | |
---|
3126 | for (i=0; i<20; i++) |
---|
3127 | for (j=0; j<i; j++) |
---|
3128 | daa[j*20+i] = daa[i*20+j]; |
---|
3129 | |
---|
3130 | |
---|
3131 | /* |
---|
3132 | for (i=0; i<20; i++) |
---|
3133 | { |
---|
3134 | for (j=0; j<20; j++) |
---|
3135 | { |
---|
3136 | if(i == j) |
---|
3137 | printf("0.0 "); |
---|
3138 | else |
---|
3139 | printf("%f ", daa[i * 20 + j]); |
---|
3140 | } |
---|
3141 | printf("\n"); |
---|
3142 | } |
---|
3143 | |
---|
3144 | for (i=0; i<20; i++) |
---|
3145 | printf("%f ", f[i]); |
---|
3146 | printf("\n"); |
---|
3147 | */ |
---|
3148 | |
---|
3149 | |
---|
3150 | max = 0; |
---|
3151 | |
---|
3152 | for(i = 0; i < 19; i++) |
---|
3153 | for(j = i + 1; j < 20; j++) |
---|
3154 | { |
---|
3155 | q[i][j] = temp = daa[i * 20 + j]; |
---|
3156 | if(temp > max) |
---|
3157 | max = temp; |
---|
3158 | } |
---|
3159 | |
---|
3160 | scaler = AA_SCALE / max; |
---|
3161 | |
---|
3162 | /* SCALING HAS BEEN RE-INTRODUCED TO RESOLVE NUMERICAL PROBLEMS */ |
---|
3163 | |
---|
3164 | r = 0; |
---|
3165 | for(i = 0; i < 19; i++) |
---|
3166 | { |
---|
3167 | for(j = i + 1; j < 20; j++) |
---|
3168 | { |
---|
3169 | |
---|
3170 | q[i][j] *= scaler; |
---|
3171 | |
---|
3172 | |
---|
3173 | assert(q[i][j] <= AA_SCALE_PLUS_EPSILON); |
---|
3174 | |
---|
3175 | initialRates[r++] = q[i][j]; |
---|
3176 | } |
---|
3177 | } |
---|
3178 | } |
---|
3179 | |
---|
3180 | |
---|
3181 | |
---|
3182 | static void updateFracChange(tree *tr) |
---|
3183 | { |
---|
3184 | if(tr->NumberOfModels == 1) |
---|
3185 | { |
---|
3186 | assert(tr->fracchanges[0] != -1.0); |
---|
3187 | tr->fracchange = tr->fracchanges[0]; |
---|
3188 | tr->fracchanges[0] = -1.0; |
---|
3189 | |
---|
3190 | if(tr->useBrLenScaler) |
---|
3191 | scaleBranches(tr, FALSE); |
---|
3192 | } |
---|
3193 | else |
---|
3194 | { |
---|
3195 | int |
---|
3196 | model, |
---|
3197 | i; |
---|
3198 | |
---|
3199 | double |
---|
3200 | *modelWeights = (double *)rax_calloc(tr->NumberOfModels, sizeof(double)), |
---|
3201 | wgtsum = 0.0; |
---|
3202 | |
---|
3203 | assert(tr->NumberOfModels > 1); |
---|
3204 | |
---|
3205 | tr->fracchange = 0.0; |
---|
3206 | |
---|
3207 | for(i = 0; i < tr->cdta->endsite; i++) |
---|
3208 | { |
---|
3209 | modelWeights[tr->model[i]] += (double)tr->cdta->aliaswgt[i]; |
---|
3210 | wgtsum += (double)tr->cdta->aliaswgt[i]; |
---|
3211 | } |
---|
3212 | |
---|
3213 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
3214 | { |
---|
3215 | tr->partitionContributions[model] = modelWeights[model] / wgtsum; |
---|
3216 | tr->fracchange += tr->partitionContributions[model] * tr->fracchanges[model]; |
---|
3217 | } |
---|
3218 | |
---|
3219 | if(tr->useBrLenScaler) |
---|
3220 | scaleBranches(tr, FALSE); |
---|
3221 | |
---|
3222 | rax_free(modelWeights); |
---|
3223 | } |
---|
3224 | |
---|
3225 | tr->rawFracchange = tr->fracchange; |
---|
3226 | memcpy(tr->rawFracchanges, tr->fracchanges, sizeof(double) * tr->NumberOfModels); |
---|
3227 | } |
---|
3228 | |
---|
3229 | static void mytred2(double **a, const int n, double *d, double *e) |
---|
3230 | { |
---|
3231 | int l, k, j, i; |
---|
3232 | double scale, hh, h, g, f; |
---|
3233 | |
---|
3234 | for (i = n; i > 1; i--) |
---|
3235 | { |
---|
3236 | l = i - 1; |
---|
3237 | h = 0.0; |
---|
3238 | scale = 0.0; |
---|
3239 | |
---|
3240 | if (l > 1) |
---|
3241 | { |
---|
3242 | for (k = 1; k <= l; k++) |
---|
3243 | scale += fabs(a[k - 1][i - 1]); |
---|
3244 | if (scale == 0.0) |
---|
3245 | e[i - 1] = a[l - 1][i - 1]; |
---|
3246 | else |
---|
3247 | { |
---|
3248 | for (k = 1; k <= l; k++) |
---|
3249 | { |
---|
3250 | a[k - 1][i - 1] /= scale; |
---|
3251 | h += a[k - 1][i - 1] * a[k - 1][i - 1]; |
---|
3252 | } |
---|
3253 | f = a[l - 1][i - 1]; |
---|
3254 | g = ((f > 0) ? -sqrt(h) : sqrt(h)); /* diff */ |
---|
3255 | e[i - 1] = scale * g; |
---|
3256 | h -= f * g; |
---|
3257 | a[l - 1][i - 1] = f - g; |
---|
3258 | f = 0.0; |
---|
3259 | for (j = 1; j <= l; j++) |
---|
3260 | { |
---|
3261 | a[i - 1][j - 1] = a[j - 1][i - 1] / h; |
---|
3262 | g = 0.0; |
---|
3263 | for (k = 1; k <= j; k++) |
---|
3264 | g += a[k - 1][j - 1] * a[k - 1][i - 1]; |
---|
3265 | for (k = j + 1; k <= l; k++) |
---|
3266 | g += a[j - 1][k - 1] * a[k - 1][i - 1]; |
---|
3267 | e[j - 1] = g / h; |
---|
3268 | f += e[j - 1] * a[j - 1][i - 1]; |
---|
3269 | } |
---|
3270 | hh = f / (h + h); |
---|
3271 | for (j = 1; j <= l; j++) |
---|
3272 | { |
---|
3273 | f = a[j - 1][i - 1]; |
---|
3274 | g = e[j - 1] - hh * f; |
---|
3275 | e[j - 1] = g; |
---|
3276 | for (k = 1; k <= j; k++) |
---|
3277 | a[k - 1][j - 1] -= (f * e[k - 1] + g * a[k - 1][i - 1]); |
---|
3278 | } |
---|
3279 | } |
---|
3280 | } |
---|
3281 | else |
---|
3282 | e[i - 1] = a[l - 1][i - 1]; |
---|
3283 | d[i - 1] = h; |
---|
3284 | } |
---|
3285 | d[0] = 0.0; |
---|
3286 | e[0] = 0.0; |
---|
3287 | |
---|
3288 | for (i = 1; i <= n; i++) |
---|
3289 | { |
---|
3290 | l = i - 1; |
---|
3291 | if (d[i - 1] != 0.0) |
---|
3292 | { |
---|
3293 | for (j = 1; j <= l; j++) |
---|
3294 | { |
---|
3295 | g = 0.0; |
---|
3296 | for (k = 1; k <= l; k++) |
---|
3297 | g += a[k - 1][i - 1] * a[j - 1][k - 1]; |
---|
3298 | for(k = 1; k <= l; k++) |
---|
3299 | a[j - 1][k - 1] -= g * a[i - 1][k - 1]; |
---|
3300 | } |
---|
3301 | } |
---|
3302 | d[i - 1] = a[i - 1][i - 1]; |
---|
3303 | a[i - 1][i - 1] = 1.0; |
---|
3304 | for (j = 1; j <= l; j++) |
---|
3305 | a[i - 1][j - 1] = a[j - 1][i - 1] = 0.0; |
---|
3306 | } |
---|
3307 | |
---|
3308 | |
---|
3309 | } |
---|
3310 | /*#define MYSIGN(a,b) ((b)<0 ? -fabs(a) : fabs(a))*/ |
---|
3311 | |
---|
3312 | static int mytqli(double *d, double *e, const int n, double **z) |
---|
3313 | { |
---|
3314 | int m, l, iter, i, k; |
---|
3315 | double s, r, p, g, f, dd, c, b; |
---|
3316 | |
---|
3317 | for (i = 2; i <= n; i++) |
---|
3318 | e[i - 2] = e[i - 1]; |
---|
3319 | |
---|
3320 | e[n - 1] = 0.0; |
---|
3321 | |
---|
3322 | for (l = 1; l <= n; l++) |
---|
3323 | { |
---|
3324 | iter = 0; |
---|
3325 | do |
---|
3326 | { |
---|
3327 | for (m = l; m <= n - 1; m++) |
---|
3328 | { |
---|
3329 | dd = fabs(d[m - 1]) + fabs(d[m]); |
---|
3330 | if (fabs(e[m - 1]) + dd == dd) |
---|
3331 | break; |
---|
3332 | } |
---|
3333 | |
---|
3334 | if (m != l) |
---|
3335 | { |
---|
3336 | assert(iter < 30); |
---|
3337 | |
---|
3338 | g = (d[l] - d[l - 1]) / (2.0 * e[l - 1]); |
---|
3339 | r = sqrt((g * g) + 1.0); |
---|
3340 | g = d[m - 1] - d[l - 1] + e[l - 1] / (g + ((g < 0)?-fabs(r):fabs(r)));/*MYSIGN(r, g));*/ |
---|
3341 | s = c = 1.0; |
---|
3342 | p = 0.0; |
---|
3343 | |
---|
3344 | for (i = m - 1; i >= l; i--) |
---|
3345 | { |
---|
3346 | f = s * e[i - 1]; |
---|
3347 | b = c * e[i - 1]; |
---|
3348 | if (fabs(f) >= fabs(g)) |
---|
3349 | { |
---|
3350 | c = g / f; |
---|
3351 | r = sqrt((c * c) + 1.0); |
---|
3352 | e[i] = f * r; |
---|
3353 | c *= (s = 1.0 / r); |
---|
3354 | } |
---|
3355 | else |
---|
3356 | { |
---|
3357 | s = f / g; |
---|
3358 | r = sqrt((s * s) + 1.0); |
---|
3359 | e[i] = g * r; |
---|
3360 | s *= (c = 1.0 / r); |
---|
3361 | } |
---|
3362 | g = d[i] - p; |
---|
3363 | r = (d[i - 1] - g) * s + 2.0 * c * b; |
---|
3364 | p = s * r; |
---|
3365 | d[i] = g + p; |
---|
3366 | g = c * r - b; |
---|
3367 | for (k = 1; k <= n; k++) |
---|
3368 | { |
---|
3369 | f = z[i][k-1]; |
---|
3370 | z[i][k-1] = s * z[i - 1][k - 1] + c * f; |
---|
3371 | z[i - 1][k - 1] = c * z[i - 1][k - 1] - s * f; |
---|
3372 | } |
---|
3373 | } |
---|
3374 | |
---|
3375 | d[l - 1] = d[l - 1] - p; |
---|
3376 | e[l - 1] = g; |
---|
3377 | e[m - 1] = 0.0; |
---|
3378 | } |
---|
3379 | } |
---|
3380 | while (m != l); |
---|
3381 | } |
---|
3382 | |
---|
3383 | |
---|
3384 | |
---|
3385 | return (1); |
---|
3386 | } |
---|
3387 | |
---|
3388 | |
---|
3389 | static void makeEigen(double **_a, const int n, double *d, double *e) |
---|
3390 | { |
---|
3391 | mytred2(_a, n, d, e); |
---|
3392 | mytqli(d, e, n, _a); |
---|
3393 | } |
---|
3394 | |
---|
3395 | static void initGeneric(const int n, const unsigned int *valueVector, int valueVectorLength, |
---|
3396 | double *fracchanges, |
---|
3397 | double *ext_EIGN, |
---|
3398 | double *EV, |
---|
3399 | double *EI, |
---|
3400 | double *frequencies, |
---|
3401 | double *ext_initialRates, |
---|
3402 | double *tipVector, |
---|
3403 | int model) |
---|
3404 | { |
---|
3405 | double |
---|
3406 | **r, |
---|
3407 | **a, |
---|
3408 | **EIGV, |
---|
3409 | *initialRates = ext_initialRates, |
---|
3410 | *f, |
---|
3411 | *e, |
---|
3412 | *d, |
---|
3413 | *invfreq, |
---|
3414 | *EIGN, |
---|
3415 | *eptr; |
---|
3416 | |
---|
3417 | int |
---|
3418 | i, |
---|
3419 | j, |
---|
3420 | k, |
---|
3421 | m, |
---|
3422 | l; |
---|
3423 | |
---|
3424 | r = (double **)rax_malloc(n * sizeof(double *)); |
---|
3425 | EIGV = (double **)rax_malloc(n * sizeof(double *)); |
---|
3426 | a = (double **)rax_malloc(n * sizeof(double *)); |
---|
3427 | |
---|
3428 | for(i = 0; i < n; i++) |
---|
3429 | { |
---|
3430 | a[i] = (double*)rax_malloc(n * sizeof(double)); |
---|
3431 | EIGV[i] = (double*)rax_malloc(n * sizeof(double)); |
---|
3432 | r[i] = (double*)rax_malloc(n * sizeof(double)); |
---|
3433 | } |
---|
3434 | |
---|
3435 | f = (double*)rax_malloc(n * sizeof(double)); |
---|
3436 | e = (double*)rax_malloc(n * sizeof(double)); |
---|
3437 | d = (double*)rax_malloc(n * sizeof(double)); |
---|
3438 | invfreq = (double*)rax_malloc(n * sizeof(double)); |
---|
3439 | EIGN = (double*)rax_malloc(n * sizeof(double)); |
---|
3440 | |
---|
3441 | |
---|
3442 | for(l = 0; l < n; l++) |
---|
3443 | f[l] = frequencies[l]; |
---|
3444 | /*assert(initialRates[numRates - 1] == 1.0); */ |
---|
3445 | |
---|
3446 | i = 0; |
---|
3447 | |
---|
3448 | for(j = 0; j < n; j++) |
---|
3449 | for(k = 0; k < n; k++) |
---|
3450 | r[j][k] = 0.0; |
---|
3451 | |
---|
3452 | for(j = 0; j < n - 1; j++) |
---|
3453 | for (k = j+1; k < n; k++) |
---|
3454 | r[j][k] = initialRates[i++]; |
---|
3455 | |
---|
3456 | for (j = 0; j < n; j++) |
---|
3457 | { |
---|
3458 | r[j][j] = 0.0; |
---|
3459 | for (k = 0; k < j; k++) |
---|
3460 | r[j][k] = r[k][j]; |
---|
3461 | } |
---|
3462 | |
---|
3463 | fracchanges[model] = 0.0; |
---|
3464 | |
---|
3465 | for (j = 0; j< n; j++) |
---|
3466 | for (k = 0; k< n; k++) |
---|
3467 | fracchanges[model] += f[j] * r[j][k] * f[k]; |
---|
3468 | |
---|
3469 | m = 0; |
---|
3470 | |
---|
3471 | for(i=0; i< n; i++) |
---|
3472 | a[i][i] = 0; |
---|
3473 | |
---|
3474 | /*assert(r[n - 2][n - 1] == 1.0);*/ |
---|
3475 | |
---|
3476 | for(i=0; i < n; i++) |
---|
3477 | { |
---|
3478 | for(j=i+1; j < n; j++) |
---|
3479 | { |
---|
3480 | double factor = initialRates[m++]; |
---|
3481 | a[i][j] = a[j][i] = factor * sqrt( f[i] * f[j]); |
---|
3482 | a[i][i] -= factor * f[j]; |
---|
3483 | a[j][j] -= factor * f[i]; |
---|
3484 | } |
---|
3485 | } |
---|
3486 | |
---|
3487 | makeEigen(a, n, d, e); |
---|
3488 | |
---|
3489 | for(i=0; i<n; i++) |
---|
3490 | for(j=0; j<n; j++) |
---|
3491 | a[i][j] *= sqrt(f[j]); |
---|
3492 | |
---|
3493 | for (i=0; i<n; i++) |
---|
3494 | { |
---|
3495 | if (d[i] > -1e-8) |
---|
3496 | { |
---|
3497 | if (i != 0) |
---|
3498 | { |
---|
3499 | double tmp = d[i], sum=0; |
---|
3500 | d[i] = d[0]; |
---|
3501 | d[0] = tmp; |
---|
3502 | for (j=0; j < n; j++) |
---|
3503 | { |
---|
3504 | tmp = a[i][j]; |
---|
3505 | a[i][j] = a[0][j]; |
---|
3506 | sum += (a[0][j] = tmp); |
---|
3507 | } |
---|
3508 | for (j=0; j < n; j++) |
---|
3509 | a[0][j] /= sum; |
---|
3510 | } |
---|
3511 | break; |
---|
3512 | } |
---|
3513 | } |
---|
3514 | |
---|
3515 | for (i=0; i< n; i++) |
---|
3516 | { |
---|
3517 | EIGN[i] = -d[i]; |
---|
3518 | |
---|
3519 | for (j=0; j<n; j++) |
---|
3520 | EIGV[i][j] = a[j][i]; |
---|
3521 | invfreq[i] = 1 / EIGV[i][0]; |
---|
3522 | } |
---|
3523 | |
---|
3524 | for(l = 1; l < n; l++) |
---|
3525 | { |
---|
3526 | ext_EIGN[(l - 1)] = EIGN[l]; |
---|
3527 | assert( ext_EIGN[(l - 1)] > 0.0); |
---|
3528 | } |
---|
3529 | |
---|
3530 | eptr = EV; |
---|
3531 | |
---|
3532 | for(i = 0; i < n; i++) |
---|
3533 | for(j = 0; j < n; j++) |
---|
3534 | { |
---|
3535 | *eptr++ = EIGV[i][j]; |
---|
3536 | |
---|
3537 | } |
---|
3538 | |
---|
3539 | for(i = 0; i < n; i++) |
---|
3540 | for(j = 1; j < n; j++) |
---|
3541 | EI[i * (n - 1) + (j - 1)] = EV[i * n + j] * invfreq[i]; |
---|
3542 | |
---|
3543 | for(i=0; i < valueVectorLength; i++) |
---|
3544 | { |
---|
3545 | unsigned int value = valueVector[i]; |
---|
3546 | |
---|
3547 | for(j = 0; j < n; j++) |
---|
3548 | tipVector[i * n + j] = 0; |
---|
3549 | |
---|
3550 | if(value > 0) |
---|
3551 | { |
---|
3552 | for (j = 0; j < n; j++) |
---|
3553 | { |
---|
3554 | if ((value >> j) & 1) |
---|
3555 | { |
---|
3556 | int l; |
---|
3557 | for(l = 0; l < n; l++) |
---|
3558 | tipVector[i * n + l] += EIGV[j][l]; |
---|
3559 | } |
---|
3560 | } |
---|
3561 | } |
---|
3562 | } |
---|
3563 | |
---|
3564 | for(i = 0; i < valueVectorLength; i++) |
---|
3565 | { |
---|
3566 | for(j = 0; j < n; j++) |
---|
3567 | if(tipVector[i * n + j] > MAX_TIP_EV) |
---|
3568 | tipVector[i * n + j] = MAX_TIP_EV; |
---|
3569 | } |
---|
3570 | |
---|
3571 | |
---|
3572 | |
---|
3573 | |
---|
3574 | for(i = 0; i < n; i++) |
---|
3575 | { |
---|
3576 | rax_free(EIGV[i]); |
---|
3577 | rax_free(a[i]); |
---|
3578 | rax_free(r[i]); |
---|
3579 | } |
---|
3580 | |
---|
3581 | rax_free(r); |
---|
3582 | rax_free(a); |
---|
3583 | rax_free(EIGV); |
---|
3584 | |
---|
3585 | rax_free(f); |
---|
3586 | rax_free(e); |
---|
3587 | rax_free(d); |
---|
3588 | rax_free(invfreq); |
---|
3589 | rax_free(EIGN); |
---|
3590 | } |
---|
3591 | |
---|
3592 | |
---|
3593 | |
---|
3594 | |
---|
3595 | void initReversibleGTR(tree *tr, int model) |
---|
3596 | { |
---|
3597 | double |
---|
3598 | *fracchanges = tr->fracchanges, |
---|
3599 | *ext_EIGN = tr->partitionData[model].EIGN, |
---|
3600 | *EV = tr->partitionData[model].EV, |
---|
3601 | *EI = tr->partitionData[model].EI, |
---|
3602 | *frequencies = tr->partitionData[model].frequencies, |
---|
3603 | *ext_initialRates = tr->partitionData[model].substRates, |
---|
3604 | *tipVector = tr->partitionData[model].tipVector; |
---|
3605 | |
---|
3606 | |
---|
3607 | |
---|
3608 | int states = tr->partitionData[model].states; |
---|
3609 | |
---|
3610 | switch(tr->partitionData[model].dataType) |
---|
3611 | { |
---|
3612 | case GENERIC_32: |
---|
3613 | case GENERIC_64: |
---|
3614 | case SECONDARY_DATA_6: |
---|
3615 | case SECONDARY_DATA_7: |
---|
3616 | case SECONDARY_DATA: |
---|
3617 | case DNA_DATA: |
---|
3618 | case BINARY_DATA: |
---|
3619 | initGeneric(states, |
---|
3620 | getBitVector(tr->partitionData[model].dataType), |
---|
3621 | getUndetermined(tr->partitionData[model].dataType) + 1, |
---|
3622 | fracchanges, |
---|
3623 | ext_EIGN, |
---|
3624 | EV, |
---|
3625 | EI, |
---|
3626 | frequencies, |
---|
3627 | ext_initialRates, |
---|
3628 | tipVector, |
---|
3629 | model); |
---|
3630 | break; |
---|
3631 | case AA_DATA: |
---|
3632 | if(!((tr->partitionData[model].protModels == GTR) || (tr->partitionData[model].protModels == GTR_UNLINKED))) |
---|
3633 | { |
---|
3634 | double |
---|
3635 | f[20]; |
---|
3636 | |
---|
3637 | int |
---|
3638 | l; |
---|
3639 | |
---|
3640 | if(tr->partitionData[model].protModels == LG4 || tr->partitionData[model].protModels == LG4X) |
---|
3641 | { |
---|
3642 | int |
---|
3643 | i; |
---|
3644 | |
---|
3645 | for(i = 0; i < 4; i++) |
---|
3646 | { |
---|
3647 | initProtMat(f, tr->partitionData[model].protModels, &(tr->partitionData[model].substRates_LG4[i][0]), model, tr, i); |
---|
3648 | |
---|
3649 | if(tr->partitionData[model].usePredefinedProtFreqs == TRUE) |
---|
3650 | for(l = 0; l < 20; l++) |
---|
3651 | tr->partitionData[model].frequencies_LG4[i][l] = f[l]; |
---|
3652 | else |
---|
3653 | memcpy(tr->partitionData[model].frequencies_LG4[i], frequencies, 20 * sizeof(double)); |
---|
3654 | } |
---|
3655 | } |
---|
3656 | else |
---|
3657 | { |
---|
3658 | if(tr->partitionData[model].protModels == AUTO) |
---|
3659 | { |
---|
3660 | //printf("init prot mat %s partition %d\n", protModels[tr->partitionData[model].autoProtModels], model); |
---|
3661 | initProtMat(f, tr->partitionData[model].autoProtModels, ext_initialRates, model, tr, 0); |
---|
3662 | } |
---|
3663 | else |
---|
3664 | initProtMat(f, tr->partitionData[model].protModels, ext_initialRates, model, tr, 0); |
---|
3665 | |
---|
3666 | if(tr->partitionData[model].protModels == PROT_FILE) |
---|
3667 | assert(tr->partitionData[model].usePredefinedProtFreqs == TRUE); |
---|
3668 | |
---|
3669 | if(tr->partitionData[model].usePredefinedProtFreqs == TRUE) |
---|
3670 | for(l = 0; l < 20; l++) |
---|
3671 | frequencies[l] = f[l]; |
---|
3672 | } |
---|
3673 | } |
---|
3674 | else |
---|
3675 | assert(tr->partitionData[model].usePredefinedProtFreqs == FALSE); |
---|
3676 | |
---|
3677 | if(tr->partitionData[model].protModels == LG4 || tr->partitionData[model].protModels == LG4X) |
---|
3678 | { |
---|
3679 | int |
---|
3680 | i; |
---|
3681 | |
---|
3682 | double |
---|
3683 | *fracchanges_LG4[4], |
---|
3684 | acc = 0.0; |
---|
3685 | |
---|
3686 | /* TODO frac change !*/ |
---|
3687 | |
---|
3688 | for(i = 0; i < 4; i++) |
---|
3689 | { |
---|
3690 | fracchanges_LG4[i] = (double *)rax_malloc(tr->NumberOfModels * sizeof(double)); |
---|
3691 | initGeneric(states, bitVectorAA, 23, fracchanges_LG4[i], |
---|
3692 | tr->partitionData[model].EIGN_LG4[i], tr->partitionData[model].EV_LG4[i], tr->partitionData[model].EI_LG4[i], tr->partitionData[model].frequencies_LG4[i], tr->partitionData[model].substRates_LG4[i], |
---|
3693 | tr->partitionData[model].tipVector_LG4[i], |
---|
3694 | model); |
---|
3695 | } |
---|
3696 | |
---|
3697 | for(i = 0; i < 4; i++) |
---|
3698 | { |
---|
3699 | acc += fracchanges_LG4[i][model]; |
---|
3700 | rax_free(fracchanges_LG4[i]); |
---|
3701 | } |
---|
3702 | |
---|
3703 | tr->fracchanges[model] = acc / 4; |
---|
3704 | } |
---|
3705 | else |
---|
3706 | initGeneric(states, bitVectorAA, 23, fracchanges, |
---|
3707 | ext_EIGN, EV, EI, frequencies, ext_initialRates, |
---|
3708 | tipVector, |
---|
3709 | model); |
---|
3710 | break; |
---|
3711 | default: |
---|
3712 | assert(0); |
---|
3713 | } |
---|
3714 | |
---|
3715 | |
---|
3716 | updateFracChange(tr); |
---|
3717 | } |
---|
3718 | |
---|
3719 | |
---|
3720 | double LnGamma (double alpha) |
---|
3721 | { |
---|
3722 | /* returns ln(gamma(alpha)) for alpha>0, accurate to 10 decimal places. |
---|
3723 | Stirling's formula is used for the central polynomial part of the procedure. |
---|
3724 | Pike MC & Hill ID (1966) Algorithm 291: Logarithm of the gamma function. |
---|
3725 | Communications of the Association for Computing Machinery, 9:684 |
---|
3726 | */ |
---|
3727 | double x, f, z, result; |
---|
3728 | |
---|
3729 | x = alpha; |
---|
3730 | f = 0.0; |
---|
3731 | |
---|
3732 | if ( x < 7.0) |
---|
3733 | { |
---|
3734 | f = 1.0; |
---|
3735 | z = alpha - 1.0; |
---|
3736 | |
---|
3737 | while ((z = z + 1.0) < 7.0) |
---|
3738 | { |
---|
3739 | f *= z; |
---|
3740 | } |
---|
3741 | x = z; |
---|
3742 | |
---|
3743 | assert(f != 0.0); |
---|
3744 | |
---|
3745 | f=-log(f); |
---|
3746 | } |
---|
3747 | |
---|
3748 | z = 1/(x*x); |
---|
3749 | |
---|
3750 | result = f + (x-0.5)*log(x) - x + .918938533204673 |
---|
3751 | + (((-.000595238095238*z+.000793650793651)*z-.002777777777778)*z |
---|
3752 | +.083333333333333)/x; |
---|
3753 | |
---|
3754 | return result; |
---|
3755 | } |
---|
3756 | |
---|
3757 | |
---|
3758 | |
---|
3759 | double IncompleteGamma (double x, double alpha, double ln_gamma_alpha) |
---|
3760 | { |
---|
3761 | /* returns the incomplete gamma ratio I(x,alpha) where x is the upper |
---|
3762 | limit of the integration and alpha is the shape parameter. |
---|
3763 | returns (-1) if in error |
---|
3764 | ln_gamma_alpha = ln(Gamma(alpha)), is almost redundant. |
---|
3765 | (1) series expansion if (alpha>x || x<=1) |
---|
3766 | (2) continued fraction otherwise |
---|
3767 | RATNEST FORTRAN by |
---|
3768 | Bhattacharjee GP (1970) The incomplete gamma integral. Applied Statistics, |
---|
3769 | 19: 285-287 (AS32) |
---|
3770 | */ |
---|
3771 | int i; |
---|
3772 | double p=alpha, g=ln_gamma_alpha; |
---|
3773 | double accurate=1e-8, overflow=1e30; |
---|
3774 | double factor, gin=0, rn=0, a=0,b=0,an=0,dif=0, term=0, pn[6]; |
---|
3775 | |
---|
3776 | |
---|
3777 | if (x==0) return (0); |
---|
3778 | if (x<0 || p<=0) return (-1); |
---|
3779 | |
---|
3780 | |
---|
3781 | factor=exp(p*log(x)-x-g); |
---|
3782 | if (x>1 && x>=p) goto l30; |
---|
3783 | /* (1) series expansion */ |
---|
3784 | gin=1; term=1; rn=p; |
---|
3785 | l20: |
---|
3786 | rn++; |
---|
3787 | term*=x/rn; gin+=term; |
---|
3788 | |
---|
3789 | if (term > accurate) goto l20; |
---|
3790 | gin*=factor/p; |
---|
3791 | goto l50; |
---|
3792 | l30: |
---|
3793 | /* (2) continued fraction */ |
---|
3794 | a=1-p; b=a+x+1; term=0; |
---|
3795 | pn[0]=1; pn[1]=x; pn[2]=x+1; pn[3]=x*b; |
---|
3796 | gin=pn[2]/pn[3]; |
---|
3797 | l32: |
---|
3798 | a++; |
---|
3799 | b+=2; |
---|
3800 | term++; |
---|
3801 | an=a*term; |
---|
3802 | for (i=0; i<2; i++) |
---|
3803 | pn[i+4]=b*pn[i+2]-an*pn[i]; |
---|
3804 | if (pn[5] == 0) goto l35; |
---|
3805 | rn=pn[4]/pn[5]; |
---|
3806 | dif=fabs(gin-rn); |
---|
3807 | if (dif>accurate) goto l34; |
---|
3808 | if (dif<=accurate*rn) goto l42; |
---|
3809 | l34: |
---|
3810 | gin=rn; |
---|
3811 | l35: |
---|
3812 | for (i=0; i<4; i++) |
---|
3813 | pn[i]=pn[i+2]; |
---|
3814 | if (fabs(pn[4]) < overflow) |
---|
3815 | goto l32; |
---|
3816 | |
---|
3817 | for (i=0; i<4; i++) |
---|
3818 | pn[i]/=overflow; |
---|
3819 | |
---|
3820 | |
---|
3821 | goto l32; |
---|
3822 | l42: |
---|
3823 | gin=1-factor*gin; |
---|
3824 | |
---|
3825 | l50: |
---|
3826 | return (gin); |
---|
3827 | } |
---|
3828 | |
---|
3829 | |
---|
3830 | |
---|
3831 | |
---|
3832 | double PointNormal (double prob) |
---|
3833 | { |
---|
3834 | /* returns z so that Prob{x<z}=prob where x ~ N(0,1) and (1e-12)<prob<1-(1e-12) |
---|
3835 | returns (-9999) if in error |
---|
3836 | Odeh RE & Evans JO (1974) The percentage points of the normal distribution. |
---|
3837 | Applied Statistics 22: 96-97 (AS70) |
---|
3838 | |
---|
3839 | Newer methods: |
---|
3840 | Wichura MJ (1988) Algorithm AS 241: the percentage points of the |
---|
3841 | normal distribution. 37: 477-484. |
---|
3842 | Beasley JD & Springer SG (1977). Algorithm AS 111: the percentage |
---|
3843 | points of the normal distribution. 26: 118-121. |
---|
3844 | |
---|
3845 | */ |
---|
3846 | double a0=-.322232431088, a1=-1, a2=-.342242088547, a3=-.0204231210245; |
---|
3847 | double a4=-.453642210148e-4, b0=.0993484626060, b1=.588581570495; |
---|
3848 | double b2=.531103462366, b3=.103537752850, b4=.0038560700634; |
---|
3849 | double y, z=0, p=prob, p1; |
---|
3850 | |
---|
3851 | p1 = (p<0.5 ? p : 1-p); |
---|
3852 | if (p1<1e-20) return (-9999); |
---|
3853 | |
---|
3854 | y = sqrt (log(1/(p1*p1))); |
---|
3855 | z = y + ((((y*a4+a3)*y+a2)*y+a1)*y+a0) / ((((y*b4+b3)*y+b2)*y+b1)*y+b0); |
---|
3856 | return (p<0.5 ? -z : z); |
---|
3857 | } |
---|
3858 | |
---|
3859 | |
---|
3860 | double PointChi2 (double prob, double v) |
---|
3861 | { |
---|
3862 | /* returns z so that Prob{x<z}=prob where x is Chi2 distributed with df=v |
---|
3863 | returns -1 if in error. 0.000002<prob<0.999998 |
---|
3864 | RATNEST FORTRAN by |
---|
3865 | Best DJ & Roberts DE (1975) The percentage points of the |
---|
3866 | Chi2 distribution. Applied Statistics 24: 385-388. (AS91) |
---|
3867 | Converted into C by Ziheng Yang, Oct. 1993. |
---|
3868 | */ |
---|
3869 | double e=.5e-6, aa=.6931471805, p=prob, g; |
---|
3870 | double xx, c, ch, a=0,q=0,p1=0,p2=0,t=0,x=0,b=0,s1,s2,s3,s4,s5,s6; |
---|
3871 | |
---|
3872 | if (p<.000002 || p>.999998 || v<=0) return (-1); |
---|
3873 | |
---|
3874 | g = LnGamma(v/2); |
---|
3875 | |
---|
3876 | xx=v/2; c=xx-1; |
---|
3877 | if (v >= -1.24*log(p)) goto l1; |
---|
3878 | |
---|
3879 | ch=pow((p*xx*exp(g+xx*aa)), 1/xx); |
---|
3880 | if (ch-e<0) return (ch); |
---|
3881 | goto l4; |
---|
3882 | l1: |
---|
3883 | if (v>.32) goto l3; |
---|
3884 | ch=0.4; a=log(1-p); |
---|
3885 | l2: |
---|
3886 | q=ch; p1=1+ch*(4.67+ch); p2=ch*(6.73+ch*(6.66+ch)); |
---|
3887 | t=-0.5+(4.67+2*ch)/p1 - (6.73+ch*(13.32+3*ch))/p2; |
---|
3888 | ch-=(1-exp(a+g+.5*ch+c*aa)*p2/p1)/t; |
---|
3889 | if (fabs(q/ch-1)-.01 <= 0) goto l4; |
---|
3890 | else goto l2; |
---|
3891 | |
---|
3892 | l3: |
---|
3893 | x=PointNormal (p); |
---|
3894 | p1=0.222222/v; ch=v*pow((x*sqrt(p1)+1-p1), 3.0); |
---|
3895 | if (ch>2.2*v+6) ch=-2*(log(1-p)-c*log(.5*ch)+g); |
---|
3896 | l4: |
---|
3897 | q=ch; p1=.5*ch; |
---|
3898 | if ((t=IncompleteGamma (p1, xx, g))< 0.0) |
---|
3899 | { |
---|
3900 | printf ("IncompleteGamma \n"); |
---|
3901 | return (-1); |
---|
3902 | } |
---|
3903 | |
---|
3904 | p2=p-t; |
---|
3905 | t=p2*exp(xx*aa+g+p1-c*log(ch)); |
---|
3906 | b=t/ch; a=0.5*t-b*c; |
---|
3907 | |
---|
3908 | s1=(210+a*(140+a*(105+a*(84+a*(70+60*a))))) / 420; |
---|
3909 | s2=(420+a*(735+a*(966+a*(1141+1278*a))))/2520; |
---|
3910 | s3=(210+a*(462+a*(707+932*a)))/2520; |
---|
3911 | s4=(252+a*(672+1182*a)+c*(294+a*(889+1740*a)))/5040; |
---|
3912 | s5=(84+264*a+c*(175+606*a))/2520; |
---|
3913 | s6=(120+c*(346+127*c))/5040; |
---|
3914 | ch+=t*(1+0.5*t*s1-b*c*(s1-b*(s2-b*(s3-b*(s4-b*(s5-b*s6)))))); |
---|
3915 | if (fabs(q/ch-1) > e) goto l4; |
---|
3916 | |
---|
3917 | return (ch); |
---|
3918 | } |
---|
3919 | |
---|
3920 | |
---|
3921 | |
---|
3922 | |
---|
3923 | |
---|
3924 | |
---|
3925 | void makeGammaCats(double alpha, double *gammaRates, int K, boolean useMedian) |
---|
3926 | { |
---|
3927 | int |
---|
3928 | i; |
---|
3929 | |
---|
3930 | double |
---|
3931 | factor = alpha / alpha * K, |
---|
3932 | lnga1, |
---|
3933 | alfa = alpha, |
---|
3934 | beta = alpha, |
---|
3935 | *gammaProbs = (double *)rax_malloc(K * sizeof(double)); |
---|
3936 | |
---|
3937 | /* Note that ALPHA_MIN setting is somewhat critical due to */ |
---|
3938 | /* numerical instability caused by very small rate[0] values */ |
---|
3939 | /* induced by low alpha values around 0.01 */ |
---|
3940 | |
---|
3941 | assert(alfa >= ALPHA_MIN); |
---|
3942 | |
---|
3943 | if(useMedian) |
---|
3944 | { |
---|
3945 | double |
---|
3946 | middle = 1.0 / (2.0*K), |
---|
3947 | t = 0.0; |
---|
3948 | |
---|
3949 | for(i = 0; i < K; i++) |
---|
3950 | gammaRates[i] = PointGamma((double)(i * 2 + 1) * middle, alfa, beta); |
---|
3951 | |
---|
3952 | for (i = 0; i < K; i++) |
---|
3953 | t += gammaRates[i]; |
---|
3954 | for( i = 0; i < K; i++) |
---|
3955 | gammaRates[i] *= factor / t; |
---|
3956 | } |
---|
3957 | else |
---|
3958 | { |
---|
3959 | lnga1 = LnGamma(alfa + 1); |
---|
3960 | |
---|
3961 | for (i = 0; i < K - 1; i++) |
---|
3962 | gammaProbs[i] = PointGamma((i + 1.0) / K, alfa, beta); |
---|
3963 | |
---|
3964 | for (i = 0; i < K - 1; i++) |
---|
3965 | gammaProbs[i] = IncompleteGamma(gammaProbs[i] * beta, alfa + 1, lnga1); |
---|
3966 | |
---|
3967 | gammaRates[0] = gammaProbs[0] * factor; |
---|
3968 | |
---|
3969 | gammaRates[K - 1] = (1 - gammaProbs[K - 2]) * factor; |
---|
3970 | |
---|
3971 | for (i= 1; i < K - 1; i++) |
---|
3972 | gammaRates[i] = (gammaProbs[i] - gammaProbs[i - 1]) * factor; |
---|
3973 | } |
---|
3974 | /* assert(gammaRates[0] >= 0.00000000000000000000000000000044136090435925743185910935350715027016962154188875); */ |
---|
3975 | |
---|
3976 | rax_free(gammaProbs); |
---|
3977 | |
---|
3978 | return; |
---|
3979 | } |
---|
3980 | |
---|
3981 | static void genericInvariant(tree *tr, int lower, int upper, const unsigned int *bitVector, |
---|
3982 | unsigned int undetermined, int states, int *numberOfInvariableColumns, int *weightOfInvariableColumns) |
---|
3983 | { |
---|
3984 | int |
---|
3985 | count = 0, |
---|
3986 | sum = 0, |
---|
3987 | i, |
---|
3988 | j; |
---|
3989 | |
---|
3990 | for(i = lower; i < upper; i++) |
---|
3991 | { |
---|
3992 | unsigned int |
---|
3993 | encoding = 0, |
---|
3994 | code; |
---|
3995 | int |
---|
3996 | secSum = 0, |
---|
3997 | position = -1; |
---|
3998 | |
---|
3999 | for(j = 1; j <= tr->mxtips; j++) |
---|
4000 | { |
---|
4001 | code = bitVector[tr->yVector[j][i]]; |
---|
4002 | if(code != undetermined) |
---|
4003 | { |
---|
4004 | if(!(code & encoding)) |
---|
4005 | encoding = encoding | code; |
---|
4006 | else |
---|
4007 | encoding = encoding | (encoding & code); |
---|
4008 | } |
---|
4009 | } |
---|
4010 | |
---|
4011 | for(j = 0; j < states; j++) |
---|
4012 | { |
---|
4013 | if(encoding >> j & 1) |
---|
4014 | { |
---|
4015 | secSum++; |
---|
4016 | position = j; |
---|
4017 | } |
---|
4018 | } |
---|
4019 | |
---|
4020 | if(secSum == 1) |
---|
4021 | { |
---|
4022 | assert(position >= 0); |
---|
4023 | tr->invariant[i] = position; |
---|
4024 | count = count + 1; |
---|
4025 | sum = sum + tr->cdta->aliaswgt[i]; |
---|
4026 | } |
---|
4027 | else |
---|
4028 | tr->invariant[i] = states; |
---|
4029 | } |
---|
4030 | |
---|
4031 | *numberOfInvariableColumns += count; |
---|
4032 | *weightOfInvariableColumns += sum; |
---|
4033 | } |
---|
4034 | |
---|
4035 | static void setRates(double *r, int rates) |
---|
4036 | { |
---|
4037 | int i; |
---|
4038 | |
---|
4039 | for(i = 0; i < rates - 1; i++) |
---|
4040 | r[i] = 0.5; |
---|
4041 | r[rates - 1] = 1.0; |
---|
4042 | } |
---|
4043 | |
---|
4044 | void initRateMatrix(tree *tr) |
---|
4045 | { |
---|
4046 | int model; |
---|
4047 | |
---|
4048 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4049 | { |
---|
4050 | int |
---|
4051 | i, |
---|
4052 | states = tr->partitionData[model].states, |
---|
4053 | rates = (states * states - states) / 2; |
---|
4054 | |
---|
4055 | switch(tr->partitionData[model].dataType) |
---|
4056 | { |
---|
4057 | case BINARY_DATA: |
---|
4058 | case DNA_DATA: |
---|
4059 | case SECONDARY_DATA: |
---|
4060 | case SECONDARY_DATA_6: |
---|
4061 | case SECONDARY_DATA_7: |
---|
4062 | setRates(tr->partitionData[model].substRates, rates); |
---|
4063 | break; |
---|
4064 | case GENERIC_32: |
---|
4065 | case GENERIC_64: |
---|
4066 | switch(tr->multiStateModel) |
---|
4067 | { |
---|
4068 | case ORDERED_MULTI_STATE: |
---|
4069 | { |
---|
4070 | int |
---|
4071 | j, |
---|
4072 | k, |
---|
4073 | i = 0; |
---|
4074 | |
---|
4075 | for(j = 0; j < states; j++) |
---|
4076 | for(k = j + 1; k < states; k++) |
---|
4077 | tr->partitionData[model].substRates[i++] = (double)(k - j); |
---|
4078 | assert(i == rates); |
---|
4079 | } |
---|
4080 | break; |
---|
4081 | case MK_MULTI_STATE: |
---|
4082 | for(i = 0; i < rates; i++) |
---|
4083 | tr->partitionData[model].substRates[i] = 1.0; |
---|
4084 | |
---|
4085 | break; |
---|
4086 | case GTR_MULTI_STATE: |
---|
4087 | setRates(tr->partitionData[model].substRates, rates); |
---|
4088 | break; |
---|
4089 | default: |
---|
4090 | assert(0); |
---|
4091 | } |
---|
4092 | break; |
---|
4093 | case AA_DATA: |
---|
4094 | if(tr->partitionData[model].protModels == GTR || tr->partitionData[model].protModels == GTR_UNLINKED) |
---|
4095 | putWAG(tr->partitionData[model].substRates); |
---|
4096 | break; |
---|
4097 | default: |
---|
4098 | assert(0); |
---|
4099 | } |
---|
4100 | |
---|
4101 | if(tr->partitionData[model].nonGTR) |
---|
4102 | { |
---|
4103 | assert(tr->partitionData[model].dataType == SECONDARY_DATA || |
---|
4104 | tr->partitionData[model].dataType == SECONDARY_DATA_6 || |
---|
4105 | tr->partitionData[model].dataType == SECONDARY_DATA_7); |
---|
4106 | |
---|
4107 | for(i = 0; i < rates; i++) |
---|
4108 | { |
---|
4109 | if(tr->partitionData[model].symmetryVector[i] == -1) |
---|
4110 | tr->partitionData[model].substRates[i] = 0.0; |
---|
4111 | else |
---|
4112 | { |
---|
4113 | if(tr->partitionData[model].symmetryVector[i] == tr->partitionData[model].symmetryVector[rates - 1]) |
---|
4114 | tr->partitionData[model].substRates[i] = 1.0; |
---|
4115 | } |
---|
4116 | } |
---|
4117 | } |
---|
4118 | } |
---|
4119 | } |
---|
4120 | |
---|
4121 | static void setSymmetry(int *s, int *sDest, const int sCount, int *f, int *fDest, const int fCount) |
---|
4122 | { |
---|
4123 | int i; |
---|
4124 | |
---|
4125 | for(i = 0; i < sCount; i++) |
---|
4126 | sDest[i] = s[i]; |
---|
4127 | |
---|
4128 | for(i = 0; i < fCount; i++) |
---|
4129 | fDest[i] = f[i]; |
---|
4130 | } |
---|
4131 | |
---|
4132 | static void setupSecondaryStructureSymmetries(tree *tr) |
---|
4133 | { |
---|
4134 | int model; |
---|
4135 | |
---|
4136 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4137 | { |
---|
4138 | if(tr->partitionData[model].dataType == SECONDARY_DATA || |
---|
4139 | tr->partitionData[model].dataType == SECONDARY_DATA_6 || |
---|
4140 | tr->partitionData[model].dataType == SECONDARY_DATA_7) |
---|
4141 | { |
---|
4142 | switch(tr->secondaryStructureModel) |
---|
4143 | { |
---|
4144 | case SEC_6_A: |
---|
4145 | tr->partitionData[model].nonGTR = FALSE; |
---|
4146 | break; |
---|
4147 | case SEC_6_B: |
---|
4148 | { |
---|
4149 | int f[6] = {0, 1, 2, 3, 4, 5}; |
---|
4150 | int s[15] = {2, 0, 1, 2, 2, 2, 2, 0, 1, 1, 2, 2, 2, 2, 1}; |
---|
4151 | |
---|
4152 | setSymmetry(s, tr->partitionData[model].symmetryVector, 15, f, tr->partitionData[model].frequencyGrouping, 6); |
---|
4153 | |
---|
4154 | tr->partitionData[model].nonGTR = TRUE; |
---|
4155 | } |
---|
4156 | break; |
---|
4157 | case SEC_6_C: |
---|
4158 | { |
---|
4159 | int f[6] = {0, 2, 2, 1, 0, 1}; |
---|
4160 | int s[15] = {2, 0, 1, 2, 2, 2, 2, 0, 1, 1, 2, 2, 2, 2, 1}; |
---|
4161 | |
---|
4162 | setSymmetry(s, tr->partitionData[model].symmetryVector, 15, f, tr->partitionData[model].frequencyGrouping, 6); |
---|
4163 | |
---|
4164 | tr->partitionData[model].nonGTR = TRUE; |
---|
4165 | } |
---|
4166 | break; |
---|
4167 | case SEC_6_D: |
---|
4168 | { |
---|
4169 | int f[6] = {0, 2, 2, 1, 0, 1}; |
---|
4170 | int s[15] = {2, -1, 1, 2, 2, 2, 2, -1, 1, 1, 2, 2, 2, 2, 1}; |
---|
4171 | |
---|
4172 | setSymmetry(s, tr->partitionData[model].symmetryVector, 15, f, tr->partitionData[model].frequencyGrouping, 6); |
---|
4173 | |
---|
4174 | tr->partitionData[model].nonGTR = TRUE; |
---|
4175 | } |
---|
4176 | break; |
---|
4177 | case SEC_6_E: |
---|
4178 | { |
---|
4179 | int f[6] = {0, 1, 2, 3, 4, 5}; |
---|
4180 | int s[15] = {2, -1, 1, 2, 2, 2, 2, -1, 1, 1, 2, 2, 2, 2, 1}; |
---|
4181 | |
---|
4182 | setSymmetry(s, tr->partitionData[model].symmetryVector, 15, f, tr->partitionData[model].frequencyGrouping, 6); |
---|
4183 | |
---|
4184 | tr->partitionData[model].nonGTR = TRUE; |
---|
4185 | } |
---|
4186 | break; |
---|
4187 | case SEC_7_A: |
---|
4188 | tr->partitionData[model].nonGTR = FALSE; |
---|
4189 | break; |
---|
4190 | case SEC_7_B: |
---|
4191 | { |
---|
4192 | int f[7] = {0, 2, 2, 1, 0, 1, 3}; |
---|
4193 | int s[21] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; |
---|
4194 | |
---|
4195 | setSymmetry(s, tr->partitionData[model].symmetryVector, 21, f, tr->partitionData[model].frequencyGrouping, 7); |
---|
4196 | |
---|
4197 | tr->partitionData[model].nonGTR = TRUE; |
---|
4198 | |
---|
4199 | } |
---|
4200 | break; |
---|
4201 | case SEC_7_C: |
---|
4202 | { |
---|
4203 | int f[7] = {0, 1, 2, 3, 4, 5, 6}; |
---|
4204 | int s[21] = {-1, -1, 0, -1, -1, 4, -1, -1, -1, 3, 5, 1, -1, -1, 6, -1, -1, 7, 2, 8, 9}; |
---|
4205 | |
---|
4206 | setSymmetry(s, tr->partitionData[model].symmetryVector, 21, f, tr->partitionData[model].frequencyGrouping, 7); |
---|
4207 | |
---|
4208 | tr->partitionData[model].nonGTR = TRUE; |
---|
4209 | |
---|
4210 | } |
---|
4211 | break; |
---|
4212 | case SEC_7_D: |
---|
4213 | { |
---|
4214 | int f[7] = {0, 1, 2, 3, 4, 5, 6}; |
---|
4215 | int s[21] = {2, 0, 1, 2, 2, 3, 2, 2, 0, 1, 3, 1, 2, 2, 3, 2, 2, 3, 1, 3, 3}; |
---|
4216 | |
---|
4217 | setSymmetry(s, tr->partitionData[model].symmetryVector, 21, f, tr->partitionData[model].frequencyGrouping, 7); |
---|
4218 | |
---|
4219 | tr->partitionData[model].nonGTR = TRUE; |
---|
4220 | |
---|
4221 | } |
---|
4222 | break; |
---|
4223 | case SEC_7_E: |
---|
4224 | { |
---|
4225 | int f[7] = {0, 1, 2, 3, 4, 5, 6}; |
---|
4226 | int s[21] = {-1, -1, 0, -1, -1, 1, -1, -1, -1, 0, 1, 0, -1, -1, 1, -1, -1, 1, 0, 1, 1}; |
---|
4227 | |
---|
4228 | setSymmetry(s, tr->partitionData[model].symmetryVector, 21, f, tr->partitionData[model].frequencyGrouping, 7); |
---|
4229 | |
---|
4230 | tr->partitionData[model].nonGTR = TRUE; |
---|
4231 | |
---|
4232 | } |
---|
4233 | break; |
---|
4234 | case SEC_7_F: |
---|
4235 | { |
---|
4236 | int f[7] = {0, 2, 2, 1, 0, 1, 3}; |
---|
4237 | int s[21] = {2, 0, 1, 2, 2, 3, 2, 2, 0, 1, 3, 1, 2, 2, 3, 2, 2, 3, 1, 3, 3}; |
---|
4238 | |
---|
4239 | setSymmetry(s, tr->partitionData[model].symmetryVector, 21, f, tr->partitionData[model].frequencyGrouping, 7); |
---|
4240 | |
---|
4241 | tr->partitionData[model].nonGTR = TRUE; |
---|
4242 | |
---|
4243 | } |
---|
4244 | break; |
---|
4245 | |
---|
4246 | case SEC_16: |
---|
4247 | tr->partitionData[1].nonGTR = FALSE; |
---|
4248 | break; |
---|
4249 | case SEC_16_A: |
---|
4250 | { |
---|
4251 | int f[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; |
---|
4252 | int s[120] = {/* AA */ 4, 4, 3, 4, -1, -1, -1, 4, -1, -1, -1, 3, -1, -1, -1, |
---|
4253 | /* AC */ 4, 3, -1, 4, -1, -1, -1, 3, -1, -1, -1, 4, -1, -1, |
---|
4254 | /* AG */ 3, -1, -1, 3, -1, -1, -1, 4, -1, -1, -1, 3, -1, |
---|
4255 | /* AU */ -1, -1, 2, 3, -1, 0, -1, 1, 2, -1, 2, 3, |
---|
4256 | /* CA */ 4, 3, 4, 4, -1, -1, -1, 3, -1, -1, -1, |
---|
4257 | /* CC */ 3, 4, -1, 3, -1, -1, -1, 4, -1, -1, |
---|
4258 | /* CG */ 3, -1, 2, 3, 2, 0, -1, 1, -1, |
---|
4259 | /* CU */ -1, -1, -1, 3, -1, -1, -1, 4, |
---|
4260 | /* GA */ 3, 4, 3, 3, -1, -1, -1, |
---|
4261 | /* GC */ 3, 1, 2, 3, 2, -1, |
---|
4262 | /* GG */ 3, -1, -1, 3, -1, |
---|
4263 | /* GU */ 2, -1, 2, 3, |
---|
4264 | /* UA */ 3, 1, 3, |
---|
4265 | /* UC */ 3, 4, |
---|
4266 | /* UG */ 3}; |
---|
4267 | |
---|
4268 | |
---|
4269 | setSymmetry(s, tr->partitionData[model].symmetryVector, 120, f, tr->partitionData[model].frequencyGrouping, 16); |
---|
4270 | |
---|
4271 | tr->partitionData[model].nonGTR = TRUE; |
---|
4272 | |
---|
4273 | } |
---|
4274 | break; |
---|
4275 | case SEC_16_B: |
---|
4276 | { |
---|
4277 | int f[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; |
---|
4278 | int s[120] = {/* AA */ 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, |
---|
4279 | /* AC */ 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, |
---|
4280 | /* AG */ 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, |
---|
4281 | /* AU */ -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, |
---|
4282 | /* CA */ 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, |
---|
4283 | /* CC */ 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, |
---|
4284 | /* CG */ 0, -1, 0, 0, 0, 0, -1, 0, -1, |
---|
4285 | /* CU */ -1, -1, -1, 0, -1, -1, -1, 0, |
---|
4286 | /* GA */ 0, 0, 0, 0, -1, -1, -1, |
---|
4287 | /* GC */ 0, 0, 0, 0, 0, -1, |
---|
4288 | /* GG */ 0, -1, -1, 0, -1, |
---|
4289 | /* GU */ 0, -1, 0, 0, |
---|
4290 | /* UA */ 0, 0, 0, |
---|
4291 | /* UC */ 0, 0, |
---|
4292 | /* UG */ 0}; |
---|
4293 | |
---|
4294 | |
---|
4295 | setSymmetry(s, tr->partitionData[model].symmetryVector, 120, f, tr->partitionData[model].frequencyGrouping, 16); |
---|
4296 | |
---|
4297 | tr->partitionData[model].nonGTR = TRUE; |
---|
4298 | } |
---|
4299 | break; |
---|
4300 | case SEC_16_C: |
---|
4301 | case SEC_16_D: |
---|
4302 | case SEC_16_E: |
---|
4303 | case SEC_16_F: |
---|
4304 | case SEC_16_I: |
---|
4305 | case SEC_16_J: |
---|
4306 | case SEC_16_K: |
---|
4307 | assert(0); |
---|
4308 | default: |
---|
4309 | assert(0); |
---|
4310 | } |
---|
4311 | } |
---|
4312 | |
---|
4313 | } |
---|
4314 | |
---|
4315 | } |
---|
4316 | |
---|
4317 | void initModel(tree *tr, rawdata *rdta, cruncheddata *cdta, analdef *adef) |
---|
4318 | { |
---|
4319 | int |
---|
4320 | model, |
---|
4321 | j; |
---|
4322 | |
---|
4323 | double |
---|
4324 | temp; |
---|
4325 | |
---|
4326 | optimizeRateCategoryInvocations = 1; |
---|
4327 | tr->numberOfInvariableColumns = 0; |
---|
4328 | tr->weightOfInvariableColumns = 0; |
---|
4329 | |
---|
4330 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4331 | tr->partitionData[model].numberOfCategories = 1; |
---|
4332 | |
---|
4333 | for (j = 0; j < tr->cdta->endsite; j++) |
---|
4334 | { |
---|
4335 | tr->cdta->patrat[j] = temp = 1.0; |
---|
4336 | tr->cdta->patratStored[j] = 1.0; |
---|
4337 | tr->cdta->rateCategory[j] = 0; |
---|
4338 | } |
---|
4339 | |
---|
4340 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4341 | { |
---|
4342 | tr->partitionData[model].numberOfCategories = 1; |
---|
4343 | tr->partitionData[model].perSiteRates[0] = 1.0; |
---|
4344 | tr->partitionData[model].unscaled_perSiteRates[0] = 1.0; |
---|
4345 | } |
---|
4346 | |
---|
4347 | updatePerSiteRates(tr, FALSE); |
---|
4348 | |
---|
4349 | setupSecondaryStructureSymmetries(tr); |
---|
4350 | |
---|
4351 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4352 | { |
---|
4353 | if(adef->useInvariant) |
---|
4354 | { |
---|
4355 | size_t |
---|
4356 | i; |
---|
4357 | |
---|
4358 | int |
---|
4359 | count = 0, |
---|
4360 | total = 0, |
---|
4361 | states = tr->partitionData[model].states; |
---|
4362 | |
---|
4363 | |
---|
4364 | genericInvariant(tr, tr->partitionData[model].lower, tr->partitionData[model].upper, |
---|
4365 | getBitVector(tr->partitionData[model].dataType), |
---|
4366 | getUndetermined(tr->partitionData[model].dataType), |
---|
4367 | states, |
---|
4368 | &(tr->numberOfInvariableColumns), |
---|
4369 | &(tr->weightOfInvariableColumns)); |
---|
4370 | |
---|
4371 | for(i = tr->partitionData[model].lower; i < tr->partitionData[model].upper; i++) |
---|
4372 | { |
---|
4373 | if(tr->invariant[i] < states) |
---|
4374 | count += tr->cdta->aliaswgt[i]; |
---|
4375 | |
---|
4376 | total += tr->cdta->aliaswgt[i]; |
---|
4377 | } |
---|
4378 | |
---|
4379 | tr->partitionData[model].propInvariant = ((double)count)/((double) total); |
---|
4380 | } |
---|
4381 | } |
---|
4382 | |
---|
4383 | initRateMatrix(tr); |
---|
4384 | |
---|
4385 | baseFrequenciesGTR(rdta, cdta, tr); |
---|
4386 | |
---|
4387 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4388 | { |
---|
4389 | tr->partitionData[model].alpha = 1.0; |
---|
4390 | tr->partitionData[model].brLenScaler = 1.0; |
---|
4391 | |
---|
4392 | if(tr->partitionData[model].protModels == AUTO) |
---|
4393 | tr->partitionData[model].autoProtModels = WAG; /* initialize by WAG per default */ |
---|
4394 | |
---|
4395 | initReversibleGTR(tr, model); |
---|
4396 | makeGammaCats(tr->partitionData[model].alpha, tr->partitionData[model].gammaRates, 4, tr->useGammaMedian); |
---|
4397 | |
---|
4398 | for(j = 0; j < 4; j++) |
---|
4399 | { |
---|
4400 | tr->partitionData[model].weights[j] = 0.25; |
---|
4401 | tr->partitionData[model].weightExponents[j] = 0.0; |
---|
4402 | } |
---|
4403 | } |
---|
4404 | |
---|
4405 | |
---|
4406 | |
---|
4407 | if(tr->NumberOfModels > 1) |
---|
4408 | { |
---|
4409 | tr->fracchange = 0; |
---|
4410 | for(model = 0; model < tr->NumberOfModels; model++) |
---|
4411 | tr->fracchange += tr->fracchanges[model]; |
---|
4412 | |
---|
4413 | tr->fracchange /= ((double)tr->NumberOfModels); |
---|
4414 | } |
---|
4415 | |
---|
4416 | #ifdef _USE_PTHREADS |
---|
4417 | masterBarrier(THREAD_COPY_INIT_MODEL, tr); |
---|
4418 | #endif |
---|
4419 | } |
---|
4420 | |
---|
4421 | |
---|
4422 | |
---|
4423 | |
---|