\doxysection{maloc\+\_\+base.\+h File Reference}
\label{a00002}\index{maloc\_base.h@{maloc\_base.h}}


The base (or foundation) header for MALOC.  


{\ttfamily \#include $<$assert.\+h$>$}\newline
{\ttfamily \#include $<$ctype.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$float.\+h$>$}\newline
{\ttfamily \#include $<$limits.\+h$>$}\newline
{\ttfamily \#include $<$locale.\+h$>$}\newline
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include $<$signal.\+h$>$}\newline
{\ttfamily \#include $<$stdarg.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$time.\+h$>$}\newline
{\ttfamily \#include $<$setjmp.\+h$>$}\newline
Include dependency graph for maloc\+\_\+base.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a00003}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a00004}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ CLOCKS\+\_\+\+PER\+\_\+\+SEC}~60
\begin{DoxyCompactList}\small\item\em Fix to broken $<$time.\+h$>$ on old Sun\+OS. \end{DoxyCompactList}\item 
\#define \textbf{ \+\_\+\+\_\+\+FAVOR\+\_\+\+BSD}
\begin{DoxyCompactList}\small\item\em Linux\+: uses sigsetjmp as the setjmp function. \end{DoxyCompactList}\item 
\#define \textbf{ \+\_\+\+BSD\+\_\+\+SIGNALS}
\begin{DoxyCompactList}\small\item\em IRIX\+: uses sigsetjmp as the setjmp function. \end{DoxyCompactList}\item 
\#define \textbf{ VCC}
\begin{DoxyCompactList}\small\item\em Setup so this include file (and subsequent) will work for both C and C++. \end{DoxyCompactList}\item 
\#define \textbf{ extern}
\begin{DoxyCompactList}\small\item\em Setup so this include file (and subsequent) will work for both C and C++. \end{DoxyCompactList}\item 
\#define \textbf{ VPRIVATE}~static
\begin{DoxyCompactList}\small\item\em Mimic C++ \char`\"{}\+Private\char`\"{} type modifier. \end{DoxyCompactList}\item 
\#define \textbf{ VPUBLIC}~/$\ast$empty$\ast$/
\begin{DoxyCompactList}\small\item\em Mimic C++ \char`\"{}\+Public\char`\"{} type modifier ~\newline
 \end{DoxyCompactList}\item 
\#define \textbf{ VWARN1}(file,  lineno)~(fprintf(stderr,\char`\"{}VWARN\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), 0)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT1}(file,  lineno)~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), exit(1), 0)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT2}(file,  lineno)~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), abort(), 0)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT3}(file,  lineno,  ex)~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE!  filename \%s, line \%u, (\%s)\textbackslash{}n\char`\"{}, (file), (lineno), (\#ex)), abort(), 0)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VWARN}(ex)~((void) ((ex) ? 0 \+: \textbf{ VWARN1}(\+\_\+\+\_\+\+FILE\+\_\+\+\_\+, \+\_\+\+\_\+\+LINE\+\_\+\+\_\+)))
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT}(ex)~((void) ((ex) ? 0 \+: \textbf{ VASSERT3}(\+\_\+\+\_\+\+FILE\+\_\+\+\_\+, \+\_\+\+\_\+\+LINE\+\_\+\+\_\+, ex)))
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR0}(x)~if (!(x)) goto VERROR0
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR1}(x)~if (!(x)) goto VERROR1
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR2}(x)~if (!(x)) goto VERROR2
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR3}(x)~if (!(x)) goto VERROR3
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR4}(x)~if (!(x)) goto VERROR4
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR5}(x)~if (!(x)) goto VERROR5
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR6}(x)~if (!(x)) goto VERROR6
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR7}(x)~if (!(x)) goto VERROR7
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR8}(x)~if (!(x)) goto VERROR8
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR9}(x)~if (!(x)) goto VERROR9
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VPI}~3.\+14159265358979323846
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VLARGE}~1.\+0e+9
\begin{DoxyCompactList}\small\item\em Global constant. 1e9 just fits into 32-\/bit signed int. \end{DoxyCompactList}\item 
\#define \textbf{ VSMALL}~1.\+0e-\/9
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VVLARGE}~1.\+0e+15
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VVSMALL}~1.\+0e-\/15
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VPRTKEY}~10000
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VPTRSIZE}~4
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX\+\_\+\+ARGNUM}~50
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX\+\_\+\+ARGLEN}~1024
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX\+\_\+\+BUFSIZE}~8192
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX\+\_\+\+OBJECTS}~1073741824    /$\ast$ (1$<$$<$31) = 2$^\wedge$31 $\ast$/
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VBLOCK\+\_\+\+POWER}~14
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNULL}~NULL
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VINULL}~-\/1
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VTRUE}~1
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VFALSE}~0
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VSTDMODE}~0600
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNULL\+\_\+\+STRING}~\char`\"{}\textbackslash{}0\char`\"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VBLANK\+\_\+\+STRING}~\char`\"{} \char`\"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNEWLINE\+\_\+\+STRING}~\char`\"{}\textbackslash{}n\char`\"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNULL\+\_\+\+SYMBOL}~\textquotesingle{}\textbackslash{}0\textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VBLANK\+\_\+\+SYMBOL}~\textquotesingle{} \textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNEWLINE\+\_\+\+SYMBOL}~\textquotesingle{}\textbackslash{}n\textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VRDIN\+\_\+\+SYMBOL}~\textquotesingle{}$<$\textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VRDOUT\+\_\+\+SYMBOL}~\textquotesingle{}$>$\textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VPIPE\+\_\+\+SYMBOL}~\textquotesingle{}$\vert$\textquotesingle{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VDELIM\+\_\+\+SET}~\char`\"{} $>$$<$$\vert$\&\char`\"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VABS}(x)~((x) $>$= 0 ? (x) \+: -\/(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VMIN2}(x,  y)~((x) $<$= (y) ? (x) \+: (y))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX2}(x,  y)~((x) $>$= (y) ? (x) \+: (y))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSIGN}(x,  y)~((y) $>$= 0 ? (\textbf{ VABS}(x)) \+: (-\/\textbf{ VABS}(x)))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VODD}(x)~((x)\&1)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVEN}(x)~(!((x)\&1))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VZERO}(x)~((x)==0)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VPOS}(x)~((x)$>$0)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VNEG}(x)~((x)$<$0)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVENP}(x)~(\textbf{ VEVEN}(x) \&\& \textbf{ VPOS}(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVENN}(x)~(\textbf{ VEVEN}(x) \&\& \textbf{ VNEG}(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSQRT}(x)~(sqrt(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSQR}(x)~((x)$\ast$(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSIN}(x)~(sin(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VCOS}(x)~(cos(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VTAN}(x)~(tan(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASIN}(x)~(asin(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VACOS}(x)~(acos(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VATAN}(x)~(atan(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSINH}(x)~(sinh(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VCOSH}(x)~(cosh(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VTANH}(x)~(tanh(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEXP}(x)~(exp(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VLOG}(x)~(log(x))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VPOW}(x,  y)~(pow(x,y))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VRINT}(x)~((int)(floor((x)+0.\+5)))
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VRAND}~(rand())
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VRANDMAX}~(RAND\+\_\+\+MAX)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VINLINE\+\_\+\+MALOC}
\begin{DoxyCompactList}\small\item\em Inlining via macros for speed. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The base (or foundation) header for MALOC. 

