\doxysection{workspace/post-\/scarcity/src/arith/peano.h File Reference}
\hypertarget{peano_8h}{}\label{peano_8h}\index{workspace/post-\/scarcity/src/arith/peano.h@{workspace/post-\/scarcity/src/arith/peano.h}}
{\ttfamily \#include "{}memory/consspaceobject.\+h"{}}\newline
Include dependency graph for peano.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{peano_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]{peano_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{peano_8h_ae4eb2d741f133542824727acb617b027}{INT\+\_\+\+CELL\+\_\+\+BASE}}~((\+\_\+\+\_\+int128\+\_\+t)\mbox{\hyperlink{peano_8h_a1d7315d4ead5ca96f165f5f309220e5b}{MAX\+\_\+\+INTEGER}} + 1)
\item 
\#define \mbox{\hyperlink{peano_8h_affebeb503d1bd3d7aaa35b44668a34b6}{INTEGER\+\_\+\+BIT\+\_\+\+SHIFT}}~(60)
\begin{DoxyCompactList}\small\item\em Number of value bits in an integer cell. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{peano_8h_a1d7315d4ead5ca96f165f5f309220e5b}{MAX\+\_\+\+INTEGER}}~((\+\_\+\+\_\+int128\+\_\+t)0x0fffffffffffffffL)
\begin{DoxyCompactList}\small\item\em The maximum value we will allow in an integer cell\+: one less than 2\texorpdfstring{$^\wedge$}{\string^}60\+: (let ((s (make-\/string-\/output-\/stream))) (format s "{}0x0\texorpdfstring{$\sim$}{\string~}\+XL"{} (-\/ (expt 2 60) 1)) (string-\/downcase (get-\/output-\/stream-\/string s))) "{}0x0fffffffffffffffl"{}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_a2bdf13db14973c9ad70e6e95313b27ad}{absolute}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\item 
bool \mbox{\hyperlink{peano_8h_a55136259512dc90fc104a2670505f172}{is\+\_\+negative}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em does this {\ttfamily arg} point to a negative number? \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_a15e9658945908b10ad1af9a3d3f39df4}{lisp\+\_\+absolute}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Function\+: calculate the absolute value of a number. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_acd39b881664912e10260d4cbabece7e6}{lisp\+\_\+add}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Add an indefinite number of numbers together. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_ab582e06c65cc44e9d3acdc264cf9ca8f}{lisp\+\_\+divide}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Divide one number by another. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_a690b85053e51efeb8543eec37c231d3a}{lisp\+\_\+is\+\_\+negative}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Function\+: is this number negative? \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_ac810209ae8dc6f873611fa97d8e6e8cf}{lisp\+\_\+multiply}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Multiply an indefinite number of numbers together. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_a660689501f2a386b1434e4322b189804}{lisp\+\_\+ratio\+\_\+to\+\_\+real}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Function\+: return a real (approcimately) equal in value to the ratio which is the first argument. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_aa9936243c68951d23dfda5b55ad1ea57}{lisp\+\_\+subtract}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env)
\begin{DoxyCompactList}\small\item\em Subtract one number from another. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_a471edde763902818d541e02cb9d83b60}{negative}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} indicating a number which is the 0 -\/ the number indicated by {\ttfamily arg}. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{peano_8h_ada1a2eed62b49481aad0121f3a88e484}{subtract\+\_\+2}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg1, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg2)
\begin{DoxyCompactList}\small\item\em return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} indicating a number which is the result of subtracting the number indicated by {\ttfamily arg2} from that indicated by {\ttfamily arg1}, in the context of this {\ttfamily frame}. \end{DoxyCompactList}\item 
long double \mbox{\hyperlink{peano_8h_ac3f5af65c887eed123b7be986ae92766}{to\+\_\+long\+\_\+double}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em Return the closest possible {\ttfamily binary64} representation to the value of this {\ttfamily arg}, expected to be an integer, ratio or real, or {\ttfamily NAN} if {\ttfamily arg} is not any of these. \end{DoxyCompactList}\item 
int64\+\_\+t \mbox{\hyperlink{peano_8h_aff092cc8ce6153b70eddb7ed82238034}{to\+\_\+long\+\_\+int}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em Return the closest possible {\ttfamily int64\+\_\+t} representation to the value of this {\ttfamily arg}, expected to be an integer, ratio or real, or {\ttfamily NAN} if {\ttfamily arg} is not any of these. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{peano_8h_af8dcf18e0b388a11b07727063f989b9c}{zerop}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em return true if this {\ttfamily arg} points to a number whose value is zero. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{peano_8h_ae4eb2d741f133542824727acb617b027}\label{peano_8h_ae4eb2d741f133542824727acb617b027} 
\index{peano.h@{peano.h}!INT\_CELL\_BASE@{INT\_CELL\_BASE}}
\index{INT\_CELL\_BASE@{INT\_CELL\_BASE}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{INT\_CELL\_BASE}{INT\_CELL\_BASE}}
{\footnotesize\ttfamily \#define INT\+\_\+\+CELL\+\_\+\+BASE~((\+\_\+\+\_\+int128\+\_\+t)\mbox{\hyperlink{peano_8h_a1d7315d4ead5ca96f165f5f309220e5b}{MAX\+\_\+\+INTEGER}} + 1)}



Definition at line \mbox{\hyperlink{peano_8h_source_l00026}{26}} of file \mbox{\hyperlink{peano_8h_source}{peano.\+h}}.

\Hypertarget{peano_8h_affebeb503d1bd3d7aaa35b44668a34b6}\label{peano_8h_affebeb503d1bd3d7aaa35b44668a34b6} 
\index{peano.h@{peano.h}!INTEGER\_BIT\_SHIFT@{INTEGER\_BIT\_SHIFT}}
\index{INTEGER\_BIT\_SHIFT@{INTEGER\_BIT\_SHIFT}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{INTEGER\_BIT\_SHIFT}{INTEGER\_BIT\_SHIFT}}
{\footnotesize\ttfamily \#define INTEGER\+\_\+\+BIT\+\_\+\+SHIFT~(60)}



Number of value bits in an integer cell. 



Definition at line \mbox{\hyperlink{peano_8h_source_l00032}{32}} of file \mbox{\hyperlink{peano_8h_source}{peano.\+h}}.

\Hypertarget{peano_8h_a1d7315d4ead5ca96f165f5f309220e5b}\label{peano_8h_a1d7315d4ead5ca96f165f5f309220e5b} 
\index{peano.h@{peano.h}!MAX\_INTEGER@{MAX\_INTEGER}}
\index{MAX\_INTEGER@{MAX\_INTEGER}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{MAX\_INTEGER}{MAX\_INTEGER}}
{\footnotesize\ttfamily \#define MAX\+\_\+\+INTEGER~((\+\_\+\+\_\+int128\+\_\+t)0x0fffffffffffffffL)}



The maximum value we will allow in an integer cell\+: one less than 2\texorpdfstring{$^\wedge$}{\string^}60\+: (let ((s (make-\/string-\/output-\/stream))) (format s "{}0x0\texorpdfstring{$\sim$}{\string~}\+XL"{} (-\/ (expt 2 60) 1)) (string-\/downcase (get-\/output-\/stream-\/string s))) "{}0x0fffffffffffffffl"{}. 

So left shifting and right shifting by 60 bits is correct. 

Definition at line \mbox{\hyperlink{peano_8h_source_l00025}{25}} of file \mbox{\hyperlink{peano_8h_source}{peano.\+h}}.



\doxysubsection{Function Documentation}
\Hypertarget{peano_8h_a2bdf13db14973c9ad70e6e95313b27ad}\label{peano_8h_a2bdf13db14973c9ad70e6e95313b27ad} 
\index{peano.h@{peano.h}!absolute@{absolute}}
\index{absolute@{absolute}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{absolute()}{absolute()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} absolute (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{peano_8c_source_l00089}{89}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{peano_8c_source_l00089}{absolute()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{peano_8c_source_l00070}{is\+\_\+negative()}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, and \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00089}{absolute()}}, and \mbox{\hyperlink{peano_8c_source_l00207}{lisp\+\_\+absolute()}}.

\Hypertarget{peano_8h_a55136259512dc90fc104a2670505f172}\label{peano_8h_a55136259512dc90fc104a2670505f172} 
\index{peano.h@{peano.h}!is\_negative@{is\_negative}}
\index{is\_negative@{is\_negative}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{is\_negative()}{is\_negative()}}
{\footnotesize\ttfamily bool is\+\_\+negative (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



does this {\ttfamily arg} point to a negative number? 



Definition at line \mbox{\hyperlink{peano_8c_source_l00070}{70}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{peano_8c_source_l00070}{is\+\_\+negative()}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, and \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00089}{absolute()}}, \mbox{\hyperlink{integer_8c_source_l00454}{integer\+\_\+to\+\_\+string()}}, \mbox{\hyperlink{peano_8c_source_l00070}{is\+\_\+negative()}}, \mbox{\hyperlink{peano_8c_source_l00531}{lisp\+\_\+is\+\_\+negative()}}, and \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}.

\Hypertarget{peano_8h_a15e9658945908b10ad1af9a3d3f39df4}\label{peano_8h_a15e9658945908b10ad1af9a3d3f39df4} 
\index{peano.h@{peano.h}!lisp\_absolute@{lisp\_absolute}}
\index{lisp\_absolute@{lisp\_absolute}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_absolute()}{lisp\_absolute()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+absolute (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Function\+: calculate the absolute value of a number. 

(absolute arg)


\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the absolute value of the number represented by the first argument, or NIL if it was not a number. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{peano_8c_source_l00207}{207}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{peano_8c_source_l00089}{absolute()}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_acd39b881664912e10260d4cbabece7e6}\label{peano_8h_acd39b881664912e10260d4cbabece7e6} 
\index{peano.h@{peano.h}!lisp\_add@{lisp\_add}}
\index{lisp\_add@{lisp\_add}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_add()}{lisp\_add()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+add (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Add an indefinite number of numbers together. 


\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to an integer, ratio or real. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em if} & any argument is not a number, returns an exception. \\
\hline
\end{DoxyExceptions}


Definition at line \mbox{\hyperlink{peano_8c_source_l00314}{314}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00425}{args\+\_\+in\+\_\+frame}}, \mbox{\hyperlink{consspaceobject_8c_source_l00125}{c\+\_\+car()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00139}{c\+\_\+cdr()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00308}{consp}}, \mbox{\hyperlink{consspaceobject_8c_source_l00080}{dec\+\_\+ref()}}, \mbox{\hyperlink{equal_8c_source_l00024}{eq()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00313}{exceptionp}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00303}{nilp}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_ab582e06c65cc44e9d3acdc264cf9ca8f}\label{peano_8h_ab582e06c65cc44e9d3acdc264cf9ca8f} 
\index{peano.h@{peano.h}!lisp\_divide@{lisp\_divide}}
\index{lisp\_divide@{lisp\_divide}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_divide()}{lisp\_divide()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+divide (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Divide one number by another. 

If more than two arguments are passed in the frame, the additional arguments are ignored. 
\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to an integer or real. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em if} & either argument is not a number, returns an exception. \\
\hline
\end{DoxyExceptions}


Definition at line \mbox{\hyperlink{peano_8c_source_l00655}{655}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{consspaceobject_8c_source_l00454}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+string()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00080}{dec\+\_\+ref()}}, \mbox{\hyperlink{ratio_8c_source_l00176}{divide\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00313}{exceptionp}}, \mbox{\hyperlink{consspaceobject_8h_source_l00057}{EXCEPTIONTV}}, \mbox{\hyperlink{consspaceobject_8c_source_l00062}{inc\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, and \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_a690b85053e51efeb8543eec37c231d3a}\label{peano_8h_a690b85053e51efeb8543eec37c231d3a} 
\index{peano.h@{peano.h}!lisp\_is\_negative@{lisp\_is\_negative}}
\index{lisp\_is\_negative@{lisp\_is\_negative}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_is\_negative()}{lisp\_is\_negative()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+is\+\_\+negative (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Function\+: is this number negative? 


\begin{DoxyItemize}
\item (negative? arg)
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T if the first argument was a negative number, or NIL if it was not. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{peano_8c_source_l00531}{531}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{peano_8c_source_l00070}{is\+\_\+negative()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00282}{TRUE}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_ac810209ae8dc6f873611fa97d8e6e8cf}\label{peano_8h_ac810209ae8dc6f873611fa97d8e6e8cf} 
\index{peano.h@{peano.h}!lisp\_multiply@{lisp\_multiply}}
\index{lisp\_multiply@{lisp\_multiply}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_multiply()}{lisp\_multiply()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+multiply (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Multiply an indefinite number of numbers together. 


\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to an integer, ratio or real. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em if} & any argument is not a number, returns an exception. \\
\hline
\end{DoxyExceptions}


Definition at line \mbox{\hyperlink{peano_8c_source_l00453}{453}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{consspaceobject_8h_source_l00425}{args\+\_\+in\+\_\+frame}}, \mbox{\hyperlink{consspaceobject_8c_source_l00125}{c\+\_\+car()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00139}{c\+\_\+cdr()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00308}{consp}}, \mbox{\hyperlink{debug_8h_source_l00028}{DEBUG\+\_\+\+ARITH}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00119}{debug\+\_\+print\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00085}{debug\+\_\+println()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00313}{exceptionp}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{peano_8c_source_l00444}{multiply\+\_\+one\+\_\+arg}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00303}{nilp}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_a660689501f2a386b1434e4322b189804}\label{peano_8h_a660689501f2a386b1434e4322b189804} 
\index{peano.h@{peano.h}!lisp\_ratio\_to\_real@{lisp\_ratio\_to\_real}}
\index{lisp\_ratio\_to\_real@{lisp\_ratio\_to\_real}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_ratio\_to\_real()}{lisp\_ratio\_to\_real()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+ratio\+\_\+to\+\_\+real (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Function\+: return a real (approcimately) equal in value to the ratio which is the first argument. 


\begin{DoxyParams}{Parameters}
{\em frame} & \\
\hline
{\em frame\+\_\+pointer} & \\
\hline
{\em env} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
struct \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} a pointer to a real 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{peano_8c_source_l00755}{755}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{ratio_8c_source_l00379}{c\+\_\+ratio\+\_\+to\+\_\+ld()}}, \mbox{\hyperlink{debug_8h_source_l00028}{DEBUG\+\_\+\+ARITH}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00119}{debug\+\_\+print\+\_\+object()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00358}{ratiop}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_aa9936243c68951d23dfda5b55ad1ea57}\label{peano_8h_aa9936243c68951d23dfda5b55ad1ea57} 
\index{peano.h@{peano.h}!lisp\_subtract@{lisp\_subtract}}
\index{lisp\_subtract@{lisp\_subtract}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{lisp\_subtract()}{lisp\_subtract()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} lisp\+\_\+subtract (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env }\end{DoxyParamCaption})}



Subtract one number from another. 

If more than two arguments are passed in the frame, the additional arguments are ignored. 
\begin{DoxyParams}{Parameters}
{\em env} & the evaluation environment -\/ ignored; \\
\hline
{\em frame} & the stack frame. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to an integer, ratio or real. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em if} & either argument is not a number, returns an exception. \\
\hline
\end{DoxyExceptions}


Definition at line \mbox{\hyperlink{peano_8c_source_l00640}{640}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{peano_8c_source_l00544}{subtract\+\_\+2()}}.



Referenced by \mbox{\hyperlink{init_8c_source_l00206}{main()}}.

\Hypertarget{peano_8h_a471edde763902818d541e02cb9d83b60}\label{peano_8h_a471edde763902818d541e02cb9d83b60} 
\index{peano.h@{peano.h}!negative@{negative}}
\index{negative@{negative}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{negative()}{negative()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} negative (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} indicating a number which is the 0 -\/ the number indicated by {\ttfamily arg}. 



Definition at line \mbox{\hyperlink{peano_8c_source_l00489}{489}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{consspaceobject_8h_source_l00057}{EXCEPTIONTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{peano_8c_source_l00489}{negative()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00157}{NILTV}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}, \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00282}{TRUE}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00252}{TRUETV}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00489}{negative()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{peano_8c_source_l00544}{subtract\+\_\+2()}}, and \mbox{\hyperlink{ratio_8c_source_l00290}{subtract\+\_\+ratio\+\_\+ratio()}}.

\Hypertarget{peano_8h_ada1a2eed62b49481aad0121f3a88e484}\label{peano_8h_ada1a2eed62b49481aad0121f3a88e484} 
\index{peano.h@{peano.h}!subtract\_2@{subtract\_2}}
\index{subtract\_2@{subtract\_2}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{subtract\_2()}{subtract\_2()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} subtract\+\_\+2 (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg1,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg2 }\end{DoxyParamCaption})}



return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} indicating a number which is the result of subtracting the number indicated by {\ttfamily arg2} from that indicated by {\ttfamily arg1}, in the context of this {\ttfamily frame}. 



Definition at line \mbox{\hyperlink{peano_8c_source_l00544}{544}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00454}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+string()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00080}{dec\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00313}{exceptionp}}, \mbox{\hyperlink{consspaceobject_8h_source_l00057}{EXCEPTIONTV}}, \mbox{\hyperlink{consspaceobject_8c_source_l00062}{inc\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{integer_8c_source_l00089}{make\+\_\+integer()}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{peano_8c_source_l00489}{negative()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{ratio_8c_source_l00290}{subtract\+\_\+ratio\+\_\+ratio()}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, and \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00640}{lisp\+\_\+subtract()}}.

\Hypertarget{peano_8h_ac3f5af65c887eed123b7be986ae92766}\label{peano_8h_ac3f5af65c887eed123b7be986ae92766} 
\index{peano.h@{peano.h}!to\_long\_double@{to\_long\_double}}
\index{to\_long\_double@{to\_long\_double}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{to\_long\_double()}{to\_long\_double()}}
{\footnotesize\ttfamily long double to\+\_\+long\+\_\+double (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



Return the closest possible {\ttfamily binary64} representation to the value of this {\ttfamily arg}, expected to be an integer, ratio or real, or {\ttfamily NAN} if {\ttfamily arg} is not any of these. 

\begin{DoxyItemize}
\item a pointer to an integer, ratio or real.\end{DoxyItemize}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000001}{Todo}}]cannot throw an exception out of here, which is a problem if a ratio may legally have zero as a divisor, or something which is not a number is passed in. \end{DoxyRefDesc}


