\doxysection{workspace/post-\/scarcity/src/debug.h File Reference}
\hypertarget{debug_8h}{}\label{debug_8h}\index{workspace/post-\/scarcity/src/debug.h@{workspace/post-\/scarcity/src/debug.h}}
{\ttfamily \#include $<$ctype.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
Include dependency graph for debug.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=203pt]{debug_8h__incl}
\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]{debug_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{debug_8h_ab99ea81093661d24ffaaa4e85cb2387a}{DEBUG\+\_\+\+ALLOC}}~1
\begin{DoxyCompactList}\small\item\em Print messages debugging memory allocation. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\+\_\+\+ARITH}}~2
\begin{DoxyCompactList}\small\item\em Print messages debugging arithmetic operations. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_a3af1a0a61320e3e1e759a25bb0749f53}{DEBUG\+\_\+\+BIND}}~4
\begin{DoxyCompactList}\small\item\em Print messages debugging symbol binding. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_ac0ce29ed5d36c52427f526f0b1741cf8}{DEBUG\+\_\+\+BOOTSTRAP}}~8
\begin{DoxyCompactList}\small\item\em Print messages debugging bootstrapping and teardown. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_afac31e745564644b8a5c242dc195844c}{DEBUG\+\_\+\+EVAL}}~16
\begin{DoxyCompactList}\small\item\em Print messages debugging evaluation. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{DEBUG\+\_\+\+IO}}~32
\begin{DoxyCompactList}\small\item\em Print messages debugging input/output operations. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_a94213f6fb2a1a53eebc23649303ba404}{DEBUG\+\_\+\+LAMBDA}}~64
\begin{DoxyCompactList}\small\item\em Print messages debugging lambda functions (interpretation). \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_a9d33eefe5658ff19d53df47d625cc01b}{DEBUG\+\_\+\+REPL}}~128
\begin{DoxyCompactList}\small\item\em Print messages debugging the read eval print loop. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{debug_8h_a7f8cbac7da8fca71eec213ae075aa710}{DEBUG\+\_\+\+STACK}}~256
\begin{DoxyCompactList}\small\item\em Print messages debugging stack operations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{debug_8h_aa0ffa929ddbce890ce4f81264a211233}{debug\+\_\+dump\+\_\+object}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} pointer, int level)
\begin{DoxyCompactList}\small\item\em Like {\ttfamily dump\+\_\+object}, q.\+v., but protected by the verbosity mechanism. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{debug_8h_ad55e4f61e076944d705d98b5314c5181}{debug\+\_\+print}} (wchar\+\_\+t \texorpdfstring{$\ast$}{*}message, int level)
\begin{DoxyCompactList}\small\item\em print this debug {\ttfamily message} to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{debug_8h_a3f7cae7c87ec9a0a47c3eebb37f7d538}{debug\+\_\+print\+\_\+128bit}} (\+\_\+\+\_\+int128\+\_\+t n, int level)
\begin{DoxyCompactList}\small\item\em print a 128 bit integer value to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{debug_8h_ada2d4646201b5827137d0bf053fcac59}{debug\+\_\+print\+\_\+object}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} pointer, int level)
\begin{DoxyCompactList}\small\item\em print the object indicated by this {\ttfamily pointer} to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{debug_8h_aa335b357cde1ba7eb6e8a71955079aab}{debug\+\_\+printf}} (int level, wchar\+\_\+t \texorpdfstring{$\ast$}{*}format,...)
\begin{DoxyCompactList}\small\item\em {\ttfamily wprintf} adapted for the debug logging system. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{debug_8h_a9d5aa8671cb579261b2049c09aafa773}{debug\+\_\+println}} (int level)
\begin{DoxyCompactList}\small\item\em print a line feed to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{debug_8h_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}
\begin{DoxyCompactList}\small\item\em the controlling flags for {\ttfamily debug\+\_\+print}; set in {\ttfamily \doxylink{init_8c}{init.\+c}}, q.\+v. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{debug_8h_ab99ea81093661d24ffaaa4e85cb2387a}\label{debug_8h_ab99ea81093661d24ffaaa4e85cb2387a} 
\index{debug.h@{debug.h}!DEBUG\_ALLOC@{DEBUG\_ALLOC}}
\index{DEBUG\_ALLOC@{DEBUG\_ALLOC}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_ALLOC}{DEBUG\_ALLOC}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+ALLOC~1}