\begin{DoxyAuthor}{Author}
Michael Holst 
\end{DoxyAuthor}
\begin{DoxyNote}{Note}
This header sets things up correctly for using ISO/\+ANSI-\/C. The following macros affect the behavior of the header\+: ~\newline
 \begin{DoxyVerb}    Inlining for speed:  (Normal C functions if VINLINE_XXX not defined.)    
    ------------------
    -DVINLINE_VNM : Enables macro replacement of time-critical funcs in VNM.\end{DoxyVerb}

\end{DoxyNote}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id}
\doxyref{maloc\+\_\+base.\+h}{p.}{a00002},v 1.\+33 2010/08/12 05\+:40\+:16 fetk Exp 
\end{DoxyParagraph}


\begin{DoxyAttention}{Attention}
\begin{DoxyVerb}*
* MALOC = < Minimal Abstraction Layer for Object-oriented C >
* Copyright (C) 1994-- Michael Holst
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* 
*  \end{DoxyVerb}
 
\end{DoxyAttention}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{a00002_a0e25ec3d9c374c5e6dceeb9341baf766}} 
\index{maloc\_base.h@{maloc\_base.h}!\_\_FAVOR\_BSD@{\_\_FAVOR\_BSD}}
\index{\_\_FAVOR\_BSD@{\_\_FAVOR\_BSD}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{\_\_FAVOR\_BSD}
{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+FAVOR\+\_\+\+BSD}



Linux\+: uses sigsetjmp as the setjmp function. 

\begin{DoxyNote}{Note}
\begin{DoxyVerb}* Problems using setjmp/longjmp for use in the MC-shell.
*
* Problem:  Some implementations of ISO-C "setjmp/longjmp"  do not return
*           the interrupt mask to its pre-jump state after returning.
*           The behavior this produces is for example you can capture a
*           single CTRL-C, but that is it; the mask for CTRL-C is wiped
*           after the first interrupt is handled.
*
* Solution: Use the "sigsetjmp/siglongjmp" extensions provided by most
*           UNIX variants.  You just have to set an appropriate macro
*           before including <setjmp.h> to get sigsetjmp rather than
*           setjmp behavior.
*
* Notes:    You can run into trouble (e.g. some versions of Linux) if
*           you set some of these special signal macros before some of
*           the other ISO-C headers.  Therefore, we only set the macros
*           just before including <setjmp.h> as the final ISO-C header.
* \end{DoxyVerb}
 
\end{DoxyNote}
\mbox{\label{a00002_a0efe403ab8687e820c8b6ea5a275d1a9}} 
\index{maloc\_base.h@{maloc\_base.h}!\_BSD\_SIGNALS@{\_BSD\_SIGNALS}}
\index{\_BSD\_SIGNALS@{\_BSD\_SIGNALS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{\_BSD\_SIGNALS}
{\footnotesize\ttfamily \#define \+\_\+\+BSD\+\_\+\+SIGNALS}



IRIX\+: uses sigsetjmp as the setjmp function. 

\begin{DoxyNote}{Note}
\begin{DoxyVerb}* Problems using setjmp/longjmp for use in the MC-shell.
*
* Problem:  Some implementations of ISO-C "setjmp/longjmp"  do not return
*           the interrupt mask to its pre-jump state after returning.
*           The behavior this produces is for example you can capture a
*           single CTRL-C, but that is it; the mask for CTRL-C is wiped
*           after the first interrupt is handled.
*
* Solution: Use the "sigsetjmp/siglongjmp" extensions provided by most
*           UNIX variants.  You just have to set an appropriate macro
*           before including <setjmp.h> to get sigsetjmp rather than
*           setjmp behavior.
*
* Notes:    You can run into trouble (e.g. some versions of Linux) if
*           you set some of these special signal macros before some of
*           the other ISO-C headers.  Therefore, we only set the macros
*           just before including <setjmp.h> as the final ISO-C header.
* \end{DoxyVerb}
 
\end{DoxyNote}
\mbox{\label{a00002_a3d9fc3c745d0880902fe3ea3d5d5f71e}} 
\index{maloc\_base.h@{maloc\_base.h}!CLOCKS\_PER\_SEC@{CLOCKS\_PER\_SEC}}
\index{CLOCKS\_PER\_SEC@{CLOCKS\_PER\_SEC}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{CLOCKS\_PER\_SEC}
{\footnotesize\ttfamily \#define CLOCKS\+\_\+\+PER\+\_\+\+SEC~60}



Fix to broken $<$time.\+h$>$ on old Sun\+OS. 

\mbox{\label{a00002_a2a624a765564411c0db3a2bee940f8bc}} 
\index{maloc\_base.h@{maloc\_base.h}!extern@{extern}}
\index{extern@{extern}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{extern}
{\footnotesize\ttfamily \#define extern}



Setup so this include file (and subsequent) will work for both C and C++. 

\mbox{\label{a00002_a6a6283ab8af6569d4955242614b9427b}} 
\index{maloc\_base.h@{maloc\_base.h}!VABS@{VABS}}
\index{VABS@{VABS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VABS}
{\footnotesize\ttfamily \#define VABS(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x) $>$= 0 ? (x) \+: -\/(x))}



Mathematical macro. 

\mbox{\label{a00002_a22bce1388a2c9218ef6c2bfd273e85cf}} 
\index{maloc\_base.h@{maloc\_base.h}!VACOS@{VACOS}}
\index{VACOS@{VACOS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VACOS}
{\footnotesize\ttfamily \#define VACOS(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(acos(x))}



Mathematical macro. 

\mbox{\label{a00002_ad87fe9fd002acdb16535b579510ddd44}} 
\index{maloc\_base.h@{maloc\_base.h}!VASIN@{VASIN}}
\index{VASIN@{VASIN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASIN}
{\footnotesize\ttfamily \#define VASIN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(asin(x))}



Mathematical macro. 

\mbox{\label{a00002_a0e080eee9e9eefed6f35db9fa4609e6a}} 
\index{maloc\_base.h@{maloc\_base.h}!VASSERT@{VASSERT}}
\index{VASSERT@{VASSERT}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT}
{\footnotesize\ttfamily \#define VASSERT(\begin{DoxyParamCaption}\item[{}]{ex }\end{DoxyParamCaption})~((void) ((ex) ? 0 \+: \textbf{ VASSERT3}(\+\_\+\+\_\+\+FILE\+\_\+\+\_\+, \+\_\+\+\_\+\+LINE\+\_\+\+\_\+, ex)))}



Slick assertion macro. 

\mbox{\label{a00002_a7944addb8188e6853c788d9a9e4fffe1}} 
\index{maloc\_base.h@{maloc\_base.h}!VASSERT1@{VASSERT1}}
\index{VASSERT1@{VASSERT1}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT1}
{\footnotesize\ttfamily \#define VASSERT1(\begin{DoxyParamCaption}\item[{}]{file,  }\item[{}]{lineno }\end{DoxyParamCaption})~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), exit(1), 0)}



Slick assertion macro. 

\mbox{\label{a00002_a560710e925cc860ac762681c5bca74ce}} 
\index{maloc\_base.h@{maloc\_base.h}!VASSERT2@{VASSERT2}}
\index{VASSERT2@{VASSERT2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT2}
{\footnotesize\ttfamily \#define VASSERT2(\begin{DoxyParamCaption}\item[{}]{file,  }\item[{}]{lineno }\end{DoxyParamCaption})~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), abort(), 0)}



Slick assertion macro. 

\mbox{\label{a00002_a4730588ec0772a42d7718d78a9e22ef0}} 
\index{maloc\_base.h@{maloc\_base.h}!VASSERT3@{VASSERT3}}
\index{VASSERT3@{VASSERT3}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT3}
{\footnotesize\ttfamily \#define VASSERT3(\begin{DoxyParamCaption}\item[{}]{file,  }\item[{}]{lineno,  }\item[{}]{ex }\end{DoxyParamCaption})~(fprintf(stderr,\char`\"{}VASSERT\+: ASSERTION FAILURE!  filename \%s, line \%u, (\%s)\textbackslash{}n\char`\"{}, (file), (lineno), (\#ex)), abort(), 0)}



Slick assertion macro. 

\mbox{\label{a00002_ae7997dd2f193b011ba8e45b9abc1fbe8}} 
\index{maloc\_base.h@{maloc\_base.h}!VATAN@{VATAN}}
\index{VATAN@{VATAN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VATAN}
{\footnotesize\ttfamily \#define VATAN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(atan(x))}



Mathematical macro. 

\mbox{\label{a00002_a6ac0734fc799654d0bf8e6a979ddd574}} 
\index{maloc\_base.h@{maloc\_base.h}!VBLANK\_STRING@{VBLANK\_STRING}}
\index{VBLANK\_STRING@{VBLANK\_STRING}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VBLANK\_STRING}
{\footnotesize\ttfamily \#define VBLANK\+\_\+\+STRING~\char`\"{} \char`\"{}}



Global constant. 

\mbox{\label{a00002_ab0c8a6f3a74aaef96673f4493e3c8e96}} 
\index{maloc\_base.h@{maloc\_base.h}!VBLANK\_SYMBOL@{VBLANK\_SYMBOL}}
\index{VBLANK\_SYMBOL@{VBLANK\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VBLANK\_SYMBOL}
{\footnotesize\ttfamily \#define VBLANK\+\_\+\+SYMBOL~\textquotesingle{} \textquotesingle{}}



Global constant. 

\mbox{\label{a00002_a86db19adfd56589a7440929e19c85204}} 
\index{maloc\_base.h@{maloc\_base.h}!VBLOCK\_POWER@{VBLOCK\_POWER}}
\index{VBLOCK\_POWER@{VBLOCK\_POWER}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VBLOCK\_POWER}
{\footnotesize\ttfamily \#define VBLOCK\+\_\+\+POWER~14}



Global constant. 

\mbox{\label{a00002_a122557a0293deb12253eb7a4dba4e4f6}} 
\index{maloc\_base.h@{maloc\_base.h}!VCC@{VCC}}
\index{VCC@{VCC}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VCC}
{\footnotesize\ttfamily \#define VCC}



Setup so this include file (and subsequent) will work for both C and C++. 

\mbox{\label{a00002_a661eab71fa0a27651d833dd06f581b01}} 
\index{maloc\_base.h@{maloc\_base.h}!VCOS@{VCOS}}
\index{VCOS@{VCOS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VCOS}
{\footnotesize\ttfamily \#define VCOS(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(cos(x))}



Mathematical macro. 

\mbox{\label{a00002_ac77ce9d4eda4448a7c2d399f97e9aad3}} 
\index{maloc\_base.h@{maloc\_base.h}!VCOSH@{VCOSH}}
\index{VCOSH@{VCOSH}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VCOSH}
{\footnotesize\ttfamily \#define VCOSH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(cosh(x))}



Mathematical macro. 

\mbox{\label{a00002_abd65219a8fa4b48051a6a803bc3a8a35}} 
\index{maloc\_base.h@{maloc\_base.h}!VDELIM\_SET@{VDELIM\_SET}}
\index{VDELIM\_SET@{VDELIM\_SET}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VDELIM\_SET}
{\footnotesize\ttfamily \#define VDELIM\+\_\+\+SET~\char`\"{} $>$$<$$\vert$\&\char`\"{}}



Global constant. 

\mbox{\label{a00002_a1dd7b5e22aaa873dca842b6b84537c4c}} 
\index{maloc\_base.h@{maloc\_base.h}!VEVEN@{VEVEN}}
\index{VEVEN@{VEVEN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VEVEN}
{\footnotesize\ttfamily \#define VEVEN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(!((x)\&1))}



Mathematical macro. 

\mbox{\label{a00002_a46a23197242d6a42f62453da40182bee}} 
\index{maloc\_base.h@{maloc\_base.h}!VEVENN@{VEVENN}}
\index{VEVENN@{VEVENN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VEVENN}
{\footnotesize\ttfamily \#define VEVENN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(\textbf{ VEVEN}(x) \&\& \textbf{ VNEG}(x))}



Mathematical macro. 

\mbox{\label{a00002_a81312fd2c5003fffee4e81c79a930102}} 
\index{maloc\_base.h@{maloc\_base.h}!VEVENP@{VEVENP}}
\index{VEVENP@{VEVENP}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VEVENP}
{\footnotesize\ttfamily \#define VEVENP(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(\textbf{ VEVEN}(x) \&\& \textbf{ VPOS}(x))}



Mathematical macro. 

\mbox{\label{a00002_a0fa6debb8a3992bcc1166b955aa67a3a}} 
\index{maloc\_base.h@{maloc\_base.h}!VEXP@{VEXP}}
\index{VEXP@{VEXP}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VEXP}
{\footnotesize\ttfamily \#define VEXP(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(exp(x))}



Mathematical macro. 

\mbox{\label{a00002_a185da450c2763e9823a32161e590bfec}} 
\index{maloc\_base.h@{maloc\_base.h}!VFALSE@{VFALSE}}
\index{VFALSE@{VFALSE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VFALSE}
{\footnotesize\ttfamily \#define VFALSE~0}



Global constant. 

\mbox{\label{a00002_a49d1a8aed48d93304fa66bf8c3d1e4e0}} 
\index{maloc\_base.h@{maloc\_base.h}!VINLINE\_MALOC@{VINLINE\_MALOC}}
\index{VINLINE\_MALOC@{VINLINE\_MALOC}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VINLINE\_MALOC}
{\footnotesize\ttfamily \#define VINLINE\+\_\+\+MALOC}



Inlining via macros for speed. 

\mbox{\label{a00002_a2c64cf285d31e078dfd3b33541b0854b}} 
\index{maloc\_base.h@{maloc\_base.h}!VINULL@{VINULL}}
\index{VINULL@{VINULL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VINULL}
{\footnotesize\ttfamily \#define VINULL~-\/1}



Global constant. 

\mbox{\label{a00002_a35d9a55e32cfba7f8baaec15ee365acb}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR0@{VJMPERR0}}
\index{VJMPERR0@{VJMPERR0}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR0}
{\footnotesize\ttfamily \#define VJMPERR0(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR0}



A userful error handling macro. 

\mbox{\label{a00002_a801fb314155d03fde428d6dc89cf2658}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR1@{VJMPERR1}}
\index{VJMPERR1@{VJMPERR1}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR1}
{\footnotesize\ttfamily \#define VJMPERR1(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR1}



A userful error handling macro. 

\mbox{\label{a00002_abffcc18dc38e5b068b1efc4829a8488f}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR2@{VJMPERR2}}
\index{VJMPERR2@{VJMPERR2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR2}
{\footnotesize\ttfamily \#define VJMPERR2(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR2}



A userful error handling macro. 

\mbox{\label{a00002_a8c0935adf9f3d96f63f78576ec06a65f}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR3@{VJMPERR3}}
\index{VJMPERR3@{VJMPERR3}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR3}
{\footnotesize\ttfamily \#define VJMPERR3(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR3}



A userful error handling macro. 

\mbox{\label{a00002_a84d776c30f6bc2a303ee610e4a5fbc9a}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR4@{VJMPERR4}}
\index{VJMPERR4@{VJMPERR4}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR4}
{\footnotesize\ttfamily \#define VJMPERR4(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR4}



A userful error handling macro. 

\mbox{\label{a00002_aa7116fe5abea3b472305732ab411e776}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR5@{VJMPERR5}}
\index{VJMPERR5@{VJMPERR5}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR5}
{\footnotesize\ttfamily \#define VJMPERR5(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR5}



A userful error handling macro. 

\mbox{\label{a00002_af3c223a83ee1fed008ad98b7f1ded3e7}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR6@{VJMPERR6}}
\index{VJMPERR6@{VJMPERR6}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR6}
{\footnotesize\ttfamily \#define VJMPERR6(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR6}



A userful error handling macro. 

\mbox{\label{a00002_ac648424c8472947581f55483790f3733}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR7@{VJMPERR7}}
\index{VJMPERR7@{VJMPERR7}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR7}
{\footnotesize\ttfamily \#define VJMPERR7(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR7}



A userful error handling macro. 

\mbox{\label{a00002_a4398f657db69c05ebc37541d0ce61889}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR8@{VJMPERR8}}
\index{VJMPERR8@{VJMPERR8}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR8}
{\footnotesize\ttfamily \#define VJMPERR8(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR8}



A userful error handling macro. 

\mbox{\label{a00002_ac371ae69ae3e54d49d18936f13157435}} 
\index{maloc\_base.h@{maloc\_base.h}!VJMPERR9@{VJMPERR9}}
\index{VJMPERR9@{VJMPERR9}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VJMPERR9}
{\footnotesize\ttfamily \#define VJMPERR9(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~if (!(x)) goto VERROR9}



A userful error handling macro. 

\mbox{\label{a00002_aa85fa01fd188d474dad2b8690c47e2ed}} 
\index{maloc\_base.h@{maloc\_base.h}!VLARGE@{VLARGE}}
\index{VLARGE@{VLARGE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VLARGE}
{\footnotesize\ttfamily \#define VLARGE~1.\+0e+9}



Global constant. 1e9 just fits into 32-\/bit signed int. 

\mbox{\label{a00002_a852fa20066e98d28c5753a6c90e516ee}} 
\index{maloc\_base.h@{maloc\_base.h}!VLOG@{VLOG}}
\index{VLOG@{VLOG}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VLOG}
{\footnotesize\ttfamily \#define VLOG(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(log(x))}



Mathematical macro. 

\mbox{\label{a00002_a290e41f505fcb748fc5435c6c23124a5}} 
\index{maloc\_base.h@{maloc\_base.h}!VMAX2@{VMAX2}}
\index{VMAX2@{VMAX2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX2}
{\footnotesize\ttfamily \#define VMAX2(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~((x) $>$= (y) ? (x) \+: (y))}



Mathematical macro. 

\mbox{\label{a00002_ab11f66c5fd184e20cd21c417a5a69abd}} 
\index{maloc\_base.h@{maloc\_base.h}!VMAX\_ARGLEN@{VMAX\_ARGLEN}}
\index{VMAX\_ARGLEN@{VMAX\_ARGLEN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX\_ARGLEN}
{\footnotesize\ttfamily \#define VMAX\+\_\+\+ARGLEN~1024}



Global constant. 

\mbox{\label{a00002_a15b1b0d60ed3a20d22f2502448a461d9}} 
\index{maloc\_base.h@{maloc\_base.h}!VMAX\_ARGNUM@{VMAX\_ARGNUM}}
\index{VMAX\_ARGNUM@{VMAX\_ARGNUM}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX\_ARGNUM}
{\footnotesize\ttfamily \#define VMAX\+\_\+\+ARGNUM~50}



Global constant. 

\mbox{\label{a00002_a1dfc31b781bd0215ba5e6823a20d31c3}} 
\index{maloc\_base.h@{maloc\_base.h}!VMAX\_BUFSIZE@{VMAX\_BUFSIZE}}
\index{VMAX\_BUFSIZE@{VMAX\_BUFSIZE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX\_BUFSIZE}
{\footnotesize\ttfamily \#define VMAX\+\_\+\+BUFSIZE~8192}



Global constant. 

\mbox{\label{a00002_ad95ae6d30cd0e4ceaf872dc886b269b2}} 
\index{maloc\_base.h@{maloc\_base.h}!VMAX\_OBJECTS@{VMAX\_OBJECTS}}
\index{VMAX\_OBJECTS@{VMAX\_OBJECTS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX\_OBJECTS}
{\footnotesize\ttfamily \#define VMAX\+\_\+\+OBJECTS~1073741824    /$\ast$ (1$<$$<$31) = 2$^\wedge$31 $\ast$/}



Global constant. 

\mbox{\label{a00002_ab0e57329dc36caa1029a5f24cfaa11f7}} 
\index{maloc\_base.h@{maloc\_base.h}!VMIN2@{VMIN2}}
\index{VMIN2@{VMIN2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMIN2}
{\footnotesize\ttfamily \#define VMIN2(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~((x) $<$= (y) ? (x) \+: (y))}



Mathematical macro. 

\mbox{\label{a00002_abd9f24b361b3947aa6b142f2f0455c3b}} 
\index{maloc\_base.h@{maloc\_base.h}!VNEG@{VNEG}}
\index{VNEG@{VNEG}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNEG}
{\footnotesize\ttfamily \#define VNEG(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x)$<$0)}



Mathematical macro. 

\mbox{\label{a00002_af2750993825fc5b1778ce25a3175eabd}} 
\index{maloc\_base.h@{maloc\_base.h}!VNEWLINE\_STRING@{VNEWLINE\_STRING}}
\index{VNEWLINE\_STRING@{VNEWLINE\_STRING}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNEWLINE\_STRING}
{\footnotesize\ttfamily \#define VNEWLINE\+\_\+\+STRING~\char`\"{}\textbackslash{}n\char`\"{}}



Global constant. 

\mbox{\label{a00002_abea6f48b8e59ba9861130a384bd3aec6}} 
\index{maloc\_base.h@{maloc\_base.h}!VNEWLINE\_SYMBOL@{VNEWLINE\_SYMBOL}}
\index{VNEWLINE\_SYMBOL@{VNEWLINE\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNEWLINE\_SYMBOL}
{\footnotesize\ttfamily \#define VNEWLINE\+\_\+\+SYMBOL~\textquotesingle{}\textbackslash{}n\textquotesingle{}}



Global constant. 

\mbox{\label{a00002_a2bb1f7730df2c23d8940135b65d2c781}} 
\index{maloc\_base.h@{maloc\_base.h}!VNULL@{VNULL}}
\index{VNULL@{VNULL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNULL}
{\footnotesize\ttfamily \#define VNULL~NULL}



Global constant. 

\mbox{\label{a00002_ab8cbbfa234e1095b237085887e887d36}} 
\index{maloc\_base.h@{maloc\_base.h}!VNULL\_STRING@{VNULL\_STRING}}
\index{VNULL\_STRING@{VNULL\_STRING}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNULL\_STRING}
{\footnotesize\ttfamily \#define VNULL\+\_\+\+STRING~\char`\"{}\textbackslash{}0\char`\"{}}



Global constant. 

\mbox{\label{a00002_accb185d30e2bcf018d17820fbc4b40fd}} 
\index{maloc\_base.h@{maloc\_base.h}!VNULL\_SYMBOL@{VNULL\_SYMBOL}}
\index{VNULL\_SYMBOL@{VNULL\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VNULL\_SYMBOL}
{\footnotesize\ttfamily \#define VNULL\+\_\+\+SYMBOL~\textquotesingle{}\textbackslash{}0\textquotesingle{}}



Global constant. 

\mbox{\label{a00002_ab2368bf1aee9f9b1505a368a0fb62b7b}} 
\index{maloc\_base.h@{maloc\_base.h}!VODD@{VODD}}
\index{VODD@{VODD}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VODD}
{\footnotesize\ttfamily \#define VODD(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x)\&1)}



Mathematical macro. 

\mbox{\label{a00002_a50941df90c3271d685f4b22f3eb1a9f8}} 
\index{maloc\_base.h@{maloc\_base.h}!VPI@{VPI}}
\index{VPI@{VPI}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPI}
{\footnotesize\ttfamily \#define VPI~3.\+14159265358979323846}



Global constant. 

\mbox{\label{a00002_a3e7f4228d0009d0085013b9b52d4b57d}} 
\index{maloc\_base.h@{maloc\_base.h}!VPIPE\_SYMBOL@{VPIPE\_SYMBOL}}
\index{VPIPE\_SYMBOL@{VPIPE\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPIPE\_SYMBOL}
{\footnotesize\ttfamily \#define VPIPE\+\_\+\+SYMBOL~\textquotesingle{}$\vert$\textquotesingle{}}



Global constant. 

\mbox{\label{a00002_a57509f8e8bc46800d9ba52a5d6a00a41}} 
\index{maloc\_base.h@{maloc\_base.h}!VPOS@{VPOS}}
\index{VPOS@{VPOS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPOS}
{\footnotesize\ttfamily \#define VPOS(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x)$>$0)}



Mathematical macro. 

\mbox{\label{a00002_a2b7cdf04210b26e746ea0d28e72529fb}} 
\index{maloc\_base.h@{maloc\_base.h}!VPOW@{VPOW}}
\index{VPOW@{VPOW}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPOW}
{\footnotesize\ttfamily \#define VPOW(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~(pow(x,y))}



Mathematical macro. 

\mbox{\label{a00002_ae2fc4d8bc102f1fcdcdd54c2338ea4bd}} 
\index{maloc\_base.h@{maloc\_base.h}!VPRIVATE@{VPRIVATE}}
\index{VPRIVATE@{VPRIVATE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPRIVATE}
{\footnotesize\ttfamily \#define VPRIVATE~static}



Mimic C++ \char`\"{}\+Private\char`\"{} type modifier. 

\mbox{\label{a00002_a4f0d87f3004ad0579cfde937398b903c}} 
\index{maloc\_base.h@{maloc\_base.h}!VPRTKEY@{VPRTKEY}}
\index{VPRTKEY@{VPRTKEY}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPRTKEY}
{\footnotesize\ttfamily \#define VPRTKEY~10000}



Global constant. 

\mbox{\label{a00002_a89f496884cc1b9244becf0de085cb500}} 
\index{maloc\_base.h@{maloc\_base.h}!VPTRSIZE@{VPTRSIZE}}
\index{VPTRSIZE@{VPTRSIZE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPTRSIZE}
{\footnotesize\ttfamily \#define VPTRSIZE~4}



Global constant. 

\mbox{\label{a00002_a40b754bab6d662ab872265b448caf4fc}} 
\index{maloc\_base.h@{maloc\_base.h}!VPUBLIC@{VPUBLIC}}
\index{VPUBLIC@{VPUBLIC}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VPUBLIC}
{\footnotesize\ttfamily \#define VPUBLIC~/$\ast$empty$\ast$/}



Mimic C++ \char`\"{}\+Public\char`\"{} type modifier ~\newline
 

\mbox{\label{a00002_a646cee349664e037b9065d09b331c77d}} 
\index{maloc\_base.h@{maloc\_base.h}!VRAND@{VRAND}}
\index{VRAND@{VRAND}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRAND}
{\footnotesize\ttfamily \#define VRAND~(rand())}



Mathematical macro. 

\mbox{\label{a00002_a9907643e15a16f66f4b00769edd53909}} 
\index{maloc\_base.h@{maloc\_base.h}!VRANDMAX@{VRANDMAX}}
\index{VRANDMAX@{VRANDMAX}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRANDMAX}
{\footnotesize\ttfamily \#define VRANDMAX~(RAND\+\_\+\+MAX)}



Mathematical macro. 

\mbox{\label{a00002_ace267de7e362209e9912f7dd86ec6358}} 
\index{maloc\_base.h@{maloc\_base.h}!VRDIN\_SYMBOL@{VRDIN\_SYMBOL}}
\index{VRDIN\_SYMBOL@{VRDIN\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRDIN\_SYMBOL}
{\footnotesize\ttfamily \#define VRDIN\+\_\+\+SYMBOL~\textquotesingle{}$<$\textquotesingle{}}



Global constant. 

\mbox{\label{a00002_a70b709f9de1f84988c12f4cc018f811b}} 
\index{maloc\_base.h@{maloc\_base.h}!VRDOUT\_SYMBOL@{VRDOUT\_SYMBOL}}
\index{VRDOUT\_SYMBOL@{VRDOUT\_SYMBOL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRDOUT\_SYMBOL}
{\footnotesize\ttfamily \#define VRDOUT\+\_\+\+SYMBOL~\textquotesingle{}$>$\textquotesingle{}}



Global constant. 

\mbox{\label{a00002_aeac6d37dd0315ecb13a9f1f3f835ce46}} 
\index{maloc\_base.h@{maloc\_base.h}!VRINT@{VRINT}}
\index{VRINT@{VRINT}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRINT}
{\footnotesize\ttfamily \#define VRINT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((int)(floor((x)+0.\+5)))}



Mathematical macro. 

\mbox{\label{a00002_a07b46444293918f05c95070465520ed7}} 
\index{maloc\_base.h@{maloc\_base.h}!VSIGN@{VSIGN}}
\index{VSIGN@{VSIGN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSIGN}
{\footnotesize\ttfamily \#define VSIGN(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~((y) $>$= 0 ? (\textbf{ VABS}(x)) \+: (-\/\textbf{ VABS}(x)))}



Mathematical macro. 

\mbox{\label{a00002_a8d6aa2139448b7b16e1838a33aaa0e7c}} 
\index{maloc\_base.h@{maloc\_base.h}!VSIN@{VSIN}}
\index{VSIN@{VSIN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSIN}
{\footnotesize\ttfamily \#define VSIN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(sin(x))}



Mathematical macro. 

\mbox{\label{a00002_a0ceabc352245568f4f6bb54d4ead7865}} 
\index{maloc\_base.h@{maloc\_base.h}!VSINH@{VSINH}}
\index{VSINH@{VSINH}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSINH}
{\footnotesize\ttfamily \#define VSINH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(sinh(x))}



Mathematical macro. 

\mbox{\label{a00002_a9de33470243d86f36615e15a77261ede}} 
\index{maloc\_base.h@{maloc\_base.h}!VSMALL@{VSMALL}}
\index{VSMALL@{VSMALL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSMALL}
{\footnotesize\ttfamily \#define VSMALL~1.\+0e-\/9}



Global constant. 

\mbox{\label{a00002_a419727cfb8f9edbd91343f882afec148}} 
\index{maloc\_base.h@{maloc\_base.h}!VSQR@{VSQR}}
\index{VSQR@{VSQR}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSQR}
{\footnotesize\ttfamily \#define VSQR(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x)$\ast$(x))}



Mathematical macro. 

\mbox{\label{a00002_a130a8c16f376a2410e69e46d1a4eb6df}} 
\index{maloc\_base.h@{maloc\_base.h}!VSQRT@{VSQRT}}
\index{VSQRT@{VSQRT}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSQRT}
{\footnotesize\ttfamily \#define VSQRT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(sqrt(x))}



Mathematical macro. 

\mbox{\label{a00002_acac748db87f0801549811e218abbf443}} 
\index{maloc\_base.h@{maloc\_base.h}!VSTDMODE@{VSTDMODE}}
\index{VSTDMODE@{VSTDMODE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSTDMODE}
{\footnotesize\ttfamily \#define VSTDMODE~0600}



Global constant. 

\mbox{\label{a00002_ae73e34473551df0d277ca2aa24f4548e}} 
\index{maloc\_base.h@{maloc\_base.h}!VTAN@{VTAN}}
\index{VTAN@{VTAN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VTAN}
{\footnotesize\ttfamily \#define VTAN(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(tan(x))}



Mathematical macro. 

\mbox{\label{a00002_af9bbf22496156c1258eebdd3373d2710}} 
\index{maloc\_base.h@{maloc\_base.h}!VTANH@{VTANH}}
\index{VTANH@{VTANH}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VTANH}
{\footnotesize\ttfamily \#define VTANH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(tanh(x))}



Mathematical macro. 

\mbox{\label{a00002_a2078a6c029ec8613f0f6414373dee144}} 
\index{maloc\_base.h@{maloc\_base.h}!VTRUE@{VTRUE}}
\index{VTRUE@{VTRUE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VTRUE}
{\footnotesize\ttfamily \#define VTRUE~1}



Global constant. 

\mbox{\label{a00002_a22865218f9906e8799208b4cbb9fda57}} 
\index{maloc\_base.h@{maloc\_base.h}!VVLARGE@{VVLARGE}}
\index{VVLARGE@{VVLARGE}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VVLARGE}
{\footnotesize\ttfamily \#define VVLARGE~1.\+0e+15}



Global constant. 

\mbox{\label{a00002_a9d4025ef411cefdc1bc4c73c6d3e6549}} 
\index{maloc\_base.h@{maloc\_base.h}!VVSMALL@{VVSMALL}}
\index{VVSMALL@{VVSMALL}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VVSMALL}
{\footnotesize\ttfamily \#define VVSMALL~1.\+0e-\/15}



Global constant. 

\mbox{\label{a00002_af2b2257356b76b6e606de23f6a03f9ee}} 
\index{maloc\_base.h@{maloc\_base.h}!VWARN@{VWARN}}
\index{VWARN@{VWARN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VWARN}
{\footnotesize\ttfamily \#define VWARN(\begin{DoxyParamCaption}\item[{}]{ex }\end{DoxyParamCaption})~((void) ((ex) ? 0 \+: \textbf{ VWARN1}(\+\_\+\+\_\+\+FILE\+\_\+\+\_\+, \+\_\+\+\_\+\+LINE\+\_\+\+\_\+)))}



Slick assertion macro. 

\mbox{\label{a00002_ab9ac054d25a0e3da447261d9bba39dc3}} 
\index{maloc\_base.h@{maloc\_base.h}!VWARN1@{VWARN1}}
\index{VWARN1@{VWARN1}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VWARN1}
{\footnotesize\ttfamily \#define VWARN1(\begin{DoxyParamCaption}\item[{}]{file,  }\item[{}]{lineno }\end{DoxyParamCaption})~(fprintf(stderr,\char`\"{}VWARN\+: ASSERTION FAILURE! filename \%s, line \%u\textbackslash{}n\char`\"{}, (file), (lineno)), 0)}



Slick assertion macro. 

\mbox{\label{a00002_af25362b3b005fec92d3647b62245041a}} 
\index{maloc\_base.h@{maloc\_base.h}!VZERO@{VZERO}}
\index{VZERO@{VZERO}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VZERO}
{\footnotesize\ttfamily \#define VZERO(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x)==0)}



Mathematical macro. 

