--- /dev/null
+\hypertarget{utils_8h}{\section{utils.\-h}
+\label{utils_8h}\index{/home/asherstnev/\-Projects/\-Java.\-projects/jabaws/secure-\/git/develop/binaries/src/\-Vienna\-R\-N\-A/\-H/utils.\-h@{/home/asherstnev/\-Projects/\-Java.\-projects/jabaws/secure-\/git/develop/binaries/src/\-Vienna\-R\-N\-A/\-H/utils.\-h}}
+}
+
+\begin{DoxyCode}
+00001 \textcolor{preprocessor}{#ifndef \_\_VIENNA\_RNA\_PACKAGE\_UTILS\_H\_\_}
+00002 \textcolor{preprocessor}{}\textcolor{preprocessor}{#define \_\_VIENNA\_RNA\_PACKAGE\_UTILS\_H\_\_}
+00003 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00012}{}\hyperlink{utils_8h_ad403c9ea58f1836689404c2931419c8c}{00012} \textcolor{preprocessor}{#define VRNA\_INPUT\_ERROR 1U}
+00013 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00016}{}\hyperlink{utils_8h_a72f3c6ca5c83d2b9baed2922d19c403d}{00016} \textcolor{preprocessor}{#define VRNA\_INPUT\_QUIT 2U}
+00017 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00020}{}\hyperlink{utils_8h_a8e3241b321c9c1a78a69e59e2e019a71}{00020} \textcolor{preprocessor}{#define VRNA\_INPUT\_MISC 4U}
+00021 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00028}{}\hyperlink{utils_8h_a2f0d8069e93d3ac54d9320d6bdb8e7e7}{00028} \textcolor{preprocessor}{#define VRNA\_INPUT\_FASTA\_HEADER 8U}
+00029 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00034}{}\hyperlink{utils_8h_a8566d6787972100e68b5a2a159b4cf45}{00034} \textcolor{preprocessor}{#define VRNA\_INPUT\_SEQUENCE 16U}
+00035 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00040}{}\hyperlink{utils_8h_ac08a9df45b9721b97a47dbfe7a6e5f85}{00040} \textcolor{preprocessor}{#define VRNA\_INPUT\_CONSTRAINT 32U}
+00041 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00046}{}\hyperlink{utils_8h_a086742158293217a46ae2f71bb296937}{00046} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_TRUNCATION 256U}
+00047 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00051}{}\hyperlink{utils_8h_a7a2e8c50a0c7ce82e60da1016e1367fd}{00051} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_REST 512U}
+00052 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00056}{}\hyperlink{utils_8h_a0de536599b881c787b0943a2671da476}{00056} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_SPAN 1024U}
+00057 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00061}{}\hyperlink{utils_8h_ab4db885222b3b69608310d7c7e63e286}{00061} \textcolor{preprocessor}{#define VRNA\_INPUT\_NOSKIP\_BLANK\_LINES 2048U}
+00062 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00066}{}\hyperlink{utils_8h_a305474b93ccb79ae4c7754016a8ddd84}{00066} \textcolor{preprocessor}{#define VRNA\_INPUT\_BLANK\_LINE 4096U}
+00067 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00071}{}\hyperlink{utils_8h_a0f6311f11bed1842e3a527ab27b294c6}{00071} \textcolor{preprocessor}{#define VRNA\_INPUT\_NOSKIP\_COMMENTS 128U}
+00072 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00076}{}\hyperlink{utils_8h_af2062e0eeefffd3ed639af460b3d4fab}{00076} \textcolor{preprocessor}{#define VRNA\_INPUT\_COMMENT 8192U}
+00077 \textcolor{preprocessor}{}
+00078
+00079
+00080
+\hypertarget{utils_8h_source_l00084}{}\hyperlink{utils_8h_a4e8d7120619b21df0309af425acbc9a2}{00084} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_PIPE 1U}
+00085 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00088}{}\hyperlink{utils_8h_a55e1d16fd693ae9ec8e987b0750da804}{00088} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_DOT 2U}
+00089 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00092}{}\hyperlink{utils_8h_a077c56550c915d4516d84a5ed8d051f4}{00092} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_X 4U}
+00093 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00096}{}\hyperlink{utils_8h_a0512d790f738742cbdcf3f7c87b46f48}{00096} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_ANG\_BRACK 8U}
+00097 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00100}{}\hyperlink{utils_8h_aa20bfca4bb2903c8548000a33d7bbb53}{00100} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_RND\_BRACK 16U}
+00101 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00104}{}\hyperlink{utils_8h_a7d725ef525b29891abef3f1ed42599a4}{00104} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_MULTILINE 32U}
+00105 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00108}{}\hyperlink{utils_8h_a08d12a9a846ea593b7171d277c9f033f}{00108} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_NO\_HEADER 64U}
+00109 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00112}{}\hyperlink{utils_8h_a0a697f77a6fbb10f34e16fa68ed9e655}{00112} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_ALL 128U}
+00113 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00116}{}\hyperlink{utils_8h_a99dc6b23dc4080a76e2ed1a81c20e94d}{00116} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_G 256U}
+00117 \textcolor{preprocessor}{}
+00118
+00119
+\hypertarget{utils_8h_source_l00128}{}\hyperlink{utils_8h_abec89c09874528c6cb73140a4c3d86d7}{00128} \textcolor{preprocessor}{#define VRNA\_OPTION\_MULTILINE 32U}
+00129 \textcolor{preprocessor}{}
+00130
+\hypertarget{utils_8h_source_l00134}{}\hyperlink{utils_8h_ae0b9cd0ce090bd69b951aa73e8fa4f7d}{00134} \textcolor{preprocessor}{#define MIN2(A, B) ((A) < (B) ? (A) : (B))}
+00135 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00138}{}\hyperlink{utils_8h_a33297b3679c713b0c4d897cd0fe3b122}{00138} \textcolor{preprocessor}{#define MAX2(A, B) ((A) > (B) ? (A) : (B))}
+00139 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00142}{}\hyperlink{utils_8h_a721b8d5f3abef17f10293f1f7f8c958e}{00142} \textcolor{preprocessor}{#define MIN3(A, B, C) (MIN2( (MIN2((A),(B))) ,(C)))}
+00143 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00146}{}\hyperlink{utils_8h_a8d577123d2e66d2b7d0bf9af6e172b93}{00146} \textcolor{preprocessor}{#define MAX3(A, B, C) (MAX2( (MAX2((A),(B))) ,(C)))}
+00147 \textcolor{preprocessor}{}
+00148
+\hypertarget{utils_8h_source_l00152}{}\hyperlink{utils_8h_a03943706e48069237cd57f2d35ca987e}{00152} \textcolor{preprocessor}{#define XSTR(s) STR(s)}
+00153 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00156}{}\hyperlink{utils_8h_a6388870e639eee9c0a69446876f1f8cc}{00156} \textcolor{preprocessor}{#define STR(s) #s}
+00157 \textcolor{preprocessor}{}
+00158 \textcolor{preprocessor}{#ifndef FILENAME\_MAX\_LENGTH}
+00159 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00165}{}\hyperlink{utils_8h_afb228174279df9486a5cb56ac0bc79a3}{00165} \textcolor{preprocessor}{#define FILENAME\_MAX\_LENGTH 80}
+00166 \textcolor{preprocessor}{}
+\hypertarget{utils_8h_source_l00172}{}\hyperlink{utils_8h_a33c3b1826b8e2739f09f111ec719ded5}{00172} \textcolor{preprocessor}{#define FILENAME\_ID\_LENGTH 42}
+00173 \textcolor{preprocessor}{}\textcolor{preprocessor}{#endif}
+00174 \textcolor{preprocessor}{}
+00175
+00176 \textcolor{preprocessor}{#ifdef HAVE\_CONFIG\_H}
+00177 \textcolor{preprocessor}{}\textcolor{preprocessor}{#include <config.h>}
+00178 \textcolor{preprocessor}{#ifndef HAVE\_STRDUP}
+00179 \textcolor{preprocessor}{}\textcolor{keywordtype}{char} *strdup(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);
+00180 \textcolor{preprocessor}{#endif}
+00181 \textcolor{preprocessor}{}\textcolor{preprocessor}{#endif}
+00182 \textcolor{preprocessor}{}\textcolor{preprocessor}{#ifdef WITH\_DMALLOC}
+00183 \textcolor{preprocessor}{}\textcolor{comment}{/* use dmalloc library to check for memory management bugs */}
+00184 \textcolor{preprocessor}{#include "dmalloc.h"}
+00185 \textcolor{preprocessor}{#define space(S) calloc(1,(S))}
+00186 \textcolor{preprocessor}{}\textcolor{preprocessor}{#else}
+00187 \textcolor{preprocessor}{}
+00194 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
+00195 \textcolor{keywordtype}{void} *\hyperlink{utils_8h_ad7e1e137b3bf1f7108933d302a7f0177}{space}(\textcolor{keywordtype}{unsigned} size) \textcolor{comment}{/*@ensures MaxSet(result) == (size-1);@*/};
+00196
+00204 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
+00205 \textcolor{keywordtype}{void} *\hyperlink{utils_8h_a9037ada838835b1b9db41581a021b0c8}{xrealloc}(\textcolor{comment}{/*@null@*/} \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@out@*/} \textcolor{comment}{/*@returned@*/} \textcolor{keywordtype}{void} *p,
+00206 \textcolor{keywordtype}{unsigned} size) \textcolor{comment}{/*@modifies *p @*/} \textcolor{comment}{/*@ensures MaxSet(result) == (size-1) @*/};
+00207 \textcolor{preprocessor}{#endif}
+00208 \textcolor{preprocessor}{}
+00215 \textcolor{comment}{/*@exits@*/}
+00216 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a127ce946e56b5a5773781cabe68e38c5}{nrerror}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} message[]);
+00217
+00225 \textcolor{keywordtype}{void} \hyperlink{utils_8h_af2355fa8746f2f30fbe71db65dea3d51}{warn\_user}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} message[]);
+00226
+00230 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a8aaa6d9be6f803f496d9b97375c371f3}{init\_rand}(\textcolor{keywordtype}{void});
+00231
+00240 \textcolor{keyword}{extern} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{short} \hyperlink{utils_8h_af9a866c8417afda7368bbac939ab3c47}{xsubi}[3];
+00241
+00248 \textcolor{keywordtype}{double} \hyperlink{utils_8h_aaa328491c84996e445d027fde9800f2e}{urn}(\textcolor{keywordtype}{void});
+00249
+00257 \textcolor{keywordtype}{int} \hyperlink{utils_8h_a68ff0849d44f62fe491800378a5ffcb4}{int\_urn}(\textcolor{keywordtype}{int} from, \textcolor{keywordtype}{int} to);
+00258
+00259 \textcolor{keywordtype}{void} filecopy(FILE *from, FILE *to); \textcolor{comment}{/* inefficient `cp' */}
+00260
+00269 \textcolor{comment}{/*@observer@*/}
+00270 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_a7afeb906cb36e9d77379eabc6907ac46}{time\_stamp}(\textcolor{keywordtype}{void});
+00271
+00279 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
+00280 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_a1b95eac365a021572e1c37e5993a89be}{random\_string}(\textcolor{keywordtype}{int} l, \textcolor{keyword}{const} \textcolor{keywordtype}{char} symbols[]);
+00281
+00290 \textcolor{keywordtype}{int} \hyperlink{utils_8h_ad9dc7bfc9aa664dc6698f17ce07fc7e7}{hamming}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s1, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s2);
+00291
+00301 \textcolor{keywordtype}{int} \hyperlink{utils_8h_a96d3c36717d624514055ce201cab1542}{hamming\_bound}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s1, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s2, \textcolor{keywordtype}{int} n);
+00302
+00313 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@null@*/}
+00314 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_abe51806d14cff0789a8c1df7dbc45b71}{get\_line}(FILE *fp);
+00315
+00316 \textcolor{keywordtype}{int} skip\_comment\_lines(\textcolor{keywordtype}{char} **line);
+00317
+00338 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \hyperlink{utils_8h_a8ef1835eb83f542396f59f0b205965e5}{get\_input\_line}(\textcolor{keywordtype}{char} **\textcolor{keywordtype}{string},
+00339 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
+00340
+00341 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} get\_multi\_input\_line(\textcolor{keywordtype}{char} **\textcolor{keywordtype}{string},
+00342 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
+00343
+00396 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \hyperlink{utils_8h_afd194a69af9d92b5b0412a7627ac1595}{read\_record}( \textcolor{keywordtype}{char} **header,
+00397 \textcolor{keywordtype}{char} **sequence,
+00398 \textcolor{keywordtype}{char} ***rest,
+00399 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
+00400
+00401
+00402 \textcolor{comment}{/* \(\backslash\)brief Extract a dot-bracket structure string from (multiline)character array}
+00403 \textcolor{comment}{ *}
+00404 \textcolor{comment}{ * This function extracts a dot-bracket structure string from the 'rest' array as}
+00405 \textcolor{comment}{ * returned by read\_record() and returns it. All occurences of comments within the}
+00406 \textcolor{comment}{ * 'lines' array will be skipped as long as they do not break the structure string.}
+00407 \textcolor{comment}{ * If no structure could be read, this function returns NULL.}
+00408 \textcolor{comment}{ *}
+00409 \textcolor{comment}{ * \(\backslash\)see read\_record()}
+00410 \textcolor{comment}{ *}
+00411 \textcolor{comment}{ * \(\backslash\)param lines The (multiline) character array to be parsed}
+00412 \textcolor{comment}{ * \(\backslash\)param length The assumed length of the dot-bracket string (passing a value < 1 results in no length
+ limit)}
+00413 \textcolor{comment}{ * \(\backslash\)param option Some options which may be passed to alter the behavior of the function, use 0 for no
+ options}
+00414 \textcolor{comment}{ * \(\backslash\)return The dot-bracket string read from lines or NULL}
+00415 \textcolor{comment}{ */}
+00416 \textcolor{keywordtype}{char} *extract\_record\_rest\_structure(\textcolor{keyword}{const} \textcolor{keywordtype}{char} **lines,
+00417 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length,
+00418 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
+00419
+00431 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_ac6dfa5e22928c087c6e09ff0054a7ced}{pack\_structure}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *struc);
+00432
+00442 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_a071c6921efe1eb974f115ee6fefa3c39}{unpack\_structure}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *packed);
+00443
+00453 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a89c32307ee50a0026f4a3131fac0845a}{make\_pair\_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
+00454
+00455 \textcolor{keywordtype}{short} *make\_pair\_table\_pk(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
+00456
+00463 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_afeaa6d68eef3a99d0a7aa08aa91c6601}{copy\_pair\_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{short} *pt);
+00464
+00470 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a3c81b3967056c3888b8472b65fbb16f5}{alimake\_pair\_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
+00471
+00477 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a9aa3bf3b4346bb7fb88efc154dd07a79}{make\_pair\_table\_snoop}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
+00478
+00491 \textcolor{keywordtype}{int} *\hyperlink{utils_8h_a4358e89f64cc87a563b7ef3855f75bed}{make\_loop\_index\_pt}(\textcolor{keywordtype}{short} *pt);
+00492
+00493
+00494 \textcolor{keywordtype}{int} bp\_distance(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *str1,
+00495 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *str2);
+00496
+00502 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a6bf778117d31b7fd90db435323f4ef74}{print\_tty\_input\_seq}(\textcolor{keywordtype}{void});
+00503
+00512 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ae4ef89b662a3e9b5b5f0781d9757aba0}{print\_tty\_input\_seq\_str}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);
+00513
+00519 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ae8ae8a34962b9959be3f6c40f0a80ac1}{print\_tty\_constraint\_full}(\textcolor{keywordtype}{void});
+00520
+00537 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a4d167deb70bb51723e44374dc981deb2}{print\_tty\_constraint}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
+00538
+00546 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ad3f18dd83f958f18b2f26ecb99305208}{str\_DNA2RNA}(\textcolor{keywordtype}{char} *sequence);
+00547
+00553 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a17b796b806f96b70382077fb5bc519bb}{str\_uppercase}(\textcolor{keywordtype}{char} *sequence);
+00554
+00568 \textcolor{keywordtype}{int} *\hyperlink{utils_8h_a55c0f6b3b07b6adf2ee235ba901fe397}{get\_iindx}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length);
+00569
+00584 \textcolor{keywordtype}{int} *\hyperlink{utils_8h_a4d9ee1572c1bfcd02d3d3f2db8a6530f}{get\_indx}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length);
+00585
+00586 \textcolor{keywordtype}{void} getConstraint( \textcolor{keywordtype}{char} **cstruc,
+00587 \textcolor{keyword}{const} \textcolor{keywordtype}{char} **lines,
+00588 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
+00589
+00601 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a36c3a6c3218b041f992052767bc74549}{constrain\_ptypes}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *constraint,
+00602 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length,
+00603 \textcolor{keywordtype}{char} *ptype,
+00604 \textcolor{keywordtype}{int} *BP,
+00605 \textcolor{keywordtype}{int} min\_loop\_size,
+00606 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} idx\_type);
+00607
+00608 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} *make\_referenceBP\_array(\textcolor{keywordtype}{short} *reference\_pt,
+00609 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} turn);
+00610
+00611 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} *compute\_BPdifferences( \textcolor{keywordtype}{short} *pt1,
+00612 \textcolor{keywordtype}{short} *pt2,
+00613 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} turn);
+00614
+00615 \textcolor{preprocessor}{#endif}
+\end{DoxyCode}