Print messages debugging memory allocation. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00021}{21}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}\label{debug_8h_a31067039d5f8f06bec3f2f94af168ed5} 
\index{debug.h@{debug.h}!DEBUG\_ARITH@{DEBUG\_ARITH}}
\index{DEBUG\_ARITH@{DEBUG\_ARITH}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_ARITH}{DEBUG\_ARITH}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+ARITH~2}



Print messages debugging arithmetic operations. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00028}{28}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_a3af1a0a61320e3e1e759a25bb0749f53}\label{debug_8h_a3af1a0a61320e3e1e759a25bb0749f53} 
\index{debug.h@{debug.h}!DEBUG\_BIND@{DEBUG\_BIND}}
\index{DEBUG\_BIND@{DEBUG\_BIND}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_BIND}{DEBUG\_BIND}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+BIND~4}



Print messages debugging symbol binding. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00035}{35}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_ac0ce29ed5d36c52427f526f0b1741cf8}\label{debug_8h_ac0ce29ed5d36c52427f526f0b1741cf8} 
\index{debug.h@{debug.h}!DEBUG\_BOOTSTRAP@{DEBUG\_BOOTSTRAP}}
\index{DEBUG\_BOOTSTRAP@{DEBUG\_BOOTSTRAP}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_BOOTSTRAP}{DEBUG\_BOOTSTRAP}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+BOOTSTRAP~8}



Print messages debugging bootstrapping and teardown. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00042}{42}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_afac31e745564644b8a5c242dc195844c}\label{debug_8h_afac31e745564644b8a5c242dc195844c} 
\index{debug.h@{debug.h}!DEBUG\_EVAL@{DEBUG\_EVAL}}
\index{DEBUG\_EVAL@{DEBUG\_EVAL}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_EVAL}{DEBUG\_EVAL}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+EVAL~16}



Print messages debugging evaluation. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00049}{49}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_aa1b2b9f2886a468441606f89913c0c59}\label{debug_8h_aa1b2b9f2886a468441606f89913c0c59} 
\index{debug.h@{debug.h}!DEBUG\_IO@{DEBUG\_IO}}
\index{DEBUG\_IO@{DEBUG\_IO}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_IO}{DEBUG\_IO}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+IO~32}



Print messages debugging input/output operations. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00056}{56}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_a94213f6fb2a1a53eebc23649303ba404}\label{debug_8h_a94213f6fb2a1a53eebc23649303ba404} 
\index{debug.h@{debug.h}!DEBUG\_LAMBDA@{DEBUG\_LAMBDA}}
\index{DEBUG\_LAMBDA@{DEBUG\_LAMBDA}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_LAMBDA}{DEBUG\_LAMBDA}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+LAMBDA~64}



Print messages debugging lambda functions (interpretation). 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00063}{63}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_a9d33eefe5658ff19d53df47d625cc01b}\label{debug_8h_a9d33eefe5658ff19d53df47d625cc01b} 
\index{debug.h@{debug.h}!DEBUG\_REPL@{DEBUG\_REPL}}
\index{DEBUG\_REPL@{DEBUG\_REPL}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_REPL}{DEBUG\_REPL}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+REPL~128}



Print messages debugging the read eval print loop. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00070}{70}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.

\Hypertarget{debug_8h_a7f8cbac7da8fca71eec213ae075aa710}\label{debug_8h_a7f8cbac7da8fca71eec213ae075aa710} 
\index{debug.h@{debug.h}!DEBUG\_STACK@{DEBUG\_STACK}}
\index{DEBUG\_STACK@{DEBUG\_STACK}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{DEBUG\_STACK}{DEBUG\_STACK}}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+STACK~256}



Print messages debugging stack operations. 

Flag interpretation for the value of {\ttfamily verbosity}, defined in {\ttfamily \doxylink{debug_8c}{debug.\+c}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8h_source_l00077}{77}} of file \mbox{\hyperlink{debug_8h_source}{debug.\+h}}.



