\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}
\doxysubsubsection*{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++ "{}\+Private"{} type modifier. \end{DoxyCompactList}\item 
\#define \textbf{ VPUBLIC}~/$\ast$empty$\ast$/
\begin{DoxyCompactList}\small\item\em Mimic C++ "{}\+Public"{} type modifier. \end{DoxyCompactList}\item 
\#define \textbf{ VWARN1}(file,  lineno)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT1}(file,  lineno)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT2}(file,  lineno)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT3}(file,  lineno,  ex)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VWARN}(ex)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASSERT}(ex)
\begin{DoxyCompactList}\small\item\em Slick assertion macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR0}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR1}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR2}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR3}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR4}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR5}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR6}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR7}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR8}(x)
\begin{DoxyCompactList}\small\item\em A userful error handling macro. \end{DoxyCompactList}\item 
\#define \textbf{ VJMPERR9}(x)
\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}~"{}\textbackslash{}0"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VBLANK\+\_\+\+STRING}~"{} "{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VNEWLINE\+\_\+\+STRING}~"{}\textbackslash{}n"{}
\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}~"{} $>$$<$$\vert$\&"{}
\begin{DoxyCompactList}\small\item\em Global constant. \end{DoxyCompactList}\item 
\#define \textbf{ VABS}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VMIN2}(x,  y)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VMAX2}(x,  y)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSIGN}(x,  y)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VODD}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVEN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VZERO}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VPOS}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VNEG}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVENP}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEVENN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSQRT}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSQR}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSIN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VCOS}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VTAN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VASIN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VACOS}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VATAN}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VSINH}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VCOSH}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VTANH}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VEXP}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VLOG}(x)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VPOW}(x,  y)
\begin{DoxyCompactList}\small\item\em Mathematical macro. \end{DoxyCompactList}\item 
\#define \textbf{ VRINT}(x)
\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}


\label{doc-define-members}
\doxysubsection{Macro Definition Documentation}
\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 \label{a00002_a0e25ec3d9c374c5e6dceeb9341baf766} 
\#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}
\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 \label{a00002_a0efe403ab8687e820c8b6ea5a275d1a9} 
\#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}
\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 \label{a00002_a3d9fc3c745d0880902fe3ea3d5d5f71e} 
\#define CLOCKS\+\_\+\+PER\+\_\+\+SEC~60}



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

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



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

