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