Definition at line \mbox{\hyperlink{peano_8c_source_l00124}{124}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{debug_8h_source_l00028}{DEBUG\+\_\+\+ARITH}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00119}{debug\+\_\+print\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00101}{debug\+\_\+printf()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}, and \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{equal_8c_source_l00247}{equal()}}, \mbox{\hyperlink{peano_8c_source_l00655}{lisp\+\_\+divide()}}, \mbox{\hyperlink{peano_8c_source_l00349}{multiply\+\_\+2()}}, \mbox{\hyperlink{peano_8c_source_l00489}{negative()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{peano_8c_source_l00544}{subtract\+\_\+2()}}, \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}, and \mbox{\hyperlink{peano_8c_source_l00176}{to\+\_\+long\+\_\+int()}}.

\Hypertarget{peano_8h_aff092cc8ce6153b70eddb7ed82238034}\label{peano_8h_aff092cc8ce6153b70eddb7ed82238034} 
\index{peano.h@{peano.h}!to\_long\_int@{to\_long\_int}}
\index{to\_long\_int@{to\_long\_int}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{to\_long\_int()}{to\_long\_int()}}
{\footnotesize\ttfamily int64\+\_\+t to\+\_\+long\+\_\+int (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



Return the closest possible {\ttfamily int64\+\_\+t} representation to the value of this {\ttfamily arg}, expected to be an integer, ratio or real, or {\ttfamily NAN} if {\ttfamily arg} is not any of these. 

\begin{DoxyItemize}
\item a pointer to an integer, ratio or real.\end{DoxyItemize}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000002}{Todo}}]cannot throw an exception out of here, which is a problem if a ratio may legally have zero as a divisor, or something which is not a number (or is a big number) is passed in. \end{DoxyRefDesc}