\index{maloc\_base.h@{maloc\_base.h}!VABS@{VABS}}
\index{VABS@{VABS}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VABS}
{\footnotesize\ttfamily \label{a00002_a6a6283ab8af6569d4955242614b9427b} 
\#define VABS(\begin{DoxyParamCaption}\item[{}]{x}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)\ >=\ 0\ ?\ (x)\ :\ -\/(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(acos(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(asin(x))}

\end{DoxyCode}


Mathematical macro. 

\index{maloc\_base.h@{maloc\_base.h}!VASSERT@{VASSERT}}
\index{VASSERT@{VASSERT}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT}
{\footnotesize\ttfamily \label{a00002_a0e080eee9e9eefed6f35db9fa4609e6a} 
\#define VASSERT(\begin{DoxyParamCaption}\item[{}]{ex}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((void)\ ((ex)\ ?\ 0\ :\ VASSERT3(\_\_FILE\_\_,\ \_\_LINE\_\_,\ ex)))}

\end{DoxyCode}


Slick assertion macro. 

\index{maloc\_base.h@{maloc\_base.h}!VASSERT1@{VASSERT1}}
\index{VASSERT1@{VASSERT1}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT1}
{\footnotesize\ttfamily \label{a00002_a7944addb8188e6853c788d9a9e4fffe1} 
\#define VASSERT1(\begin{DoxyParamCaption}\item[{}]{file}{, }\item[{}]{lineno}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(fprintf(stderr,\textcolor{stringliteral}{"{}VASSERT:\ ASSERTION\ FAILURE!\ filename\ \%s,\ line\ \%u\(\backslash\)n"{}},\ (file),\ (lineno)),\ exit(1),\ 0)}

\end{DoxyCode}


Slick assertion macro. 

\index{maloc\_base.h@{maloc\_base.h}!VASSERT2@{VASSERT2}}
\index{VASSERT2@{VASSERT2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT2}
{\footnotesize\ttfamily \label{a00002_a560710e925cc860ac762681c5bca74ce} 
\#define VASSERT2(\begin{DoxyParamCaption}\item[{}]{file}{, }\item[{}]{lineno}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(fprintf(stderr,\textcolor{stringliteral}{"{}VASSERT:\ ASSERTION\ FAILURE!\ filename\ \%s,\ line\ \%u\(\backslash\)n"{}},\ (file),\ (lineno)),\ abort(),\ 0)}

\end{DoxyCode}


Slick assertion macro. 

\index{maloc\_base.h@{maloc\_base.h}!VASSERT3@{VASSERT3}}
\index{VASSERT3@{VASSERT3}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VASSERT3}
{\footnotesize\ttfamily \label{a00002_a4730588ec0772a42d7718d78a9e22ef0} 
\#define VASSERT3(\begin{DoxyParamCaption}\item[{}]{file}{, }\item[{}]{lineno}{, }\item[{}]{ex}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(fprintf(stderr,\textcolor{stringliteral}{"{}VASSERT:\ ASSERTION\ FAILURE!\ \ filename\ \%s,\ line\ \%u,\ (\%s)\(\backslash\)n"{}},\ (file),\ (lineno),\ (\#ex)),\ abort(),\ 0)}

\end{DoxyCode}


Slick assertion macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(atan(x))}

\end{DoxyCode}


Mathematical macro. 

\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 \label{a00002_a6ac0734fc799654d0bf8e6a979ddd574} 
\#define VBLANK\+\_\+\+STRING~"{} "{}}



Global constant. 

\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 \label{a00002_ab0c8a6f3a74aaef96673f4493e3c8e96} 
\#define VBLANK\+\_\+\+SYMBOL~\textquotesingle{} \textquotesingle{}}



Global constant. 

\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 \label{a00002_a86db19adfd56589a7440929e19c85204} 
\#define VBLOCK\+\_\+\+POWER~14}



Global constant. 

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



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

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(cos(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(cosh(x))}

\end{DoxyCode}


Mathematical macro. 

\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 \label{a00002_abd65219a8fa4b48051a6a803bc3a8a35} 
\#define VDELIM\+\_\+\+SET~"{} $>$$<$$\vert$\&"{}}



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(!((x)\&1))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(VEVEN(x)\ \&\&\ VNEG(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(VEVEN(x)\ \&\&\ VPOS(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(exp(x))}

\end{DoxyCode}


Mathematical macro. 

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



Global constant. 

\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 \label{a00002_a49d1a8aed48d93304fa66bf8c3d1e4e0} 
\#define VINLINE\+\_\+\+MALOC}



Inlining via macros for speed. 

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



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR0}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR1}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR2}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR3}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR4}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR5}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR6}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR7}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR8}

\end{DoxyCode}


A userful error handling macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (!(x))\ \textcolor{keywordflow}{goto}\ VERROR9}

\end{DoxyCode}


A userful error handling macro. 

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



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

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(log(x))}

\end{DoxyCode}


Mathematical macro. 

\index{maloc\_base.h@{maloc\_base.h}!VMAX2@{VMAX2}}
\index{VMAX2@{VMAX2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMAX2}
{\footnotesize\ttfamily \label{a00002_a290e41f505fcb748fc5435c6c23124a5} 
\#define VMAX2(\begin{DoxyParamCaption}\item[{}]{x}{, }\item[{}]{y}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)\ >=\ (y)\ ?\ (x)\ :\ (y))}

\end{DoxyCode}


Mathematical macro. 

\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 \label{a00002_ab11f66c5fd184e20cd21c417a5a69abd} 
\#define VMAX\+\_\+\+ARGLEN~1024}



Global constant. 

\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 \label{a00002_a15b1b0d60ed3a20d22f2502448a461d9} 
\#define VMAX\+\_\+\+ARGNUM~50}



Global constant. 

\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 \label{a00002_a1dfc31b781bd0215ba5e6823a20d31c3} 
\#define VMAX\+\_\+\+BUFSIZE~8192}



Global constant. 

\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 \label{a00002_ad95ae6d30cd0e4ceaf872dc886b269b2} 
\#define VMAX\+\_\+\+OBJECTS~1073741824    /$\ast$ (1$<$$<$31) = 2$^\wedge$31 $\ast$/}



Global constant. 

\index{maloc\_base.h@{maloc\_base.h}!VMIN2@{VMIN2}}
\index{VMIN2@{VMIN2}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VMIN2}
{\footnotesize\ttfamily \label{a00002_ab0e57329dc36caa1029a5f24cfaa11f7} 
\#define VMIN2(\begin{DoxyParamCaption}\item[{}]{x}{, }\item[{}]{y}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)\ <=\ (y)\ ?\ (x)\ :\ (y))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)<0)}

\end{DoxyCode}


Mathematical macro. 

\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 \label{a00002_af2750993825fc5b1778ce25a3175eabd} 
\#define VNEWLINE\+\_\+\+STRING~"{}\textbackslash{}n"{}}



Global constant. 

\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 \label{a00002_abea6f48b8e59ba9861130a384bd3aec6} 
\#define VNEWLINE\+\_\+\+SYMBOL~\textquotesingle{}\textbackslash{}n\textquotesingle{}}



Global constant. 

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



Global constant. 

\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 \label{a00002_ab8cbbfa234e1095b237085887e887d36} 
\#define VNULL\+\_\+\+STRING~"{}\textbackslash{}0"{}}



Global constant. 

\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 \label{a00002_accb185d30e2bcf018d17820fbc4b40fd} 
\#define VNULL\+\_\+\+SYMBOL~\textquotesingle{}\textbackslash{}0\textquotesingle{}}



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)\&1)}

