1 /* { dg-do compile } */
2 /* { dg-require-effective-target pthread } */
3 /* { dg-options "-O3 -ftree-parallelize-loops=4" } */
4
5 struct p7prior_s {
6 int mnum; /* number of mat emission Dirichlet mixtures */
7 float mq[200]; /* probabilities of mnum components */
8 float m[200][20]; /* match emission terms per mix component */
9 };
10
11 struct p7prior_s *default_amino_prior(void);
12 struct p7prior_s *P7AllocPrior(void);
13
14 struct p7prior_s *
default_amino_prior(void)15 default_amino_prior(void)
16 {
17 struct p7prior_s *pri;
18 int x, q;
19
20 static float defmq[5] = {
21 0.178091, 0.056591, 0.0960191, 0.0781233, 0.0834977 };
22 static float defm[5][6] = {
23 { 0.270671, 0.039848, 0.017576, 0.016415, 0.014268, 0.216147 },
24 { 0.021465, 0.010300, 0.011741, 0.010883, 0.385651, 0.029156 },
25 { 0.561459, 0.045448, 0.438366, 0.764167, 0.087364, 0.583402 },
26 { 0.070143, 0.011140, 0.019479, 0.094657, 0.013162, 0.073732 },
27 { 0.041103, 0.014794, 0.005610, 0.010216, 0.153602, 0.012049 }
28 };
29
30 pri = P7AllocPrior();
31 pri->mnum = 5;
32 for (q = 0; q < pri->mnum; q++)
33 {
34 pri->mq[q] = defmq[q];
35 for (x = 0; x < 6; x++)
36 pri->m[q][x] = defm[q][x];
37 }
38 return pri;
39 }
40
41