1\hypertarget{utils_2basic_8h}{}\doxysection{Vienna\+RNA/utils/basic.h File Reference} 2\label{utils_2basic_8h}\index{ViennaRNA/utils/basic.h@{ViennaRNA/utils/basic.h}} 3 4 5General utility-\/ and helper-\/functions used throughout the {\itshape Vienna\+RNA} {\itshape Package}. 6 7 8Include dependency graph for basic.\+h\+: 9\nopagebreak 10\begin{figure}[H] 11\begin{center} 12\leavevmode 13\includegraphics[width=350pt]{utils_2basic_8h__incl} 14\end{center} 15\end{figure} 16This graph shows which files directly or indirectly include this file\+: 17\nopagebreak 18\begin{figure}[H] 19\begin{center} 20\leavevmode 21\includegraphics[width=350pt]{utils_2basic_8h__dep__incl} 22\end{center} 23\end{figure} 24\doxysubsection*{Macros} 25\begin{DoxyCompactItemize} 26\item 27\#define \mbox{\hyperlink{group__utils_gad403c9ea58f1836689404c2931419c8c}{VRNA\+\_\+\+INPUT\+\_\+\+ERROR}}~1U 28\begin{DoxyCompactList}\small\item\em Output flag of \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+: {\itshape \char`\"{}\+An ERROR has occured, maybe EOF\char`\"{}}. \end{DoxyCompactList}\item 29\#define \mbox{\hyperlink{group__utils_ga72f3c6ca5c83d2b9baed2922d19c403d}{VRNA\+\_\+\+INPUT\+\_\+\+QUIT}}~2U 30\begin{DoxyCompactList}\small\item\em Output flag of \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+: {\itshape \char`\"{}the user requested quitting the program\char`\"{}}. \end{DoxyCompactList}\item 31\#define \mbox{\hyperlink{group__utils_ga8e3241b321c9c1a78a69e59e2e019a71}{VRNA\+\_\+\+INPUT\+\_\+\+MISC}}~4U 32\begin{DoxyCompactList}\small\item\em Output flag of \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+: {\itshape \char`\"{}something was read\char`\"{}}. \end{DoxyCompactList}\item 33\#define \mbox{\hyperlink{group__utils_ga2f0d8069e93d3ac54d9320d6bdb8e7e7}{VRNA\+\_\+\+INPUT\+\_\+\+FASTA\+\_\+\+HEADER}}~8U 34\begin{DoxyCompactList}\small\item\em Input/\+Output flag of \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+:~\newline 35if used as input option this tells \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}} that the data to be read should comply with the FASTA format. \end{DoxyCompactList}\item 36\#define \mbox{\hyperlink{group__utils_gac08a9df45b9721b97a47dbfe7a6e5f85}{VRNA\+\_\+\+INPUT\+\_\+\+CONSTRAINT}}~32U 37\begin{DoxyCompactList}\small\item\em Input flag for \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+:~\newline 38Tell \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}} that we assume to read a structure constraint. \end{DoxyCompactList}\item 39\#define \mbox{\hyperlink{group__utils_ga086742158293217a46ae2f71bb296937}{VRNA\+\_\+\+INPUT\+\_\+\+NO\+\_\+\+TRUNCATION}}~256U 40\begin{DoxyCompactList}\small\item\em Input switch for \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+: {\itshape \char`\"{}do not trunkate the line by eliminating white spaces at end of line\char`\"{}}. \end{DoxyCompactList}\item 41\#define \mbox{\hyperlink{group__utils_ga7a2e8c50a0c7ce82e60da1016e1367fd}{VRNA\+\_\+\+INPUT\+\_\+\+NO\+\_\+\+REST}}~512U 42\begin{DoxyCompactList}\small\item\em Input switch for \mbox{\hyperlink{group__file__formats_ga8cfb7e271efc9e1f34640acb85475639}{vrna\+\_\+file\+\_\+fasta\+\_\+read\+\_\+record()}}\+: {\itshape \char`\"{}do fill rest array\char`\"{}}. \end{DoxyCompactList}\item 43\#define \mbox{\hyperlink{group__utils_ga0de536599b881c787b0943a2671da476}{VRNA\+\_\+\+INPUT\+\_\+\+NO\+\_\+\+SPAN}}~1024U 44\begin{DoxyCompactList}\small\item\em Input switch for \mbox{\hyperlink{group__file__formats_ga8cfb7e271efc9e1f34640acb85475639}{vrna\+\_\+file\+\_\+fasta\+\_\+read\+\_\+record()}}\+: {\itshape \char`\"{}never allow data to span more than one line\char`\"{}}. \end{DoxyCompactList}\item 45\#define \mbox{\hyperlink{group__utils_gab4db885222b3b69608310d7c7e63e286}{VRNA\+\_\+\+INPUT\+\_\+\+NOSKIP\+\_\+\+BLANK\+\_\+\+LINES}}~2048U 46\begin{DoxyCompactList}\small\item\em Input switch for \mbox{\hyperlink{group__file__formats_ga8cfb7e271efc9e1f34640acb85475639}{vrna\+\_\+file\+\_\+fasta\+\_\+read\+\_\+record()}}\+: {\itshape \char`\"{}do not skip empty lines\char`\"{}}. \end{DoxyCompactList}\item 47\#define \mbox{\hyperlink{group__utils_ga305474b93ccb79ae4c7754016a8ddd84}{VRNA\+\_\+\+INPUT\+\_\+\+BLANK\+\_\+\+LINE}}~4096U 48\begin{DoxyCompactList}\small\item\em Output flag for \mbox{\hyperlink{group__file__formats_ga8cfb7e271efc9e1f34640acb85475639}{vrna\+\_\+file\+\_\+fasta\+\_\+read\+\_\+record()}}\+: {\itshape \char`\"{}read an empty line\char`\"{}}. \end{DoxyCompactList}\item 49\#define \mbox{\hyperlink{group__utils_ga0f6311f11bed1842e3a527ab27b294c6}{VRNA\+\_\+\+INPUT\+\_\+\+NOSKIP\+\_\+\+COMMENTS}}~128U 50\begin{DoxyCompactList}\small\item\em Input switch for \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line()}}\+: {\itshape \char`\"{}do not skip comment lines\char`\"{}}. \end{DoxyCompactList}\item 51\#define \mbox{\hyperlink{group__utils_gaf2062e0eeefffd3ed639af460b3d4fab}{VRNA\+\_\+\+INPUT\+\_\+\+COMMENT}}~8192U 52\begin{DoxyCompactList}\small\item\em Output flag for \mbox{\hyperlink{group__file__formats_ga8cfb7e271efc9e1f34640acb85475639}{vrna\+\_\+file\+\_\+fasta\+\_\+read\+\_\+record()}}\+: {\itshape \char`\"{}read a comment\char`\"{}}. \end{DoxyCompactList}\item 53\#define \mbox{\hyperlink{group__utils_gae0b9cd0ce090bd69b951aa73e8fa4f7d}{MIN2}}(A, B)~((A) $<$ (B) ? (A) \+: (B)) 54\begin{DoxyCompactList}\small\item\em Get the minimum of two comparable values. \end{DoxyCompactList}\item 55\#define \mbox{\hyperlink{group__utils_ga33297b3679c713b0c4d897cd0fe3b122}{MAX2}}(A, B)~((A) $>$ (B) ? (A) \+: (B)) 56\begin{DoxyCompactList}\small\item\em Get the maximum of two comparable values. \end{DoxyCompactList}\item 57\#define \mbox{\hyperlink{group__utils_ga721b8d5f3abef17f10293f1f7f8c958e}{MIN3}}(A, B, C)~(\mbox{\hyperlink{group__utils_gae0b9cd0ce090bd69b951aa73e8fa4f7d}{MIN2}}((\mbox{\hyperlink{group__utils_gae0b9cd0ce090bd69b951aa73e8fa4f7d}{MIN2}}((A), (B))), (C))) 58\begin{DoxyCompactList}\small\item\em Get the minimum of three comparable values. \end{DoxyCompactList}\item 59\#define \mbox{\hyperlink{group__utils_ga8d577123d2e66d2b7d0bf9af6e172b93}{MAX3}}(A, B, C)~(\mbox{\hyperlink{group__utils_ga33297b3679c713b0c4d897cd0fe3b122}{MAX2}}((\mbox{\hyperlink{group__utils_ga33297b3679c713b0c4d897cd0fe3b122}{MAX2}}((A), (B))), (C))) 60\begin{DoxyCompactList}\small\item\em Get the maximum of three comparable values. \end{DoxyCompactList}\end{DoxyCompactItemize} 61\doxysubsection*{Functions} 62\begin{DoxyCompactItemize} 63\item 64void $\ast$ \mbox{\hyperlink{group__utils_gaf37a0979367c977edfb9da6614eebe99}{vrna\+\_\+alloc}} (unsigned size) 65\begin{DoxyCompactList}\small\item\em Allocate space safely. \end{DoxyCompactList}\item 66void $\ast$ \mbox{\hyperlink{group__utils_ga27f4719a66c6f90d1cca3d1e6e696c6a}{vrna\+\_\+realloc}} (void $\ast$p, unsigned size) 67\begin{DoxyCompactList}\small\item\em Reallocate space safely. \end{DoxyCompactList}\item 68void \mbox{\hyperlink{group__utils_ga0ad1f40ea316e5c5918695c35613027a}{vrna\+\_\+init\+\_\+rand}} (void) 69\begin{DoxyCompactList}\small\item\em Initialize seed for random number generator. \end{DoxyCompactList}\item 70double \mbox{\hyperlink{group__utils_ga384e256ebb295d04a14426179db0dd6e}{vrna\+\_\+urn}} (void) 71\begin{DoxyCompactList}\small\item\em get a random number from \mbox{[}0..1\mbox{]} \end{DoxyCompactList}\item 72int \mbox{\hyperlink{group__utils_ga46111bb3747dbcf4609f0d40ae169ad9}{vrna\+\_\+int\+\_\+urn}} (int from, int to) 73\begin{DoxyCompactList}\small\item\em Generates a pseudo random integer in a specified range. \end{DoxyCompactList}\item 74char $\ast$ \mbox{\hyperlink{group__utils_gad3bbe8d01afb1310609cb018d5290550}{vrna\+\_\+time\+\_\+stamp}} (void) 75\begin{DoxyCompactList}\small\item\em Get a timestamp. \end{DoxyCompactList}\item 76unsigned int \mbox{\hyperlink{group__utils_ga8ef1835eb83f542396f59f0b205965e5}{get\+\_\+input\+\_\+line}} (char $\ast$$\ast$string, unsigned int options) 77\item 78int $\ast$ \mbox{\hyperlink{group__utils_ga70b180e9ea764218a82647a1cd347445}{vrna\+\_\+idx\+\_\+row\+\_\+wise}} (unsigned int length) 79\begin{DoxyCompactList}\small\item\em Get an index mapper array (iindx) for accessing the energy matrices, e.\+g. in partition function related functions. \end{DoxyCompactList}\item 80int $\ast$ \mbox{\hyperlink{group__utils_ga89ebc69c52fa0c78c9e1974b0017746b}{vrna\+\_\+idx\+\_\+col\+\_\+wise}} (unsigned int length) 81\begin{DoxyCompactList}\small\item\em Get an index mapper array (indx) for accessing the energy matrices, e.\+g. in MFE related functions. \end{DoxyCompactList}\item 82void \mbox{\hyperlink{group__message__utils_ga36b35be01d7f36cf7f59c245eee628d1}{vrna\+\_\+message\+\_\+error}} (const char $\ast$format,...) 83\begin{DoxyCompactList}\small\item\em Print an error message and die. \end{DoxyCompactList}\item 84void \mbox{\hyperlink{group__message__utils_gabc1a08dea0d84b5c33701732172a8b18}{vrna\+\_\+message\+\_\+verror}} (const char $\ast$format, va\+\_\+list args) 85\begin{DoxyCompactList}\small\item\em Print an error message and die. \end{DoxyCompactList}\item 86void \mbox{\hyperlink{group__message__utils_ga6e07ed24add60693ba886d54d0a46635}{vrna\+\_\+message\+\_\+warning}} (const char $\ast$format,...) 87\begin{DoxyCompactList}\small\item\em Print a warning message. \end{DoxyCompactList}\item 88void \mbox{\hyperlink{group__message__utils_ga377aa8ec8a49d343063adb22e6311f26}{vrna\+\_\+message\+\_\+vwarning}} (const char $\ast$format, va\+\_\+list args) 89\begin{DoxyCompactList}\small\item\em Print a warning message. \end{DoxyCompactList}\item 90void \mbox{\hyperlink{group__message__utils_ga039bae6153a6415b054dbe6045f83d03}{vrna\+\_\+message\+\_\+info}} (FILE $\ast$fp, const char $\ast$format,...) 91\begin{DoxyCompactList}\small\item\em Print an info message. \end{DoxyCompactList}\item 92void \mbox{\hyperlink{group__message__utils_gad8b8139bd04fbfb51e398e9fcd6908dc}{vrna\+\_\+message\+\_\+vinfo}} (FILE $\ast$fp, const char $\ast$format, va\+\_\+list args) 93\begin{DoxyCompactList}\small\item\em Print an info message. \end{DoxyCompactList}\item 94void \mbox{\hyperlink{group__message__utils_gaee1dd652ca5b9e56b096963a1576f73b}{vrna\+\_\+message\+\_\+input\+\_\+seq\+\_\+simple}} (void) 95\begin{DoxyCompactList}\small\item\em Print a line to {\itshape stdout} that asks for an input sequence. \end{DoxyCompactList}\item 96void \mbox{\hyperlink{group__message__utils_gaf4d194d558b0c975f269de01dea52460}{vrna\+\_\+message\+\_\+input\+\_\+seq}} (const char $\ast$s) 97\begin{DoxyCompactList}\small\item\em Print a line with a user defined string and a ruler to stdout. \end{DoxyCompactList}\item 98char $\ast$ \mbox{\hyperlink{utils_2basic_8h_abe51806d14cff0789a8c1df7dbc45b71}{get\+\_\+line}} (FILE $\ast$fp) 99\begin{DoxyCompactList}\small\item\em Read a line of arbitrary length from a stream. \end{DoxyCompactList}\item 100void \mbox{\hyperlink{utils_2basic_8h_a6bf778117d31b7fd90db435323f4ef74}{print\+\_\+tty\+\_\+input\+\_\+seq}} (void) 101\begin{DoxyCompactList}\small\item\em Print a line to {\itshape stdout} that asks for an input sequence. \end{DoxyCompactList}\item 102void \mbox{\hyperlink{utils_2basic_8h_ae4ef89b662a3e9b5b5f0781d9757aba0}{print\+\_\+tty\+\_\+input\+\_\+seq\+\_\+str}} (const char $\ast$s) 103\begin{DoxyCompactList}\small\item\em Print a line with a user defined string and a ruler to stdout. \end{DoxyCompactList}\item 104void \mbox{\hyperlink{utils_2basic_8h_af2355fa8746f2f30fbe71db65dea3d51}{warn\+\_\+user}} (const char message\mbox{[}$\,$\mbox{]}) 105\begin{DoxyCompactList}\small\item\em Print a warning message. \end{DoxyCompactList}\item 106void \mbox{\hyperlink{utils_2basic_8h_a127ce946e56b5a5773781cabe68e38c5}{nrerror}} (const char message\mbox{[}$\,$\mbox{]}) 107\begin{DoxyCompactList}\small\item\em Die with an error message. \end{DoxyCompactList}\item 108void $\ast$ \mbox{\hyperlink{utils_2basic_8h_ad7e1e137b3bf1f7108933d302a7f0177}{space}} (unsigned size) 109\begin{DoxyCompactList}\small\item\em Allocate space safely. \end{DoxyCompactList}\item 110void $\ast$ \mbox{\hyperlink{utils_2basic_8h_a9037ada838835b1b9db41581a021b0c8}{xrealloc}} (void $\ast$p, unsigned size) 111\begin{DoxyCompactList}\small\item\em Reallocate space safely. \end{DoxyCompactList}\item 112void \mbox{\hyperlink{utils_2basic_8h_a8aaa6d9be6f803f496d9b97375c371f3}{init\+\_\+rand}} (void) 113\begin{DoxyCompactList}\small\item\em Make random number seeds. \end{DoxyCompactList}\item 114double \mbox{\hyperlink{utils_2basic_8h_aaa328491c84996e445d027fde9800f2e}{urn}} (void) 115\begin{DoxyCompactList}\small\item\em get a random number from \mbox{[}0..1\mbox{]} \end{DoxyCompactList}\item 116int \mbox{\hyperlink{utils_2basic_8h_a68ff0849d44f62fe491800378a5ffcb4}{int\+\_\+urn}} (int from, int to) 117\begin{DoxyCompactList}\small\item\em Generates a pseudo random integer in a specified range. \end{DoxyCompactList}\item 118void \mbox{\hyperlink{utils_2basic_8h_ab213334ce977b6d21611cdea6b80c3bf}{filecopy}} (FILE $\ast$from, FILE $\ast$to) 119\begin{DoxyCompactList}\small\item\em Inefficient {\ttfamily cp} \end{DoxyCompactList}\item 120char $\ast$ \mbox{\hyperlink{utils_2basic_8h_a7afeb906cb36e9d77379eabc6907ac46}{time\+\_\+stamp}} (void) 121\begin{DoxyCompactList}\small\item\em Get a timestamp. \end{DoxyCompactList}\end{DoxyCompactItemize} 122\doxysubsection*{Variables} 123\begin{DoxyCompactItemize} 124\item 125unsigned short \mbox{\hyperlink{group__utils_gaf9a866c8417afda7368bbac939ab3c47}{xsubi}} \mbox{[}3\mbox{]} 126\begin{DoxyCompactList}\small\item\em Current 48 bit random number. \end{DoxyCompactList}\end{DoxyCompactItemize} 127 128 129\doxysubsection{Detailed Description} 130General utility-\/ and helper-\/functions used throughout the {\itshape Vienna\+RNA} {\itshape Package}. 131 132 133 134\doxysubsection{Function Documentation} 135\mbox{\Hypertarget{utils_2basic_8h_abe51806d14cff0789a8c1df7dbc45b71}\label{utils_2basic_8h_abe51806d14cff0789a8c1df7dbc45b71}} 136\index{basic.h@{basic.h}!get\_line@{get\_line}} 137\index{get\_line@{get\_line}!basic.h@{basic.h}} 138\doxysubsubsection{\texorpdfstring{get\_line()}{get\_line()}} 139{\footnotesize\ttfamily char$\ast$ get\+\_\+line (\begin{DoxyParamCaption}\item[{FILE $\ast$}]{fp }\end{DoxyParamCaption})} 140 141 142 143Read a line of arbitrary length from a stream. 144 145Returns a pointer to the resulting string. The necessary memory is allocated and should be released using {\itshape free()} when the string is no longer needed. 146 147\begin{DoxyRefDesc}{Deprecated} 148\item[\mbox{\hyperlink{deprecated__deprecated000182}{Deprecated}}]Use \mbox{\hyperlink{group__file__utils_gad16c270b70a77c753088b29de8a802dc}{vrna\+\_\+read\+\_\+line()}} as a substitute!\end{DoxyRefDesc} 149 150 151 152\begin{DoxyParams}{Parameters} 153{\em fp} & A file pointer to the stream where the function should read from \\ 154\hline 155\end{DoxyParams} 156\begin{DoxyReturn}{Returns} 157A pointer to the resulting string 158\end{DoxyReturn} 159\mbox{\Hypertarget{utils_2basic_8h_a6bf778117d31b7fd90db435323f4ef74}\label{utils_2basic_8h_a6bf778117d31b7fd90db435323f4ef74}} 160\index{basic.h@{basic.h}!print\_tty\_input\_seq@{print\_tty\_input\_seq}} 161\index{print\_tty\_input\_seq@{print\_tty\_input\_seq}!basic.h@{basic.h}} 162\doxysubsubsection{\texorpdfstring{print\_tty\_input\_seq()}{print\_tty\_input\_seq()}} 163{\footnotesize\ttfamily void print\+\_\+tty\+\_\+input\+\_\+seq (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} 164 165 166 167Print a line to {\itshape stdout} that asks for an input sequence. 168 169There will also be a ruler (scale line) printed that helps orientation of the sequence positions \begin{DoxyRefDesc}{Deprecated} 170\item[\mbox{\hyperlink{deprecated__deprecated000183}{Deprecated}}]Use \mbox{\hyperlink{group__message__utils_gaee1dd652ca5b9e56b096963a1576f73b}{vrna\+\_\+message\+\_\+input\+\_\+seq\+\_\+simple()}} instead! \end{DoxyRefDesc} 171\mbox{\Hypertarget{utils_2basic_8h_ae4ef89b662a3e9b5b5f0781d9757aba0}\label{utils_2basic_8h_ae4ef89b662a3e9b5b5f0781d9757aba0}} 172\index{basic.h@{basic.h}!print\_tty\_input\_seq\_str@{print\_tty\_input\_seq\_str}} 173\index{print\_tty\_input\_seq\_str@{print\_tty\_input\_seq\_str}!basic.h@{basic.h}} 174\doxysubsubsection{\texorpdfstring{print\_tty\_input\_seq\_str()}{print\_tty\_input\_seq\_str()}} 175{\footnotesize\ttfamily void print\+\_\+tty\+\_\+input\+\_\+seq\+\_\+str (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} 176 177 178 179Print a line with a user defined string and a ruler to stdout. 180 181(usually this is used to ask for user input) There will also be a ruler (scale line) printed that helps orientation of the sequence positions 182 183\begin{DoxyRefDesc}{Deprecated} 184\item[\mbox{\hyperlink{deprecated__deprecated000184}{Deprecated}}]Use \mbox{\hyperlink{group__message__utils_gaf4d194d558b0c975f269de01dea52460}{vrna\+\_\+message\+\_\+input\+\_\+seq()}} instead! \end{DoxyRefDesc} 185\mbox{\Hypertarget{utils_2basic_8h_af2355fa8746f2f30fbe71db65dea3d51}\label{utils_2basic_8h_af2355fa8746f2f30fbe71db65dea3d51}} 186\index{basic.h@{basic.h}!warn\_user@{warn\_user}} 187\index{warn\_user@{warn\_user}!basic.h@{basic.h}} 188\doxysubsubsection{\texorpdfstring{warn\_user()}{warn\_user()}} 189{\footnotesize\ttfamily void warn\+\_\+user (\begin{DoxyParamCaption}\item[{const char}]{message\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})} 190 191 192 193Print a warning message. 194 195Print a warning message to {\itshape stderr} 196 197\begin{DoxyRefDesc}{Deprecated} 198\item[\mbox{\hyperlink{deprecated__deprecated000185}{Deprecated}}]Use \mbox{\hyperlink{group__message__utils_ga6e07ed24add60693ba886d54d0a46635}{vrna\+\_\+message\+\_\+warning()}} instead! \end{DoxyRefDesc} 199\mbox{\Hypertarget{utils_2basic_8h_a127ce946e56b5a5773781cabe68e38c5}\label{utils_2basic_8h_a127ce946e56b5a5773781cabe68e38c5}} 200\index{basic.h@{basic.h}!nrerror@{nrerror}} 201\index{nrerror@{nrerror}!basic.h@{basic.h}} 202\doxysubsubsection{\texorpdfstring{nrerror()}{nrerror()}} 203{\footnotesize\ttfamily void nrerror (\begin{DoxyParamCaption}\item[{const char}]{message\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})} 204 205 206 207Die with an error message. 208 209\begin{DoxyRefDesc}{Deprecated} 210\item[\mbox{\hyperlink{deprecated__deprecated000186}{Deprecated}}]Use \mbox{\hyperlink{group__message__utils_ga36b35be01d7f36cf7f59c245eee628d1}{vrna\+\_\+message\+\_\+error()}} instead! \end{DoxyRefDesc} 211\mbox{\Hypertarget{utils_2basic_8h_ad7e1e137b3bf1f7108933d302a7f0177}\label{utils_2basic_8h_ad7e1e137b3bf1f7108933d302a7f0177}} 212\index{basic.h@{basic.h}!space@{space}} 213\index{space@{space}!basic.h@{basic.h}} 214\doxysubsubsection{\texorpdfstring{space()}{space()}} 215{\footnotesize\ttfamily void$\ast$ space (\begin{DoxyParamCaption}\item[{unsigned}]{size }\end{DoxyParamCaption})} 216 217 218 219Allocate space safely. 220 221\begin{DoxyRefDesc}{Deprecated} 222\item[\mbox{\hyperlink{deprecated__deprecated000187}{Deprecated}}]Use \mbox{\hyperlink{group__utils_gaf37a0979367c977edfb9da6614eebe99}{vrna\+\_\+alloc()}} instead! \end{DoxyRefDesc} 223\mbox{\Hypertarget{utils_2basic_8h_a9037ada838835b1b9db41581a021b0c8}\label{utils_2basic_8h_a9037ada838835b1b9db41581a021b0c8}} 224\index{basic.h@{basic.h}!xrealloc@{xrealloc}} 225\index{xrealloc@{xrealloc}!basic.h@{basic.h}} 226\doxysubsubsection{\texorpdfstring{xrealloc()}{xrealloc()}} 227{\footnotesize\ttfamily void$\ast$ xrealloc (\begin{DoxyParamCaption}\item[{void $\ast$}]{p, }\item[{unsigned}]{size }\end{DoxyParamCaption})} 228 229 230 231Reallocate space safely. 232 233\begin{DoxyRefDesc}{Deprecated} 234\item[\mbox{\hyperlink{deprecated__deprecated000188}{Deprecated}}]Use \mbox{\hyperlink{group__utils_ga27f4719a66c6f90d1cca3d1e6e696c6a}{vrna\+\_\+realloc()}} instead! \end{DoxyRefDesc} 235\mbox{\Hypertarget{utils_2basic_8h_a8aaa6d9be6f803f496d9b97375c371f3}\label{utils_2basic_8h_a8aaa6d9be6f803f496d9b97375c371f3}} 236\index{basic.h@{basic.h}!init\_rand@{init\_rand}} 237\index{init\_rand@{init\_rand}!basic.h@{basic.h}} 238\doxysubsubsection{\texorpdfstring{init\_rand()}{init\_rand()}} 239{\footnotesize\ttfamily void init\+\_\+rand (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} 240 241 242 243Make random number seeds. 244 245\begin{DoxyRefDesc}{Deprecated} 246\item[\mbox{\hyperlink{deprecated__deprecated000189}{Deprecated}}]Use \mbox{\hyperlink{group__utils_ga0ad1f40ea316e5c5918695c35613027a}{vrna\+\_\+init\+\_\+rand()}} instead! \end{DoxyRefDesc} 247\mbox{\Hypertarget{utils_2basic_8h_aaa328491c84996e445d027fde9800f2e}\label{utils_2basic_8h_aaa328491c84996e445d027fde9800f2e}} 248\index{basic.h@{basic.h}!urn@{urn}} 249\index{urn@{urn}!basic.h@{basic.h}} 250\doxysubsubsection{\texorpdfstring{urn()}{urn()}} 251{\footnotesize\ttfamily double urn (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} 252 253 254 255get a random number from \mbox{[}0..1\mbox{]} 256 257\begin{DoxyRefDesc}{Deprecated} 258\item[\mbox{\hyperlink{deprecated__deprecated000190}{Deprecated}}]Use \mbox{\hyperlink{group__utils_ga384e256ebb295d04a14426179db0dd6e}{vrna\+\_\+urn()}} instead! \end{DoxyRefDesc} 259\mbox{\Hypertarget{utils_2basic_8h_a68ff0849d44f62fe491800378a5ffcb4}\label{utils_2basic_8h_a68ff0849d44f62fe491800378a5ffcb4}} 260\index{basic.h@{basic.h}!int\_urn@{int\_urn}} 261\index{int\_urn@{int\_urn}!basic.h@{basic.h}} 262\doxysubsubsection{\texorpdfstring{int\_urn()}{int\_urn()}} 263{\footnotesize\ttfamily int int\+\_\+urn (\begin{DoxyParamCaption}\item[{int}]{from, }\item[{int}]{to }\end{DoxyParamCaption})} 264 265 266 267Generates a pseudo random integer in a specified range. 268 269\begin{DoxyRefDesc}{Deprecated} 270\item[\mbox{\hyperlink{deprecated__deprecated000191}{Deprecated}}]Use \mbox{\hyperlink{group__utils_ga46111bb3747dbcf4609f0d40ae169ad9}{vrna\+\_\+int\+\_\+urn()}} instead! \end{DoxyRefDesc} 271\mbox{\Hypertarget{utils_2basic_8h_ab213334ce977b6d21611cdea6b80c3bf}\label{utils_2basic_8h_ab213334ce977b6d21611cdea6b80c3bf}} 272\index{basic.h@{basic.h}!filecopy@{filecopy}} 273\index{filecopy@{filecopy}!basic.h@{basic.h}} 274\doxysubsubsection{\texorpdfstring{filecopy()}{filecopy()}} 275{\footnotesize\ttfamily void filecopy (\begin{DoxyParamCaption}\item[{FILE $\ast$}]{from, }\item[{FILE $\ast$}]{to }\end{DoxyParamCaption})} 276 277 278 279Inefficient {\ttfamily cp} 280 281\begin{DoxyRefDesc}{Deprecated} 282\item[\mbox{\hyperlink{deprecated__deprecated000192}{Deprecated}}]Use \mbox{\hyperlink{group__file__utils_ga4382a56d2fee9ed738364b99329edc7c}{vrna\+\_\+file\+\_\+copy()}} instead! \end{DoxyRefDesc} 283\mbox{\Hypertarget{utils_2basic_8h_a7afeb906cb36e9d77379eabc6907ac46}\label{utils_2basic_8h_a7afeb906cb36e9d77379eabc6907ac46}} 284\index{basic.h@{basic.h}!time\_stamp@{time\_stamp}} 285\index{time\_stamp@{time\_stamp}!basic.h@{basic.h}} 286\doxysubsubsection{\texorpdfstring{time\_stamp()}{time\_stamp()}} 287{\footnotesize\ttfamily char$\ast$ time\+\_\+stamp (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} 288 289 290 291Get a timestamp. 292 293\begin{DoxyRefDesc}{Deprecated} 294\item[\mbox{\hyperlink{deprecated__deprecated000193}{Deprecated}}]Use \mbox{\hyperlink{group__utils_gad3bbe8d01afb1310609cb018d5290550}{vrna\+\_\+time\+\_\+stamp()}} instead! \end{DoxyRefDesc} 295