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