Next version of JABA
[jabaws.git] / binaries / src / muscle / termgaps.cpp
1 #include "muscle.h"\r
2 #include "profile.h"\r
3 \r
4 void SetTermGaps(const ProfPos *Prof, unsigned uLength)\r
5         {\r
6         if (0 == uLength)\r
7                 return;\r
8 \r
9         ProfPos *First = (ProfPos *) Prof;\r
10         ProfPos *Last = (ProfPos *) (Prof + uLength - 1);\r
11 \r
12         switch (g_TermGaps)\r
13                 {\r
14         case TERMGAPS_Full:\r
15                 break;\r
16 \r
17         case TERMGAPS_Half:\r
18         // -infinity check for lock left/right\r
19                 if (First->m_scoreGapOpen != MINUS_INFINITY)\r
20                         First->m_scoreGapOpen = 0;\r
21 \r
22                 if (uLength > 1 && Last->m_scoreGapClose != MINUS_INFINITY)\r
23                         Last->m_scoreGapClose = 0;\r
24 \r
25         case TERMGAPS_Ext:\r
26                 if (First->m_scoreGapOpen != MINUS_INFINITY)\r
27                         First->m_scoreGapOpen *= -1;\r
28 \r
29                 if (uLength > 1 && Last->m_scoreGapClose != MINUS_INFINITY)\r
30                         Last->m_scoreGapClose *= -1;\r
31                 break;\r
32 \r
33         default:\r
34                 Quit("Invalid g_TermGaps");\r
35                 }\r
36         }\r