\doxysubsection{Function Documentation}
\Hypertarget{debug_8h_aa0ffa929ddbce890ce4f81264a211233}\label{debug_8h_aa0ffa929ddbce890ce4f81264a211233} 
\index{debug.h@{debug.h}!debug\_dump\_object@{debug\_dump\_object}}
\index{debug\_dump\_object@{debug\_dump\_object}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_dump\_object()}{debug\_dump\_object()}}
{\footnotesize\ttfamily void debug\+\_\+dump\+\_\+object (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{pointer,  }\item[{int}]{level }\end{DoxyParamCaption})}



Like {\ttfamily dump\+\_\+object}, q.\+v., but protected by the verbosity mechanism. 

{\ttfamily verbosity} is a set of flags, see debug\+\_\+print.\+h; so you can turn debugging on for only one part of the system. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00136}{136}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{dump_8c_source_l00059}{dump\+\_\+object()}}, \mbox{\hyperlink{io_8c_source_l00134}{file\+\_\+to\+\_\+url\+\_\+file()}}, and \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{lispops_8c_source_l00194}{compose\+\_\+body()}}, \mbox{\hyperlink{conspage_8c_source_l00143}{free\+\_\+cell()}}, \mbox{\hyperlink{lispops_8c_source_l00564}{lisp\+\_\+apply()}}, \mbox{\hyperlink{lispops_8c_source_l01161}{lisp\+\_\+cond()}}, \mbox{\hyperlink{lispops_8c_source_l00504}{lisp\+\_\+eval()}}, \mbox{\hyperlink{lispops_8c_source_l01001}{lisp\+\_\+inspect()}}, \mbox{\hyperlink{lispops_8c_source_l01468}{lisp\+\_\+mapcar()}}, \mbox{\hyperlink{meta_8c_source_l00020}{lisp\+\_\+metadata()}}, \mbox{\hyperlink{lispops_8c_source_l01040}{lisp\+\_\+print()}}, \mbox{\hyperlink{lispops_8c_source_l00906}{lisp\+\_\+read()}}, \mbox{\hyperlink{io_8c_source_l00533}{lisp\+\_\+slurp()}}, \mbox{\hyperlink{lispops_8c_source_l00245}{log\+\_\+binding()}}, \mbox{\hyperlink{init_8c_source_l00206}{main()}}, \mbox{\hyperlink{stack_8c_source_l00075}{make\+\_\+empty\+\_\+frame()}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{stack_8c_source_l00183}{make\+\_\+special\+\_\+frame()}}, \mbox{\hyperlink{stack_8c_source_l00116}{make\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{vectorspace_8c_source_l00042}{make\+\_\+vec\+\_\+pointer()}}, \mbox{\hyperlink{vectorspace_8c_source_l00075}{make\+\_\+vso()}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{intern_8c_source_l00412}{set()}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, and \mbox{\hyperlink{peano_8c_source_l00041}{zerop()}}.

\Hypertarget{debug_8h_ad55e4f61e076944d705d98b5314c5181}\label{debug_8h_ad55e4f61e076944d705d98b5314c5181} 
\index{debug.h@{debug.h}!debug\_print@{debug\_print}}
\index{debug\_print@{debug\_print}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_print()}{debug\_print()}}
{\footnotesize\ttfamily void debug\+\_\+print (\begin{DoxyParamCaption}\item[{wchar\+\_\+t \texorpdfstring{$\ast$}{*}}]{message,  }\item[{int}]{level }\end{DoxyParamCaption})}



print this debug {\ttfamily message} to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. 

{\ttfamily verbosity} is a set of flags, see debug\+\_\+print.\+h; so you can turn debugging on for only one part of the system. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00041}{41}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{integer_8c_source_l00129}{acquire\+\_\+integer()}}, \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{ratio_8c_source_l00137}{add\+\_\+integer\+\_\+ratio()}}, \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{ratio_8c_source_l00093}{add\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{lispops_8c_source_l00340}{c\+\_\+apply()}}, \mbox{\hyperlink{intern_8c_source_l00327}{c\+\_\+assoc()}}, \mbox{\hyperlink{ratio_8c_source_l00379}{c\+\_\+ratio\+\_\+to\+\_\+ld()}}, \mbox{\hyperlink{lispops_8c_source_l00194}{compose\+\_\+body()}}, \mbox{\hyperlink{intern_8c_source_l00447}{deep\+\_\+bind()}}, \mbox{\hyperlink{ratio_8c_source_l00176}{divide\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{equal_8c_source_l00247}{equal()}}, \mbox{\hyperlink{equal_8c_source_l00120}{equal\+\_\+integer\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00087}{equal\+\_\+integer\+\_\+real()}}, \mbox{\hyperlink{equal_8c_source_l00195}{equal\+\_\+number\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00155}{equal\+\_\+real\+\_\+number()}}, \mbox{\hyperlink{lispops_8c_source_l00064}{eval\+\_\+form()}}, \mbox{\hyperlink{lispops_8c_source_l00256}{eval\+\_\+lambda()}}, \mbox{\hyperlink{stack_8c_source_l00224}{free\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{stack_8c_source_l00053}{get\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}, \mbox{\hyperlink{intern_8c_source_l00281}{internedp()}}, \mbox{\hyperlink{lispops_8c_source_l00564}{lisp\+\_\+apply()}}, \mbox{\hyperlink{lispops_8c_source_l01161}{lisp\+\_\+cond()}}, \mbox{\hyperlink{lispops_8c_source_l00504}{lisp\+\_\+eval()}}, \mbox{\hyperlink{lispops_8c_source_l01001}{lisp\+\_\+inspect()}}, \mbox{\hyperlink{lispops_8c_source_l01468}{lisp\+\_\+mapcar()}}, \mbox{\hyperlink{meta_8c_source_l00020}{lisp\+\_\+metadata()}}, \mbox{\hyperlink{peano_8c_source_l00453}{lisp\+\_\+multiply()}}, \mbox{\hyperlink{lispops_8c_source_l01040}{lisp\+\_\+print()}}, \mbox{\hyperlink{peano_8c_source_l00755}{lisp\+\_\+ratio\+\_\+to\+\_\+real()}}, \mbox{\hyperlink{lispops_8c_source_l00906}{lisp\+\_\+read()}}, \mbox{\hyperlink{lispops_8c_source_l01263}{lisp\+\_\+repl()}}, \mbox{\hyperlink{io_8c_source_l00533}{lisp\+\_\+slurp()}}, \mbox{\hyperlink{io_8c_source_l00095}{lisp\+\_\+string\+\_\+to\+\_\+c\+\_\+string()}}, \mbox{\hyperlink{lispops_8c_source_l00245}{log\+\_\+binding()}}, \mbox{\hyperlink{init_8c_source_l00206}{main()}}, \mbox{\hyperlink{stack_8c_source_l00075}{make\+\_\+empty\+\_\+frame()}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{stack_8c_source_l00183}{make\+\_\+special\+\_\+frame()}}, \mbox{\hyperlink{stack_8c_source_l00116}{make\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{vectorspace_8c_source_l00042}{make\+\_\+vec\+\_\+pointer()}}, \mbox{\hyperlink{vectorspace_8c_source_l00075}{make\+\_\+vso()}}, \mbox{\hyperlink{peano_8c_source_l00349}{multiply\+\_\+2()}}, \mbox{\hyperlink{ratio_8c_source_l00254}{multiply\+\_\+integer\+\_\+ratio()}}, \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}, \mbox{\hyperlink{ratio_8c_source_l00203}{multiply\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{repl_8c_source_l00033}{repl()}}, \mbox{\hyperlink{intern_8c_source_l00412}{set()}}, \mbox{\hyperlink{ratio_8c_source_l00290}{subtract\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}, \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}, and \mbox{\hyperlink{peano_8c_source_l00041}{zerop()}}.

\Hypertarget{debug_8h_a3f7cae7c87ec9a0a47c3eebb37f7d538}\label{debug_8h_a3f7cae7c87ec9a0a47c3eebb37f7d538} 
\index{debug.h@{debug.h}!debug\_print\_128bit@{debug\_print\_128bit}}
\index{debug\_print\_128bit@{debug\_print\_128bit}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_print\_128bit()}{debug\_print\_128bit()}}
{\footnotesize\ttfamily void debug\+\_\+print\+\_\+128bit (\begin{DoxyParamCaption}\item[{\+\_\+\+\_\+int128\+\_\+t}]{n,  }\item[{int}]{level }\end{DoxyParamCaption})}



print a 128 bit integer value to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. 

{\ttfamily verbosity} is a set of flags, see debug\+\_\+print.\+h; so you can turn debugging on for only one part of the system.

stolen from \href{https://stackoverflow.com/questions/11656241/how-to-print-uint128-t-number-using-gcc}{\texttt{ https\+://stackoverflow.\+com/questions/11656241/how-\/to-\/print-\/uint128-\/t-\/number-\/using-\/gcc}} 

Definition at line \mbox{\hyperlink{debug_8c_source_l00058}{58}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{integer_8c_source_l00065}{cell\+\_\+value()}}, and \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}.

\Hypertarget{debug_8h_ada2d4646201b5827137d0bf053fcac59}\label{debug_8h_ada2d4646201b5827137d0bf053fcac59} 
\index{debug.h@{debug.h}!debug\_print\_object@{debug\_print\_object}}
\index{debug\_print\_object@{debug\_print\_object}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_print\_object()}{debug\_print\_object()}}
{\footnotesize\ttfamily void debug\+\_\+print\+\_\+object (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{pointer,  }\item[{int}]{level }\end{DoxyParamCaption})}



print the object indicated by this {\ttfamily pointer} to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. 

{\ttfamily verbosity} is a set of flags, see debug\+\_\+print.\+h; so you can turn debugging on for only one part of the system. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00119}{119}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{io_8c_source_l00134}{file\+\_\+to\+\_\+url\+\_\+file()}}, \mbox{\hyperlink{print_8c_source_l00151}{print()}}, and \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{ratio_8c_source_l00137}{add\+\_\+integer\+\_\+ratio()}}, \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{ratio_8c_source_l00093}{add\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{lispops_8c_source_l00340}{c\+\_\+apply()}}, \mbox{\hyperlink{intern_8c_source_l00327}{c\+\_\+assoc()}}, \mbox{\hyperlink{ratio_8c_source_l00379}{c\+\_\+ratio\+\_\+to\+\_\+ld()}}, \mbox{\hyperlink{intern_8c_source_l00447}{deep\+\_\+bind()}}, \mbox{\hyperlink{ratio_8c_source_l00176}{divide\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{equal_8c_source_l00247}{equal()}}, \mbox{\hyperlink{equal_8c_source_l00120}{equal\+\_\+integer\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00087}{equal\+\_\+integer\+\_\+real()}}, \mbox{\hyperlink{equal_8c_source_l00195}{equal\+\_\+number\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00155}{equal\+\_\+real\+\_\+number()}}, \mbox{\hyperlink{lispops_8c_source_l00064}{eval\+\_\+form()}}, \mbox{\hyperlink{lispops_8c_source_l00256}{eval\+\_\+lambda()}}, \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}, \mbox{\hyperlink{integer_8c_source_l00420}{integer\+\_\+to\+\_\+string\+\_\+add\+\_\+digit()}}, \mbox{\hyperlink{intern_8c_source_l00281}{internedp()}}, \mbox{\hyperlink{lispops_8c_source_l01468}{lisp\+\_\+mapcar()}}, \mbox{\hyperlink{peano_8c_source_l00453}{lisp\+\_\+multiply()}}, \mbox{\hyperlink{peano_8c_source_l00755}{lisp\+\_\+ratio\+\_\+to\+\_\+real()}}, \mbox{\hyperlink{lispops_8c_source_l01263}{lisp\+\_\+repl()}}, \mbox{\hyperlink{io_8c_source_l00095}{lisp\+\_\+string\+\_\+to\+\_\+c\+\_\+string()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{stack_8c_source_l00116}{make\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{peano_8c_source_l00349}{multiply\+\_\+2()}}, \mbox{\hyperlink{ratio_8c_source_l00254}{multiply\+\_\+integer\+\_\+ratio()}}, \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}, \mbox{\hyperlink{ratio_8c_source_l00203}{multiply\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{intern_8c_source_l00412}{set()}}, \mbox{\hyperlink{stack_8c_source_l00033}{set\+\_\+reg()}}, \mbox{\hyperlink{ratio_8c_source_l00290}{subtract\+\_\+ratio\+\_\+ratio()}}, and \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}.

\Hypertarget{debug_8h_aa335b357cde1ba7eb6e8a71955079aab}\label{debug_8h_aa335b357cde1ba7eb6e8a71955079aab} 
\index{debug.h@{debug.h}!debug\_printf@{debug\_printf}}
\index{debug\_printf@{debug\_printf}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_printf()}{debug\_printf()}}
{\footnotesize\ttfamily void debug\+\_\+printf (\begin{DoxyParamCaption}\item[{int}]{level,  }\item[{wchar\+\_\+t \texorpdfstring{$\ast$}{*}}]{format,  }\item[{}]{... }\end{DoxyParamCaption})}



