1\hypertarget{hard_8h_source}{}\doxysection{hard.\+h}
2\label{hard_8h_source}\index{ViennaRNA/constraints/hard.h@{ViennaRNA/constraints/hard.h}}
3
4\begin{DoxyCode}{0}
5\DoxyCodeLine{\Hypertarget{hard_8h_source_l00001}\mbox{\hyperlink{group__hard__constraints_gac7e4c4f8abe3163a68110c5bff24e01d}{00001}} \textcolor{preprocessor}{\#ifndef VIENNA\_RNA\_PACKAGE\_CONSTRAINTS\_HARD\_H}}
6\DoxyCodeLine{00002 \textcolor{preprocessor}{\#define VIENNA\_RNA\_PACKAGE\_CONSTRAINTS\_HARD\_H}}
7\DoxyCodeLine{00003 }
8\DoxyCodeLine{00004 \textcolor{preprocessor}{\#ifdef VRNA\_WARN\_DEPRECATED}}
9\DoxyCodeLine{00005 \textcolor{preprocessor}{\# if defined(\_\_clang\_\_)}}
10\DoxyCodeLine{00006 \textcolor{preprocessor}{\#  define DEPRECATED(func, msg) func \_\_attribute\_\_ ((deprecated("{}"{}}, msg)))}
11\DoxyCodeLine{00007 \textcolor{preprocessor}{\# elif defined(\_\_GNUC\_\_)}}
12\DoxyCodeLine{00008 \textcolor{preprocessor}{\#  define DEPRECATED(func, msg) func \_\_attribute\_\_ ((deprecated(msg)))}}
13\DoxyCodeLine{00009 \textcolor{preprocessor}{\# else}}
14\DoxyCodeLine{00010 \textcolor{preprocessor}{\#  define DEPRECATED(func, msg) func}}
15\DoxyCodeLine{00011 \textcolor{preprocessor}{\# endif}}
16\DoxyCodeLine{00012 \textcolor{preprocessor}{\#else}}
17\DoxyCodeLine{00013 \textcolor{preprocessor}{\# define DEPRECATED(func, msg) func}}
18\DoxyCodeLine{00014 \textcolor{preprocessor}{\#endif}}
19\DoxyCodeLine{00015 }
20\DoxyCodeLine{00016 }
21\DoxyCodeLine{00034 \textcolor{keyword}{typedef} \textcolor{keyword}{struct  }\mbox{\hyperlink{group__hard__constraints_structvrna__hc__s}{vrna\_hc\_s}} \mbox{\hyperlink{group__hard__constraints_structvrna__hc__s}{vrna\_hc\_t}};}
22\DoxyCodeLine{00035 }
23\DoxyCodeLine{00040 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{group__hard__constraints_structvrna__hc__up__s}{vrna\_hc\_up\_s}} \mbox{\hyperlink{group__hard__constraints_structvrna__hc__up__s}{vrna\_hc\_up\_t}};}
24\DoxyCodeLine{00041 }
25\DoxyCodeLine{00042 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }vrna\_hc\_depot\_s  vrna\_hc\_depot\_t;}
26\DoxyCodeLine{00043 }
27\DoxyCodeLine{00044 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{fold__compound_8h}{ViennaRNA/fold\_compound.h}}>}}
28\DoxyCodeLine{00045 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{constraints_2basic_8h}{ViennaRNA/constraints/basic.h}}>}}
29\DoxyCodeLine{00046 }
30\DoxyCodeLine{\Hypertarget{hard_8h_source_l00078}\mbox{\hyperlink{group__hard__constraints_gae465f1d4a3d8b6592b38ecbb0d9f613d}{00078}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{unsigned} char (\mbox{\hyperlink{group__hard__constraints_gae465f1d4a3d8b6592b38ecbb0d9f613d}{vrna\_callback\_hc\_evaluate}})(\textcolor{keywordtype}{int}           i,}
31\DoxyCodeLine{00079                                                   \textcolor{keywordtype}{int}           j,}
32\DoxyCodeLine{00080                                                   \textcolor{keywordtype}{int}           k,}
33\DoxyCodeLine{00081                                                   \textcolor{keywordtype}{int}           l,}
34\DoxyCodeLine{00082                                                   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} d,}
35\DoxyCodeLine{00083                                                   \textcolor{keywordtype}{void}          *data);}
36\DoxyCodeLine{00084 }
37\DoxyCodeLine{\Hypertarget{hard_8h_source_l00090}\mbox{\hyperlink{hard_8h_a08d12a9a846ea593b7171d277c9f033f}{00090}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_NO\_HEADER         0}}
38\DoxyCodeLine{00091 }
39\DoxyCodeLine{\Hypertarget{hard_8h_source_l00100}\mbox{\hyperlink{group__hard__constraints_ga4bfc2f15c4f261c62a11af9d2aa80c90}{00100}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB                16384U}}
40\DoxyCodeLine{00101 }
41\DoxyCodeLine{\Hypertarget{hard_8h_source_l00113}\mbox{\hyperlink{group__hard__constraints_ga29ebe940110d60ab798fdacbcdbbfb7d}{00113}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_ENFORCE\_BP           32768U}}
42\DoxyCodeLine{00114 }
43\DoxyCodeLine{\Hypertarget{hard_8h_source_l00126}\mbox{\hyperlink{group__hard__constraints_ga13053547a2de5532b64b64d35e097ae1}{00126}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_PIPE              65536U}}
44\DoxyCodeLine{00127 }
45\DoxyCodeLine{\Hypertarget{hard_8h_source_l00136}\mbox{\hyperlink{group__hard__constraints_ga369bea82eae75fbe626f409fa425747e}{00136}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_DOT               131072U}}
46\DoxyCodeLine{\Hypertarget{hard_8h_source_l00145}\mbox{\hyperlink{group__hard__constraints_ga7283bbe0f8954f7b030ecc3f2d1932b2}{00145}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_X                 262144U}}
47\DoxyCodeLine{\Hypertarget{hard_8h_source_l00152}\mbox{\hyperlink{hard_8h_ad54c1315a47d55653dcaa5de6e544b77}{00152}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_ANG\_BRACK         524288U}}
48\DoxyCodeLine{\Hypertarget{hard_8h_source_l00161}\mbox{\hyperlink{group__hard__constraints_gac17b034852c914bc5879954c65d7e74b}{00161}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_RND\_BRACK         1048576U}}
49\DoxyCodeLine{00162 }
50\DoxyCodeLine{\Hypertarget{hard_8h_source_l00174}\mbox{\hyperlink{group__hard__constraints_ga5c17253f5a39d1d49b0fb11f5196982a}{00174}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_INTRAMOL    2097152U}}
51\DoxyCodeLine{00175 }
52\DoxyCodeLine{\Hypertarget{hard_8h_source_l00187}\mbox{\hyperlink{group__hard__constraints_ga31d0ebb9755ca8a4acafc14f00ca755d}{00187}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_INTERMOL    4194304U}}
53\DoxyCodeLine{00188 }
54\DoxyCodeLine{\Hypertarget{hard_8h_source_l00199}\mbox{\hyperlink{group__hard__constraints_ga75cfab03cdc97c95b3ce8bb29f52b08e}{00199}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_GQUAD                8388608U}}
55\DoxyCodeLine{00200 }
56\DoxyCodeLine{00201 \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_CANONICAL\_BP         16777216U}}
57\DoxyCodeLine{00202 }
58\DoxyCodeLine{\Hypertarget{hard_8h_source_l00211}\mbox{\hyperlink{group__hard__constraints_ga10ce6bd2355945f3c8161b7a30a2c322}{00211}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_WUSS                 33554432U}}
59\DoxyCodeLine{00212 }
60\DoxyCodeLine{00213 }
61\DoxyCodeLine{\Hypertarget{hard_8h_source_l00225}\mbox{\hyperlink{group__hard__constraints_ga1c3864bdc92147a4d93de2b1b4356177}{00225}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_DB\_DEFAULT \(\backslash\)}}
62\DoxyCodeLine{00226 \textcolor{preprocessor}{  (VRNA\_CONSTRAINT\_DB \(\backslash\)}}
63\DoxyCodeLine{00227 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_PIPE \(\backslash\)}}
64\DoxyCodeLine{00228 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_DOT \(\backslash\)}}
65\DoxyCodeLine{00229 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_X \(\backslash\)}}
66\DoxyCodeLine{00230 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_ANG\_BRACK \(\backslash\)}}
67\DoxyCodeLine{00231 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_RND\_BRACK \(\backslash\)}}
68\DoxyCodeLine{00232 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_INTRAMOL \(\backslash\)}}
69\DoxyCodeLine{00233 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_INTERMOL \(\backslash\)}}
70\DoxyCodeLine{00234 \textcolor{preprocessor}{   | VRNA\_CONSTRAINT\_DB\_GQUAD \(\backslash\)}}
71\DoxyCodeLine{00235 \textcolor{preprocessor}{  )}}
72\DoxyCodeLine{00236 }
73\DoxyCodeLine{\Hypertarget{hard_8h_source_l00243}\mbox{\hyperlink{group__hard__constraints_ga9418eda62a5dec070896702c279d2548}{00243}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP      (unsigned char)0x01}}
74\DoxyCodeLine{00244 }
75\DoxyCodeLine{\Hypertarget{hard_8h_source_l00251}\mbox{\hyperlink{group__hard__constraints_ga79203702b197b6b9d3b78eed40663eb1}{00251}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP       (unsigned char)0x02}}
76\DoxyCodeLine{00252 }
77\DoxyCodeLine{\Hypertarget{hard_8h_source_l00259}\mbox{\hyperlink{group__hard__constraints_ga21feeab3a9e5fa5a9e3d9ac0fcf5994f}{00259}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP      (unsigned char)0x04}}
78\DoxyCodeLine{00260 }
79\DoxyCodeLine{\Hypertarget{hard_8h_source_l00267}\mbox{\hyperlink{group__hard__constraints_ga0536288e04ff6332ecdc23ca4705402b}{00267}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC  (unsigned char)0x08}}
80\DoxyCodeLine{00268 }
81\DoxyCodeLine{\Hypertarget{hard_8h_source_l00275}\mbox{\hyperlink{group__hard__constraints_ga456ecd2ff00056bb64da8dd4f61bbfc5}{00275}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP       (unsigned char)0x10}}
82\DoxyCodeLine{00276 }
83\DoxyCodeLine{\Hypertarget{hard_8h_source_l00283}\mbox{\hyperlink{group__hard__constraints_ga02a3d703ddbcfce393e4bbfcb9db7077}{00283}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC   (unsigned char)0x20}}
84\DoxyCodeLine{00284 }
85\DoxyCodeLine{\Hypertarget{hard_8h_source_l00288}\mbox{\hyperlink{hard_8h_a1aa55f2c6347e670e003b1a765632dad}{00288}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_ENFORCE       (unsigned char)0x40}}
86\DoxyCodeLine{00289 }
87\DoxyCodeLine{\Hypertarget{hard_8h_source_l00293}\mbox{\hyperlink{hard_8h_a9fcac36535850ff612c7e6b1305304a1}{00293}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_NO\_REMOVE     (unsigned char)0x80}}
88\DoxyCodeLine{00294 }
89\DoxyCodeLine{00295 }
90\DoxyCodeLine{\Hypertarget{hard_8h_source_l00299}\mbox{\hyperlink{hard_8h_addb99fd07ad9acc0201fd07eada8f661}{00299}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_NONE          (unsigned char)0}}
91\DoxyCodeLine{00300 }
92\DoxyCodeLine{\Hypertarget{hard_8h_source_l00304}\mbox{\hyperlink{hard_8h_a10675929fdc14c5f81df49d77933067a}{00304}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_CLOSING\_LOOPS (unsigned char)(VRNA\_CONSTRAINT\_CONTEXT\_EXT\_LOOP | \(\backslash\)}}
93\DoxyCodeLine{00305 \textcolor{preprocessor}{                                                              VRNA\_CONSTRAINT\_CONTEXT\_HP\_LOOP | \(\backslash\)}}
94\DoxyCodeLine{00306 \textcolor{preprocessor}{                                                              VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP | \(\backslash\)}}
95\DoxyCodeLine{00307 \textcolor{preprocessor}{                                                              VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP)}}
96\DoxyCodeLine{00308 }
97\DoxyCodeLine{\Hypertarget{hard_8h_source_l00312}\mbox{\hyperlink{hard_8h_ae03ed6ba25cf3cefdf36516e4081eb17}{00312}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_ENCLOSED\_LOOPS  (unsigned char)(VRNA\_CONSTRAINT\_CONTEXT\_INT\_LOOP\_ENC | \(\backslash\)}}
98\DoxyCodeLine{00313 \textcolor{preprocessor}{                                                                VRNA\_CONSTRAINT\_CONTEXT\_MB\_LOOP\_ENC)}}
99\DoxyCodeLine{00314 }
100\DoxyCodeLine{\Hypertarget{hard_8h_source_l00321}\mbox{\hyperlink{group__hard__constraints_ga886d9127c49bb982a4b67cd7581e8a5a}{00321}} \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_CONTEXT\_ALL\_LOOPS     (unsigned char)(VRNA\_CONSTRAINT\_CONTEXT\_CLOSING\_LOOPS | \(\backslash\)}}
101\DoxyCodeLine{00322 \textcolor{preprocessor}{                                                              VRNA\_CONSTRAINT\_CONTEXT\_ENCLOSED\_LOOPS)}}
102\DoxyCodeLine{00323 }
103\DoxyCodeLine{00324 }
104\DoxyCodeLine{00325 \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_WINDOW\_UPDATE\_5       1U}}
105\DoxyCodeLine{00326 }
106\DoxyCodeLine{00327 \textcolor{preprocessor}{\#define VRNA\_CONSTRAINT\_WINDOW\_UPDATE\_3       2U}}
107\DoxyCodeLine{00328 }
108\DoxyCodeLine{\Hypertarget{hard_8h_source_l00335}\mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435}{00335}} \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \{}
109\DoxyCodeLine{\Hypertarget{hard_8h_source_l00336}\mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435a030a42722f849b10dd5780ceed7dfedd}{00336}}   \mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435a030a42722f849b10dd5780ceed7dfedd}{VRNA\_HC\_DEFAULT}},  }
110\DoxyCodeLine{00337   \mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435a876c110b3de8e8c89ba5824b08cadb74}{VRNA\_HC\_WINDOW}}    }
111\DoxyCodeLine{\Hypertarget{hard_8h_source_l00341}\mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435a876c110b3de8e8c89ba5824b08cadb74}{00341}} \} \mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435}{vrna\_hc\_type\_e}};}
112\DoxyCodeLine{00342 }
113\DoxyCodeLine{00343 }
114\DoxyCodeLine{\Hypertarget{hard_8h_source_l00368}\mbox{\hyperlink{group__hard__constraints}{00368}} \textcolor{keyword}{struct }\mbox{\hyperlink{group__hard__constraints_structvrna__hc__s}{vrna\_hc\_s}} \{}
115\DoxyCodeLine{00369   \mbox{\hyperlink{hard_8h_a0fcb8bda9b3712e14f8f513def112435}{vrna\_hc\_type\_e}}  type;}
116\DoxyCodeLine{00370   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}    n;}
117\DoxyCodeLine{00371 }
118\DoxyCodeLine{00372   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}   state;}
119\DoxyCodeLine{00373 }
120\DoxyCodeLine{00374 \textcolor{preprocessor}{\#ifndef VRNA\_DISABLE\_C11\_FEATURES}}
121\DoxyCodeLine{00375   \textcolor{comment}{/* C11 support for unnamed unions/structs */}}
122\DoxyCodeLine{00376   \textcolor{keyword}{union }\{}
123\DoxyCodeLine{00377     \textcolor{keyword}{struct }\{}
124\DoxyCodeLine{00378 \textcolor{preprocessor}{\#endif}}
125\DoxyCodeLine{00379       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} *mx;}
126\DoxyCodeLine{00380 \textcolor{preprocessor}{\#ifndef VRNA\_DISABLE\_C11\_FEATURES}}
127\DoxyCodeLine{00381     \};}
128\DoxyCodeLine{00382     \textcolor{keyword}{struct }\{}
129\DoxyCodeLine{00383 \textcolor{preprocessor}{\#endif}}
130\DoxyCodeLine{00384       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}         **matrix\_local;}
131\DoxyCodeLine{00385 \textcolor{preprocessor}{\#ifndef VRNA\_DISABLE\_C11\_FEATURES}}
132\DoxyCodeLine{00386     \};}
133\DoxyCodeLine{00387   \};}
134\DoxyCodeLine{00388 \textcolor{preprocessor}{\#endif}}
135\DoxyCodeLine{00389 }
136\DoxyCodeLine{\Hypertarget{hard_8h_source_l00390}\mbox{\hyperlink{group__hard__constraints_a60094038af04093b2fee9b883266ff75}{00390}}   \textcolor{keywordtype}{int}                         *\mbox{\hyperlink{group__hard__constraints_a60094038af04093b2fee9b883266ff75}{up\_ext}};    }
137\DoxyCodeLine{\Hypertarget{hard_8h_source_l00393}\mbox{\hyperlink{group__hard__constraints_a853255558e7e7d9eb382ac142ac8de3d}{00393}}   \textcolor{keywordtype}{int}                         *\mbox{\hyperlink{group__hard__constraints_a853255558e7e7d9eb382ac142ac8de3d}{up\_hp}};     }
138\DoxyCodeLine{\Hypertarget{hard_8h_source_l00396}\mbox{\hyperlink{group__hard__constraints_a455f994af0ec892d84fee1bf60d14a81}{00396}}   \textcolor{keywordtype}{int}                         *\mbox{\hyperlink{group__hard__constraints_a455f994af0ec892d84fee1bf60d14a81}{up\_int}};    }
139\DoxyCodeLine{\Hypertarget{hard_8h_source_l00399}\mbox{\hyperlink{group__hard__constraints_aa318079c2e3cfaca8dc589cc478d3b29}{00399}}   \textcolor{keywordtype}{int}                         *\mbox{\hyperlink{group__hard__constraints_aa318079c2e3cfaca8dc589cc478d3b29}{up\_ml}};     }
140\DoxyCodeLine{\Hypertarget{hard_8h_source_l00403}\mbox{\hyperlink{group__hard__constraints_a85714afbf27012165ec80c564bd62931}{00403}}   \mbox{\hyperlink{group__hard__constraints_gae465f1d4a3d8b6592b38ecbb0d9f613d}{vrna\_callback\_hc\_evaluate}}   *\mbox{\hyperlink{group__hard__constraints_a85714afbf27012165ec80c564bd62931}{f}};         }
141\DoxyCodeLine{\Hypertarget{hard_8h_source_l00407}\mbox{\hyperlink{group__hard__constraints_acef3d722142cb5f4a8e114e5fbce3b1a}{00407}}   \textcolor{keywordtype}{void}                        *\mbox{\hyperlink{group__hard__constraints_acef3d722142cb5f4a8e114e5fbce3b1a}{data}};      }
142\DoxyCodeLine{\Hypertarget{hard_8h_source_l00412}\mbox{\hyperlink{group__hard__constraints_a970e0e202c9e46ebc7640ddc43357ba6}{00412}}   \mbox{\hyperlink{group__fold__compound_ga7806651f51b195013839a218b3bbd5a3}{vrna\_callback\_free\_auxdata}}  *\mbox{\hyperlink{group__hard__constraints_a970e0e202c9e46ebc7640ddc43357ba6}{free\_data}}; }
143\DoxyCodeLine{00423   vrna\_hc\_depot\_t             *depot;}
144\DoxyCodeLine{00424 \};}
145\DoxyCodeLine{00425 }
146\DoxyCodeLine{\Hypertarget{hard_8h_source_l00431}\mbox{\hyperlink{group__hard__constraints}{00431}} \textcolor{keyword}{struct }\mbox{\hyperlink{group__hard__constraints_structvrna__hc__up__s}{vrna\_hc\_up\_s}} \{}
147\DoxyCodeLine{\Hypertarget{hard_8h_source_l00432}\mbox{\hyperlink{group__hard__constraints_a67a98def263c534a8c57298098da16e8}{00432}}   \textcolor{keywordtype}{int}   \mbox{\hyperlink{group__hard__constraints_a67a98def263c534a8c57298098da16e8}{position}};           }
148\DoxyCodeLine{00433   \textcolor{keywordtype}{int}   strand;}
149\DoxyCodeLine{\Hypertarget{hard_8h_source_l00434}\mbox{\hyperlink{group__hard__constraints_a468414760f373f7dc0eb1fd47cf708d0}{00434}}   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} \mbox{\hyperlink{group__hard__constraints_a468414760f373f7dc0eb1fd47cf708d0}{options}};  }
150\DoxyCodeLine{00435 \};}
151\DoxyCodeLine{00436 }
152\DoxyCodeLine{\Hypertarget{hard_8h_source_l00459}\mbox{\hyperlink{group__constraints_gaa1f20b53bf09ac2e6b0dbb13f7d89670}{00459}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__constraints_gaa1f20b53bf09ac2e6b0dbb13f7d89670}{vrna\_message\_constraint\_options}}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);}
153\DoxyCodeLine{00460 }
154\DoxyCodeLine{00461 }
155\DoxyCodeLine{\Hypertarget{hard_8h_source_l00472}\mbox{\hyperlink{group__constraints_gaec7e13fa0465c2acc7a621d1aecb709f}{00472}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__constraints_gaec7e13fa0465c2acc7a621d1aecb709f}{vrna\_message\_constraint\_options\_all}}(\textcolor{keywordtype}{void});}
156\DoxyCodeLine{00473 }
157\DoxyCodeLine{00474 }
158\DoxyCodeLine{\Hypertarget{hard_8h_source_l00489}\mbox{\hyperlink{group__hard__constraints_ga36ff456c43bf920629cee5a236e4f0ff}{00489}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__hard__constraints_ga36ff456c43bf920629cee5a236e4f0ff}{vrna\_hc\_init}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *vc);}
159\DoxyCodeLine{00490 }
160\DoxyCodeLine{00491 }
161\DoxyCodeLine{00492 \textcolor{keywordtype}{void} vrna\_hc\_init\_window(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *vc);}
162\DoxyCodeLine{00493 }
163\DoxyCodeLine{00494 }
164\DoxyCodeLine{00495 \textcolor{keywordtype}{int}}
165\DoxyCodeLine{00496 vrna\_hc\_prepare(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *fc,}
166\DoxyCodeLine{00497                 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         options);}
167\DoxyCodeLine{00498 }
168\DoxyCodeLine{00499 \textcolor{keywordtype}{void}}
169\DoxyCodeLine{00500 vrna\_hc\_update(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *fc,}
170\DoxyCodeLine{00501                \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         i,}
171\DoxyCodeLine{00502                \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         options);}
172\DoxyCodeLine{00503 }
173\DoxyCodeLine{00504 }
174\DoxyCodeLine{\Hypertarget{hard_8h_source_l00519}\mbox{\hyperlink{group__hard__constraints_ga447d88e06ad97bb225cd83310ace8345}{00519}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__hard__constraints_ga447d88e06ad97bb225cd83310ace8345}{vrna\_hc\_add\_up}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}  *vc,}
175\DoxyCodeLine{00520                     \textcolor{keywordtype}{int}                   i,}
176\DoxyCodeLine{00521                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}         option);}
177\DoxyCodeLine{00522 }
178\DoxyCodeLine{00523 }
179\DoxyCodeLine{00524 \textcolor{keywordtype}{int}}
180\DoxyCodeLine{00525 vrna\_hc\_add\_up\_strand(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *fc,}
181\DoxyCodeLine{00526                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         i,}
182\DoxyCodeLine{00527                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         strand,}
183\DoxyCodeLine{00528                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}        option);}
184\DoxyCodeLine{00529 }
185\DoxyCodeLine{00539 \textcolor{keywordtype}{int}}
186\DoxyCodeLine{\Hypertarget{hard_8h_source_l00540}\mbox{\hyperlink{group__hard__constraints_ga5070f296c8af2baea10951525519464f}{00540}} \mbox{\hyperlink{group__hard__constraints_ga5070f296c8af2baea10951525519464f}{vrna\_hc\_add\_up\_batch}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *vc,}
187\DoxyCodeLine{00541                      \mbox{\hyperlink{group__hard__constraints_structvrna__hc__up__s}{vrna\_hc\_up\_t}}         *constraints);}
188\DoxyCodeLine{00542 }
189\DoxyCodeLine{00543 \textcolor{keywordtype}{int}}
190\DoxyCodeLine{00544 vrna\_hc\_add\_up\_strand\_batch(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *fc,}
191\DoxyCodeLine{00545                             \mbox{\hyperlink{group__hard__constraints_structvrna__hc__up__s}{vrna\_hc\_up\_t}}         *constraints);}
192\DoxyCodeLine{00546 }
193\DoxyCodeLine{\Hypertarget{hard_8h_source_l00563}\mbox{\hyperlink{group__hard__constraints_ga85481542ef1fcb6ed6ca3cef45e2451b}{00563}} \textcolor{keywordtype}{int} \mbox{\hyperlink{group__hard__constraints_ga85481542ef1fcb6ed6ca3cef45e2451b}{vrna\_hc\_add\_bp}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}  *vc,}
194\DoxyCodeLine{00564                     \textcolor{keywordtype}{int}                   i,}
195\DoxyCodeLine{00565                     \textcolor{keywordtype}{int}                   j,}
196\DoxyCodeLine{00566                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}         option);}
197\DoxyCodeLine{00567 }
198\DoxyCodeLine{00568 }
199\DoxyCodeLine{00569 \textcolor{keywordtype}{int}}
200\DoxyCodeLine{00570 vrna\_hc\_add\_bp\_strand(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}} *fc,}
201\DoxyCodeLine{00571                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         i,}
202\DoxyCodeLine{00572                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         strand\_i,}
203\DoxyCodeLine{00573                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         j,}
204\DoxyCodeLine{00574                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}         strand\_j,}
205\DoxyCodeLine{00575                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}        option);}
206\DoxyCodeLine{00576 }
207\DoxyCodeLine{\Hypertarget{hard_8h_source_l00594}\mbox{\hyperlink{group__hard__constraints_gaed50398ade2d4852c9e82592fe76046c}{00594}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__hard__constraints_gaed50398ade2d4852c9e82592fe76046c}{vrna\_hc\_add\_bp\_nonspecific}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}  *vc,}
208\DoxyCodeLine{00595                                 \textcolor{keywordtype}{int}                   i,}
209\DoxyCodeLine{00596                                 \textcolor{keywordtype}{int}                   d,}
210\DoxyCodeLine{00597                                 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}         option);}
211\DoxyCodeLine{00598 }
212\DoxyCodeLine{00599 }
213\DoxyCodeLine{\Hypertarget{hard_8h_source_l00611}\mbox{\hyperlink{group__hard__constraints_ga696dcf77887d856c6f21ea266d8b9ca2}{00611}} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__hard__constraints_ga696dcf77887d856c6f21ea266d8b9ca2}{vrna\_hc\_free}}(\mbox{\hyperlink{group__hard__constraints_structvrna__hc__s}{vrna\_hc\_t}} *hc);}
214\DoxyCodeLine{00612 }
215\DoxyCodeLine{00613 }
216\DoxyCodeLine{\Hypertarget{hard_8h_source_l00618}\mbox{\hyperlink{hard_8h_af220427ba7ecc8e786a07b7799658f18}{00618}} \textcolor{keywordtype}{void} \mbox{\hyperlink{hard_8h_af220427ba7ecc8e786a07b7799658f18}{vrna\_hc\_add\_f}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}       *vc,}
217\DoxyCodeLine{00619                    \mbox{\hyperlink{group__hard__constraints_gae465f1d4a3d8b6592b38ecbb0d9f613d}{vrna\_callback\_hc\_evaluate}}  *f);}
218\DoxyCodeLine{00620 }
219\DoxyCodeLine{00621 }
220\DoxyCodeLine{\Hypertarget{hard_8h_source_l00633}\mbox{\hyperlink{hard_8h_a128920e0af52e4196a9d59fa13336c7c}{00633}} \textcolor{keywordtype}{void} \mbox{\hyperlink{hard_8h_a128920e0af52e4196a9d59fa13336c7c}{vrna\_hc\_add\_data}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}        *vc,}
221\DoxyCodeLine{00634                       \textcolor{keywordtype}{void}                        *data,}
222\DoxyCodeLine{00635                       \mbox{\hyperlink{group__fold__compound_ga7806651f51b195013839a218b3bbd5a3}{vrna\_callback\_free\_auxdata}}  *f);}
223\DoxyCodeLine{00636 }
224\DoxyCodeLine{00637 }
225\DoxyCodeLine{00656 \textcolor{keywordtype}{int}}
226\DoxyCodeLine{\Hypertarget{hard_8h_source_l00657}\mbox{\hyperlink{group__hard__constraints_ga5b4de3247b67358080c176b94591a8e6}{00657}} \mbox{\hyperlink{group__hard__constraints_ga5b4de3247b67358080c176b94591a8e6}{vrna\_hc\_add\_from\_db}}(\mbox{\hyperlink{group__fold__compound_structvrna__fc__s}{vrna\_fold\_compound\_t}}  *vc,}
227\DoxyCodeLine{00658                     \textcolor{keyword}{const} \textcolor{keywordtype}{char}            *constraint,}
228\DoxyCodeLine{00659                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}          options);}
229\DoxyCodeLine{00660 }
230\DoxyCodeLine{00661 }
231\DoxyCodeLine{00662 \textcolor{preprocessor}{\#ifndef VRNA\_DISABLE\_BACKWARD\_COMPATIBILITY}}
232\DoxyCodeLine{00663 }
233\DoxyCodeLine{00671 DEPRECATED(\textcolor{keywordtype}{void} \mbox{\hyperlink{hard_8h_a4d167deb70bb51723e44374dc981deb2}{print\_tty\_constraint}}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option),}
234\DoxyCodeLine{\Hypertarget{hard_8h_source_l00672}\mbox{\hyperlink{hard_8h_a4d167deb70bb51723e44374dc981deb2}{00672}}           \textcolor{stringliteral}{"{}Use vrna\_message\_constraint\_options() instead"{}});}
235\DoxyCodeLine{00673 }
236\DoxyCodeLine{00680 DEPRECATED(\textcolor{keywordtype}{void} \mbox{\hyperlink{hard_8h_ae8ae8a34962b9959be3f6c40f0a80ac1}{print\_tty\_constraint\_full}}(\textcolor{keywordtype}{void}),}
237\DoxyCodeLine{\Hypertarget{hard_8h_source_l00681}\mbox{\hyperlink{hard_8h_ae8ae8a34962b9959be3f6c40f0a80ac1}{00681}}           \textcolor{stringliteral}{"{}Use vrna\_message\_constraint\_options\_all() instead"{}});}
238\DoxyCodeLine{00682 }
239\DoxyCodeLine{00695 DEPRECATED(\textcolor{keywordtype}{void} \mbox{\hyperlink{hard_8h_a36c3a6c3218b041f992052767bc74549}{constrain\_ptypes}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char}   *constraint,}
240\DoxyCodeLine{00696                                  \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length,}
241\DoxyCodeLine{00697                                  \textcolor{keywordtype}{char}         *ptype,}
242\DoxyCodeLine{00698                                  \textcolor{keywordtype}{int}          *BP,}
243\DoxyCodeLine{00699                                  \textcolor{keywordtype}{int}          min\_loop\_size,}
244\DoxyCodeLine{00700                                  \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} idx\_type),}
245\DoxyCodeLine{\Hypertarget{hard_8h_source_l00701}\mbox{\hyperlink{hard_8h_a36c3a6c3218b041f992052767bc74549}{00701}}           \textcolor{stringliteral}{"{}Use the new API and the hard constraint framework instead"{}});}
246\DoxyCodeLine{00702 }
247\DoxyCodeLine{00703 \textcolor{preprocessor}{\#endif}}
248\DoxyCodeLine{00704 }
249\DoxyCodeLine{00705 \textcolor{preprocessor}{\#endif}}
250
251\end{DoxyCode}
252