Definition at line \mbox{\hyperlink{peano_8c_source_l00176}{176}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}, and \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}.



Referenced by \mbox{\hyperlink{hashmap_8c_source_l00039}{lisp\+\_\+make\+\_\+hashmap()}}.

\Hypertarget{peano_8h_af8dcf18e0b388a11b07727063f989b9c}\label{peano_8h_af8dcf18e0b388a11b07727063f989b9c} 
\index{peano.h@{peano.h}!zerop@{zerop}}
\index{zerop@{zerop}!peano.h@{peano.h}}
\doxysubsubsection{\texorpdfstring{zerop()}{zerop()}}
{\footnotesize\ttfamily bool zerop (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



return true if this {\ttfamily arg} points to a number whose value is zero. 



Definition at line \mbox{\hyperlink{peano_8c_source_l00041}{41}} of file \mbox{\hyperlink{peano_8c_source}{peano.\+c}}.



References \mbox{\hyperlink{debug_8h_source_l00028}{DEBUG\+\_\+\+ARITH}}, \mbox{\hyperlink{debug_8c_source_l00136}{debug\+\_\+dump\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00353}{integerp}}, \mbox{\hyperlink{consspaceobject_8h_source_l00090}{INTEGERTV}}, \mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{cons\+\_\+space\+\_\+object\+::payload}}, \mbox{\hyperlink{consspaceobject_8h_source_l00297}{pointer2cell}}, \mbox{\hyperlink{consspaceobject_8h_source_l00179}{RATIOTV}}, \mbox{\hyperlink{consspaceobject_8h_source_l00199}{REALTV}}, \mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{cons\+\_\+space\+\_\+object\+::tag}}, and \mbox{\hyperlink{peano_8c_source_l00041}{zerop()}}.



Referenced by \mbox{\hyperlink{peano_8c_source_l00217}{add\+\_\+2()}}, \mbox{\hyperlink{peano_8c_source_l00349}{multiply\+\_\+2()}}, and \mbox{\hyperlink{peano_8c_source_l00041}{zerop()}}.