\end{DoxyCode}


Mathematical macro. 

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



Global constant. 

\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 \label{a00002_a3e7f4228d0009d0085013b9b52d4b57d} 
\#define VPIPE\+\_\+\+SYMBOL~\textquotesingle{}$\vert$\textquotesingle{}}



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)>0)}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(pow(x,y))}

\end{DoxyCode}


Mathematical macro. 

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



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

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



Global constant. 

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



Global constant. 

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



Mimic C++ "{}\+Public"{} type modifier. 

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



Mathematical macro. 

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



Mathematical macro. 

\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 \label{a00002_ace267de7e362209e9912f7dd86ec6358} 
\#define VRDIN\+\_\+\+SYMBOL~\textquotesingle{}$<$\textquotesingle{}}



Global constant. 

\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 \label{a00002_a70b709f9de1f84988c12f4cc018f811b} 
\#define VRDOUT\+\_\+\+SYMBOL~\textquotesingle{}$>$\textquotesingle{}}



Global constant. 

\index{maloc\_base.h@{maloc\_base.h}!VRINT@{VRINT}}
\index{VRINT@{VRINT}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VRINT}
{\footnotesize\ttfamily \label{a00002_aeac6d37dd0315ecb13a9f1f3f835ce46} 
\#define VRINT(\begin{DoxyParamCaption}\item[{}]{x}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((int)(floor((x)+0.5)))}

\end{DoxyCode}


Mathematical macro. 

\index{maloc\_base.h@{maloc\_base.h}!VSIGN@{VSIGN}}
\index{VSIGN@{VSIGN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VSIGN}
{\footnotesize\ttfamily \label{a00002_a07b46444293918f05c95070465520ed7} 
\#define VSIGN(\begin{DoxyParamCaption}\item[{}]{x}{, }\item[{}]{y}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((y)\ >=\ 0\ ?\ (VABS(x))\ :\ (-\/VABS(x)))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(sin(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(sinh(x))}

\end{DoxyCode}


Mathematical macro. 

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



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)*(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(sqrt(x))}

\end{DoxyCode}


Mathematical macro. 

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



Global constant. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(tan(x))}

\end{DoxyCode}


Mathematical macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(tanh(x))}

\end{DoxyCode}


Mathematical macro. 

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



Global constant. 

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



Global constant. 

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



Global constant. 

\index{maloc\_base.h@{maloc\_base.h}!VWARN@{VWARN}}
\index{VWARN@{VWARN}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VWARN}
{\footnotesize\ttfamily \label{a00002_af2b2257356b76b6e606de23f6a03f9ee} 
\#define VWARN(\begin{DoxyParamCaption}\item[{}]{ex}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((void)\ ((ex)\ ?\ 0\ :\ VWARN1(\_\_FILE\_\_,\ \_\_LINE\_\_)))}

\end{DoxyCode}


Slick assertion macro. 

\index{maloc\_base.h@{maloc\_base.h}!VWARN1@{VWARN1}}
\index{VWARN1@{VWARN1}!maloc\_base.h@{maloc\_base.h}}
\doxysubsubsection{VWARN1}
{\footnotesize\ttfamily \label{a00002_ab9ac054d25a0e3da447261d9bba39dc3} 
\#define VWARN1(\begin{DoxyParamCaption}\item[{}]{file}{, }\item[{}]{lineno}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(fprintf(stderr,\textcolor{stringliteral}{"{}VWARN:\ ASSERTION\ FAILURE!\ filename\ \%s,\ line\ \%u\(\backslash\)n"{}},\ (file),\ (lineno)),\ 0)}

\end{DoxyCode}


Slick assertion macro. 

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

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{((x)==0)}

\end{DoxyCode}


Mathematical macro. 