{\ttfamily wprintf} adapted for the debug logging system. 

Print to stderr only if {\ttfamily verbosity} matches {\ttfamily level}. All other arguments as for {\ttfamily wprintf}. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00101}{101}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{integer_8c_source_l00129}{acquire\+\_\+integer()}}, \mbox{\hyperlink{conspage_8c_source_l00222}{allocate\+\_\+cell()}}, \mbox{\hyperlink{integer_8c_source_l00288}{base\+\_\+partial()}}, \mbox{\hyperlink{ratio_8c_source_l00379}{c\+\_\+ratio\+\_\+to\+\_\+ld()}}, \mbox{\hyperlink{integer_8c_source_l00065}{cell\+\_\+value()}}, \mbox{\hyperlink{equal_8c_source_l00247}{equal()}}, \mbox{\hyperlink{equal_8c_source_l00120}{equal\+\_\+integer\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00087}{equal\+\_\+integer\+\_\+real()}}, \mbox{\hyperlink{equal_8c_source_l00061}{equal\+\_\+ld\+\_\+ld()}}, \mbox{\hyperlink{equal_8c_source_l00195}{equal\+\_\+number\+\_\+number()}}, \mbox{\hyperlink{equal_8c_source_l00155}{equal\+\_\+real\+\_\+number()}}, \mbox{\hyperlink{conspage_8c_source_l00143}{free\+\_\+cell()}}, \mbox{\hyperlink{intern_8c_source_l00110}{free\+\_\+hashmap()}}, \mbox{\hyperlink{vectorspace_8c_source_l00123}{free\+\_\+vso()}}, \mbox{\hyperlink{stack_8c_source_l00053}{get\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{conspage_8c_source_l00257}{initialise\+\_\+cons\+\_\+pages()}}, \mbox{\hyperlink{integer_8c_source_l00193}{int128\+\_\+to\+\_\+integer()}}, \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}, \mbox{\hyperlink{integer_8c_source_l00420}{integer\+\_\+to\+\_\+string\+\_\+add\+\_\+digit()}}, \mbox{\hyperlink{lispops_8c_source_l01468}{lisp\+\_\+mapcar()}}, \mbox{\hyperlink{io_8c_source_l00437}{lisp\+\_\+open()}}, \mbox{\hyperlink{lispops_8c_source_l01263}{lisp\+\_\+repl()}}, \mbox{\hyperlink{io_8c_source_l00095}{lisp\+\_\+string\+\_\+to\+\_\+c\+\_\+string()}}, \mbox{\hyperlink{conspage_8c_source_l00061}{make\+\_\+cons\+\_\+page()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{stack_8c_source_l00116}{make\+\_\+stack\+\_\+frame()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00308}{make\+\_\+string\+\_\+like\+\_\+thing()}}, \mbox{\hyperlink{vectorspace_8c_source_l00042}{make\+\_\+vec\+\_\+pointer()}}, \mbox{\hyperlink{vectorspace_8c_source_l00075}{make\+\_\+vso()}}, \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}, \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{integer_8c_source_l00163}{release\+\_\+integer()}}, \mbox{\hyperlink{intern_8c_source_l00412}{set()}}, \mbox{\hyperlink{stack_8c_source_l00033}{set\+\_\+reg()}}, \mbox{\hyperlink{ratio_8c_source_l00048}{simplify\+\_\+ratio()}}, \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}, and \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}.

\Hypertarget{debug_8h_a9d5aa8671cb579261b2049c09aafa773}\label{debug_8h_a9d5aa8671cb579261b2049c09aafa773} 
\index{debug.h@{debug.h}!debug\_println@{debug\_println}}
\index{debug\_println@{debug\_println}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{debug\_println()}{debug\_println()}}
{\footnotesize\ttfamily void debug\+\_\+println (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})}



print a line feed to stderr, if {\ttfamily verbosity} matches {\ttfamily level}. 

{\ttfamily verbosity} is a set of flags, see debug\+\_\+print.\+h; so you can turn debugging on for only one part of the system. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00085}{85}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



References \mbox{\hyperlink{debug_8c_source_l00033}{verbosity}}.



Referenced by \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{lispops_8c_source_l00340}{c\+\_\+apply()}}, \mbox{\hyperlink{intern_8c_source_l00327}{c\+\_\+assoc()}}, \mbox{\hyperlink{integer_8c_source_l00065}{cell\+\_\+value()}}, \mbox{\hyperlink{intern_8c_source_l00447}{deep\+\_\+bind()}}, \mbox{\hyperlink{lispops_8c_source_l00064}{eval\+\_\+form()}}, \mbox{\hyperlink{lispops_8c_source_l00256}{eval\+\_\+lambda()}}, \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}, \mbox{\hyperlink{integer_8c_source_l00420}{integer\+\_\+to\+\_\+string\+\_\+add\+\_\+digit()}}, \mbox{\hyperlink{lispops_8c_source_l01468}{lisp\+\_\+mapcar()}}, \mbox{\hyperlink{peano_8c_source_l00453}{lisp\+\_\+multiply()}}, \mbox{\hyperlink{lispops_8c_source_l01263}{lisp\+\_\+repl()}}, \mbox{\hyperlink{io_8c_source_l00533}{lisp\+\_\+slurp()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}, \mbox{\hyperlink{intern_8c_source_l00412}{set()}}, and \mbox{\hyperlink{stack_8c_source_l00033}{set\+\_\+reg()}}.



\doxysubsection{Variable Documentation}
\Hypertarget{debug_8h_a1bdcfae3209cbd96db35a2ae356fa15e}\label{debug_8h_a1bdcfae3209cbd96db35a2ae356fa15e} 
\index{debug.h@{debug.h}!verbosity@{verbosity}}
\index{verbosity@{verbosity}!debug.h@{debug.h}}
\doxysubsubsection{\texorpdfstring{verbosity}{verbosity}}
{\footnotesize\ttfamily int verbosity\hspace{0.3cm}{\ttfamily [extern]}}



the controlling flags for {\ttfamily debug\+\_\+print}; set in {\ttfamily \doxylink{init_8c}{init.\+c}}, q.\+v. 

Interpreted as a set o binary flags. The values are controlled by macros with names \textquotesingle{}DEBUG\+\_\+\mbox{[}A\+\_\+Z\mbox{]}\texorpdfstring{$\ast$}{*}\textquotesingle{} in {\ttfamily \doxylink{debug_8h}{debug.\+h}}, q.\+v. 

Definition at line \mbox{\hyperlink{debug_8c_source_l00033}{33}} of file \mbox{\hyperlink{debug_8c_source}{debug.\+c}}.



Referenced by \mbox{\hyperlink{debug_8c_source_l00136}{debug\+\_\+dump\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00058}{debug\+\_\+print\+\_\+128bit()}}, \mbox{\hyperlink{debug_8c_source_l00119}{debug\+\_\+print\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00101}{debug\+\_\+printf()}}, \mbox{\hyperlink{debug_8c_source_l00085}{debug\+\_\+println()}}, and \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

