\doxysection{peano.\+c}
\hypertarget{peano_8c_source}{}\label{peano_8c_source}\index{workspace/post-\/scarcity/src/arith/peano.c@{workspace/post-\/scarcity/src/arith/peano.c}}
\mbox{\hyperlink{peano_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00001}00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00002}00002\ \textcolor{comment}{\ *\ peano.c}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00003}00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00004}00004\ \textcolor{comment}{\ *\ Basic\ peano\ arithmetic}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00005}00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00006}00006\ \textcolor{comment}{\ *\ (c)\ 2017\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00007}00007\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00008}00008\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00009}00009\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00010}00010\ \textcolor{preprocessor}{\#include\ <ctype.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00011}00011\ \textcolor{preprocessor}{\#include\ <math.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00012}00012\ \textcolor{preprocessor}{\#include\ <stdbool.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00013}00013\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00014}00014\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00015}00015\ \textcolor{preprocessor}{\#include\ <string.h>}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00016}00016\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00017}00017\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{consspaceobject_8h}{memory/consspaceobject.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00018}00018\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{conspage_8h}{memory/conspage.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00019}00019\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{debug_8h}{debug.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00020}00020\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{equal_8h}{ops/equal.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00021}00021\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{integer_8h}{arith/integer.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00022}00022\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{intern_8h}{ops/intern.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00023}00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{lispops_8h}{ops/lispops.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00024}00024\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{peano_8h}{arith/peano.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00025}00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{print_8h}{io/print.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00026}00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ratio_8h}{arith/ratio.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00027}00027\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{read_8h}{io/read.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00028}00028\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{real_8h}{arith/real.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00029}00029\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{stack_8h}{memory/stack.h}}"{}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00030}00030\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00031}00031\ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00032}00032\ int64\_t\ \mbox{\hyperlink{peano_8c_aff092cc8ce6153b70eddb7ed82238034}{to\_long\_int}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00033}00033\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a9d3c5f39b324e9719baa4ba7899a9ac5}{add\_2}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00034}00034\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00035}00035\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00036}00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00037}00037\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00038}00038\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00039}00039\ \textcolor{comment}{\ *\ return\ true\ if\ this\ \`{}arg`\ points\ to\ a\ number\ whose\ value\ is\ zero.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00040}00040\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00041}\mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{00041}}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00042}00042\ \ \ \ \ \textcolor{keywordtype}{bool}\ result\ =\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00043}00043\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00044}00044\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00045}00045\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00046}00046\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00047}00047\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{do}\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00048}00048\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}zerop:\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00049}00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ arg,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00050}00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00051}00051\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ ).payload.integer.value\ ==\ 0\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00052}00052\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ arg\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ ).payload.integer.more;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00053}00053\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{while}\ (\ result\ \&\&\ \mbox{\hyperlink{consspaceobject_8h_af99c355c0b2f78228a1e9e4e68dcfe76}{integerp}}(\ arg\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00054}00054\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00055}00055\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00056}00056\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00057}00057\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.dividend\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00058}00058\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00059}00059\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.real.value\ ==\ 0\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00062}00062\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00063}00063\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00064}00064\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00065}00065\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00066}00066\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00067}00067\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00068}00068\ \textcolor{comment}{\ *\ does\ this\ \`{}arg`\ point\ to\ a\ negative\ number?}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00069}00069\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00070}\mbox{\hyperlink{peano_8c_a55136259512dc90fc104a2670505f172}{00070}}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{peano_8c_a55136259512dc90fc104a2670505f172}{is\_negative}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00071}00071\ \ \ \ \ \textcolor{keywordtype}{bool}\ result\ =\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00072}00072\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00073}00073\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00074}00074\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00075}00075\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00076}00076\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.value\ <\ 0;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00077}00077\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00078}00078\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00079}00079\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_a55136259512dc90fc104a2670505f172}{is\_negative}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.dividend\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00080}00080\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00081}00081\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00082}00082\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.real.value\ <\ 0\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00083}00083\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00084}00084\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00085}00085\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00086}00086\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00087}00087\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00088}00088\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00089}\mbox{\hyperlink{peano_8c_a2bdf13db14973c9ad70e6e95313b27ad}{00089}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a2bdf13db14973c9ad70e6e95313b27ad}{absolute}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00090}00090\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00091}00091\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00092}00092\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00093}00093\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{peano_8c_a55136259512dc90fc104a2670505f172}{is\_negative}}(\ arg\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00094}00094\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00095}00095\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00096}00096\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ llabs(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.value\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.more\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00099}00099\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00100}00100\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00101}00101\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ \mbox{\hyperlink{peano_8c_a2bdf13db14973c9ad70e6e95313b27ad}{absolute}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.dividend\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00102}00102\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.divisor,\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00103}00103\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00104}00104\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00105}00105\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ 0\ -\/\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.real.value\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00106}00106\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00107}00107\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00108}00108\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00109}00109\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00110}00110\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00111}00111\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00112}00112\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00113}00113\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00114}00114\ \textcolor{comment}{\ *\ Return\ the\ closest\ possible\ \`{}binary64`\ representation\ to\ the\ value\ of}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00115}00115\ \textcolor{comment}{\ *\ this\ \`{}arg`,\ expected\ to\ be\ an\ integer,\ ratio\ or\ real,\ or\ \`{}NAN`\ if\ \`{}arg`}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00116}00116\ \textcolor{comment}{\ *\ is\ not\ any\ of\ these.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00117}00117\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00118}00118\ \textcolor{comment}{\ *\ @arg\ a\ pointer\ to\ an\ integer,\ ratio\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00119}00119\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00120}00120\ \textcolor{comment}{\ *\ \(\backslash\)todo\ cannot\ throw\ an\ exception\ out\ of\ here,\ which\ is\ a\ problem}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00121}00121\ \textcolor{comment}{\ *\ if\ a\ ratio\ may\ legally\ have\ zero\ as\ a\ divisor,\ or\ something\ which\ is}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00122}00122\ \textcolor{comment}{\ *\ not\ a\ number\ is\ passed\ in.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00123}00123\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00124}\mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{00124}}\ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00125}00125\ \ \ \ \ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{double}\ result\ =\ 0;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00126}00126\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00127}00127\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00128}00128\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00129}00129\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ obviously,\ this\ doesn't\ work\ for\ bignums}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00131}00131\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ (\ \textcolor{keywordtype}{long}\ double\ )\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.value;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00132}00132\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ sadly,\ this\ doesn't\ work\ at\ all.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00133}00133\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ result\ +=\ 1.0;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00134}00134\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ for\ (bool\ is\_first\ =\ false;\ integerp(arg);\ is\_first\ =\ true)\ \{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00135}00135\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ debug\_printf(DEBUG\_ARITH,\ L"{}to\_long\_double:\ accumulator\ =\ \%lf,\ arg\ =\ "{},\ result);}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00136}00136\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ debug\_dump\_object(arg,\ DEBUG\_ARITH);}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00137}00137\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ (!is\_first)\ \{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00138}00138\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ *=\ (long\ double)(MAX\_INTEGER\ +\ 1);}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00139}00139\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00140}00140\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ *=\ (long\ double)(cell.payload.integer.value);}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00141}00141\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ arg\ =\ cell.payload.integer.more;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00142}00142\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cell\ =\ pointer2cell(\ arg\ );}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00143}00143\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ \}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00144}00144\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00145}00145\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00146}00146\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.dividend\ )\ /}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00147}00147\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.divisor\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00148}00148\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00149}00149\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00150}00150\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.real.value;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00151}00151\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00152}00152\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00153}00153\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ NAN;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00154}00154\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00155}00155\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00156}00156\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00157}00157\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}to\_long\_double(\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00158}00158\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ arg,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00159}00159\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}},\ L\textcolor{stringliteral}{"{})\ =>\ \%lf\(\backslash\)n"{}},\ result\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00160}00160\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00161}00161\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00162}00162\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00163}00163\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00164}00164\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00165}00165\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00166}00166\ \textcolor{comment}{\ *\ Return\ the\ closest\ possible\ \`{}int64\_t`\ representation\ to\ the\ value\ of}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00167}00167\ \textcolor{comment}{\ *\ this\ \`{}arg`,\ expected\ to\ be\ an\ integer,\ ratio\ or\ real,\ or\ \`{}NAN`\ if\ \`{}arg`}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00168}00168\ \textcolor{comment}{\ *\ is\ not\ any\ of\ these.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00169}00169\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00170}00170\ \textcolor{comment}{\ *\ @arg\ a\ pointer\ to\ an\ integer,\ ratio\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00171}00171\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00172}00172\ \textcolor{comment}{\ *\ \(\backslash\)todo\ cannot\ throw\ an\ exception\ out\ of\ here,\ which\ is\ a\ problem}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00173}00173\ \textcolor{comment}{\ *\ if\ a\ ratio\ may\ legally\ have\ zero\ as\ a\ divisor,\ or\ something\ which\ is}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00174}00174\ \textcolor{comment}{\ *\ not\ a\ number\ (or\ is\ a\ big\ number)\ is\ passed\ in.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00175}00175\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00176}\mbox{\hyperlink{peano_8c_aff092cc8ce6153b70eddb7ed82238034}{00176}}\ int64\_t\ \mbox{\hyperlink{peano_8c_aff092cc8ce6153b70eddb7ed82238034}{to\_long\_int}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00177}00177\ \ \ \ \ int64\_t\ result\ =\ 0;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00178}00178\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00179}00179\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00180}00180\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00181}00181\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ \(\backslash\)todo\ if\ (integerp(cell.payload.integer.more))\ \{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00182}00182\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ \ \ \ \ throw\ an\ exception!}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00183}00183\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ *\ \}\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00184}00184\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.value;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00185}00185\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00186}00186\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00187}00187\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ lroundl(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00188}00188\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00189}00189\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00190}00190\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ lroundl(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.real.value\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00191}00191\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00192}00192\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00193}00193\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00194}00194\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00195}00195\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00196}00196\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00197}00197\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00198}00198\ \textcolor{comment}{\ *\ Function:\ calculate\ the\ absolute\ value\ of\ a\ number.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00199}00199\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00200}00200\ \textcolor{comment}{\ *\ (absolute\ arg)}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00201}00201\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00202}00202\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00203}00203\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00204}00204\ \textcolor{comment}{\ *\ @return\ the\ absolute\ value\ of\ the\ number\ represented\ by\ the\ first}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00205}00205\ \textcolor{comment}{\ *\ argument,\ or\ NIL\ if\ it\ was\ not\ a\ number.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00206}00206\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00207}\mbox{\hyperlink{peano_8c_a15e9658945908b10ad1af9a3d3f39df4}{00207}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a15e9658945908b10ad1af9a3d3f39df4}{lisp\_absolute}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00208}00208\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00209}00209\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00210}00210\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{peano_8c_a2bdf13db14973c9ad70e6e95313b27ad}{absolute}}(\ frame-\/>arg[0]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00211}00211\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00212}00212\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00213}00213\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00214}00214\ \textcolor{comment}{\ *\ return\ a\ cons\_pointer\ indicating\ a\ number\ which\ is\ the\ sum\ of}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00215}00215\ \textcolor{comment}{\ *\ the\ numbers\ indicated\ by\ \`{}arg1`\ and\ \`{}arg2`.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00216}00216\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00217}\mbox{\hyperlink{peano_8c_a9d3c5f39b324e9719baa4ba7899a9ac5}{00217}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a9d3c5f39b324e9719baa4ba7899a9ac5}{add\_2}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00218}00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00219}00219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00220}00220\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg2\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00221}00221\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00222}00222\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell1\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg1\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00223}00223\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell2\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00224}00224\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00225}00225\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}add\_2(\ arg1\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00226}00226\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ arg1,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00227}00227\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{};\ arg2\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00228}00228\ \ \ \ \ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ arg2,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00229}00229\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00230}00230\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00231}00231\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ arg1\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00232}00232\ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00233}00233\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ arg2\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00234}00234\ \ \ \ \ \ \ \ \ result\ =\ arg1;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00235}00235\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00236}00236\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00237}00237\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell1.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00238}00238\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00239}00239\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg1;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00240}00240\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00241}00241\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00242}00242\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell2.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00243}00243\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00244}00244\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00245}00245\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00246}00246\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00247}00247\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{integer_8c_a8b6e93c44eca207d8f88a71d90142bb9}{add\_integers}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00248}00248\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00249}00249\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00250}00250\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a970e02ec84fab27b4d33150eb50bdc8e}{add\_integer\_ratio}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00251}00251\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00252}00252\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00253}00253\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00254}00254\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ +}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00255}00255\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00256}00256\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00257}00257\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00258}00258\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00259}00259\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ add:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00260}00260\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00261}00261\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00262}00262\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00263}00263\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00264}00264\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00265}00265\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell2.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00266}00266\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00267}00267\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00268}00268\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00269}00269\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00270}00270\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a970e02ec84fab27b4d33150eb50bdc8e}{add\_integer\_ratio}}(\ arg2,\ arg1\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00271}00271\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00272}00272\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00273}00273\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a5bb772b5fbc470c30659b61ac2f0ebf5}{add\_ratio\_ratio}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00274}00274\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00275}00275\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00276}00276\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00277}00277\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ +}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00278}00278\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00279}00279\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00280}00280\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00281}00281\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00282}00282\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ add:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00283}00283\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00284}00284\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00285}00285\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00286}00286\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00287}00287\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00288}00288\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00289}00289\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ +}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00290}00290\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00291}00291\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00292}00292\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00293}00293\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ arg2\ )\ ?\ arg2\ :}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00294}00294\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00295}00295\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ add:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00296}00296\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00297}00297\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00298}00298\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00299}00299\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00300}00300\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\};\ =>\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00301}00301\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ arg2,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00302}00302\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00303}00303\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00304}00304\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00305}00305\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00306}00306\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00307}00307\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00308}00308\ \textcolor{comment}{\ *\ Add\ an\ indefinite\ number\ of\ numbers\ together}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00309}00309\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00310}00310\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00311}00311\ \textcolor{comment}{\ *\ @return\ a\ pointer\ to\ an\ integer,\ ratio\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00312}00312\ \textcolor{comment}{\ *\ @exception\ if\ any\ argument\ is\ not\ a\ number,\ returns\ an\ exception.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00313}00313\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00314}\mbox{\hyperlink{peano_8c_acd39b881664912e10260d4cbabece7e6}{00314}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_acd39b881664912e10260d4cbabece7e6}{lisp\_add}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00315}00315\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00316}00316\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00317}00317\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 0,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00318}00318\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ tmp;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00319}00319\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00320}00320\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ \textcolor{keywordtype}{int}\ i\ =\ 0;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00321}00321\ \ \ \ \ \ \ \ \ \ \ i\ <\ \mbox{\hyperlink{consspaceobject_8h_a214b772c864ac6458405e6a37fb9bf6e}{args\_in\_frame}}\ \&\&}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00322}00322\ \ \ \ \ \ \ \ \ \ \ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ frame-\/>arg[i]\ )\ \&\&\ !\mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ result\ );\ i++\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00323}00323\ \ \ \ \ \ \ \ \ tmp\ =\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00324}00324\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_a9d3c5f39b324e9719baa4ba7899a9ac5}{add\_2}}(\ frame,\ frame\_pointer,\ result,\ frame-\/>arg[i]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00325}00325\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ !\mbox{\hyperlink{equal_8c_ae8c9b7a5b6a556dbb30ae27d4c776d32}{eq}}(\ tmp,\ result\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00326}00326\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00327}00327\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00328}00328\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00329}00329\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00330}00330\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ more\ =\ frame-\/>more;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00331}00331\ \ \ \ \ \textcolor{keywordflow}{while}\ (\ \mbox{\hyperlink{consspaceobject_8h_a69012ee77381bb1d51aafa1002f64430}{consp}}(\ more\ )\ \&\&\ !\mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ result\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00332}00332\ \ \ \ \ \ \ \ \ tmp\ =\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00333}00333\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{peano_8c_a9d3c5f39b324e9719baa4ba7899a9ac5}{add\_2}}(\ frame,\ frame\_pointer,\ result,\ \mbox{\hyperlink{consspaceobject_8h_ac683bad260c334cc2e5fad1f7d0c7b52}{c\_car}}(\ more\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00334}00334\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ !\mbox{\hyperlink{equal_8c_ae8c9b7a5b6a556dbb30ae27d4c776d32}{eq}}(\ tmp,\ result\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00335}00335\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00336}00336\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00337}00337\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00338}00338\ \ \ \ \ \ \ \ \ more\ =\ \mbox{\hyperlink{consspaceobject_8h_a36feb8e8c928ce9ffb6fb80167cc1f04}{c\_cdr}}(\ more\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00339}00339\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00340}00340\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00341}00341\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00342}00342\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00343}00343\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00344}00344\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00345}00345\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00346}00346\ \textcolor{comment}{\ *\ return\ a\ cons\_pointer\ indicating\ a\ number\ which\ is\ the\ product\ of}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00347}00347\ \textcolor{comment}{\ *\ the\ numbers\ indicated\ by\ \`{}arg1`\ and\ \`{}arg2`.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00348}00348\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00349}\mbox{\hyperlink{peano_8c_a3e52931fea7e9972e034598ac0620cac}{00349}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a3e52931fea7e9972e034598ac0620cac}{multiply\_2}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00350}00350\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00351}00351\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00352}00352\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg2\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00353}00353\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00354}00354\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell1\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg1\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00355}00355\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell2\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00356}00356\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00357}00357\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}multiply\_2(\ arg1\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00358}00358\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ arg1,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00359}00359\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{};\ arg2\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00360}00360\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ arg2,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00361}00361\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{})\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00362}00362\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00363}00363\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ arg1\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00364}00364\ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00365}00365\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{peano_8c_af8dcf18e0b388a11b07727063f989b9c}{zerop}}(\ arg2\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00366}00366\ \ \ \ \ \ \ \ \ result\ =\ arg1;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00367}00367\ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00368}00368\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell1.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00369}00369\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00370}00370\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg1;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00371}00371\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00372}00372\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00373}00373\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell2.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00374}00374\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00375}00375\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00376}00376\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00377}00377\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00378}00378\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{integer_8c_a3f0fcaa092a0c6830aa0bf7303ed1f7c}{multiply\_integers}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00379}00379\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00380}00380\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00381}00381\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a921ee5ce45e59014688c02bca2397b98}{multiply\_integer\_ratio}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00382}00382\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00383}00383\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00384}00384\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00385}00385\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ *}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00386}00386\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00387}00387\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00388}00388\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00389}00389\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00390}00390\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00391}00391\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00392}00392\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ multiply:\ argument\ 2\ is\ not\ a\ number:\ "{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00393}00393\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_ad6da5748c65be5613d86664948ecc5ab}{c\_type}}(\ arg2\ )\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00394}00394\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00395}00395\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00396}00396\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00397}00397\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00398}00398\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00399}00399\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell2.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00400}00400\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00401}00401\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00402}00402\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00403}00403\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00404}00404\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a921ee5ce45e59014688c02bca2397b98}{multiply\_integer\_ratio}}(\ arg2,\ arg1\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00405}00405\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00406}00406\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00407}00407\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a60ef7247767c19d1ec458406366561fb}{multiply\_ratio\_ratio}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00408}00408\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00409}00409\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00410}00410\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00411}00411\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ *}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00412}00412\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00413}00413\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00414}00414\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00415}00415\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00416}00416\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00417}00417\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00418}00418\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ multiply:\ argument\ 2\ is\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00419}00419\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_ad6da5748c65be5613d86664948ecc5ab}{c\_type}}(\ arg2\ )\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00420}00420\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00421}00421\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00422}00422\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00423}00423\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00424}00424\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ arg2\ )\ ?\ arg2\ :}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00425}00425\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ *}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00426}00426\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00427}00427\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00428}00428\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00429}00429\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_afff9c83c8c250837b5737c11e21cc4ca}{make\_cons}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00430}00430\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ multiply:\ argument\ 1\ is\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00431}00431\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_ad6da5748c65be5613d86664948ecc5ab}{c\_type}}(\ arg1\ )\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00432}00432\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00433}00433\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00434}00434\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00435}00435\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00436}00436\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00437}00437\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}multiply\_2\ returning:\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00438}00438\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00439}00439\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\(\backslash\)n"{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00440}00440\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00441}00441\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00442}00442\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00443}00443\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00444}\mbox{\hyperlink{peano_8c_ab976ddf548bb67fc5ff1040807cfdcb3}{00444}}\ \textcolor{preprocessor}{\#define\ multiply\_one\_arg(arg)\ \{if\ (exceptionp(arg))\{result=arg;\}else\{tmp\ =\ result;\ result\ =\ multiply\_2(\ frame,\ frame\_pointer,\ result,\ arg\ );\ if\ (\ !eq(\ tmp,\ result\ )\ )\ dec\_ref(\ tmp\ );\}\}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00445}00445\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00446}00446\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00447}00447\ \textcolor{comment}{\ *\ Multiply\ an\ indefinite\ number\ of\ numbers\ together}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00448}00448\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00449}00449\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00450}00450\ \textcolor{comment}{\ *\ @return\ a\ pointer\ to\ an\ integer,\ ratio\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00451}00451\ \textcolor{comment}{\ *\ @exception\ if\ any\ argument\ is\ not\ a\ number,\ returns\ an\ exception.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00452}00452\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00453}\mbox{\hyperlink{peano_8c_ac810209ae8dc6f873611fa97d8e6e8cf}{00453}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_ac810209ae8dc6f873611fa97d8e6e8cf}{lisp\_multiply}}(\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00454}00454\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00455}00455\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00456}00456\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00457}00457\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 1,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00458}00458\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ tmp;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00459}00459\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00460}00460\ \ \ \ \ \textcolor{keywordflow}{for}\ (\ \textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ \mbox{\hyperlink{consspaceobject_8h_a214b772c864ac6458405e6a37fb9bf6e}{args\_in\_frame}}\ \&\&\ !\mbox{\hyperlink{consspaceobject_8h_a758a42bfac22caaf66e29c666c91702d}{nilp}}(\ frame-\/>arg[i]\ )}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00461}00461\ \ \ \ \ \ \ \ \ \ \ \&\&\ !\mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ result\ );\ i++\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00462}00462\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}lisp\_multiply:\ accumulator\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00463}00463\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00464}00464\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{};\ arg\ =\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00465}00465\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ frame-\/>arg[i],\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00466}00466\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{debug_8c_a9d5aa8671cb579261b2049c09aafa773}{debug\_println}}(\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00467}00467\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00468}00468\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ab976ddf548bb67fc5ff1040807cfdcb3}{multiply\_one\_arg}}(\ frame-\/>arg[i]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00469}00469\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00470}00470\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00471}00471\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ more\ =\ frame-\/>more;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00472}00472\ \ \ \ \ \textcolor{keywordflow}{while}\ (\ \mbox{\hyperlink{consspaceobject_8h_a69012ee77381bb1d51aafa1002f64430}{consp}}(\ more\ )}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00473}00473\ \ \ \ \ \ \ \ \ \ \ \ \ \&\&\ !\mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ result\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00474}00474\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ab976ddf548bb67fc5ff1040807cfdcb3}{multiply\_one\_arg}}(\ \mbox{\hyperlink{consspaceobject_8h_ac683bad260c334cc2e5fad1f7d0c7b52}{c\_car}}(\ more\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00475}00475\ \ \ \ \ \ \ \ \ more\ =\ \mbox{\hyperlink{consspaceobject_8h_a36feb8e8c928ce9ffb6fb80167cc1f04}{c\_cdr}}(\ more\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00476}00476\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00477}00477\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00478}00478\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}lisp\_multiply\ returning:\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00479}00479\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ result,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00480}00480\ \ \ \ \ \mbox{\hyperlink{debug_8c_a9d5aa8671cb579261b2049c09aafa773}{debug\_println}}(\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00481}00481\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00482}00482\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00483}00483\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00484}00484\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00485}00485\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00486}00486\ \textcolor{comment}{\ *\ return\ a\ cons\_pointer\ indicating\ a\ number\ which\ is\ the}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00487}00487\ \textcolor{comment}{\ *\ 0\ -\/\ the\ number\ indicated\ by\ \`{}arg`.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00488}00488\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00489}\mbox{\hyperlink{peano_8c_a471edde763902818d541e02cb9d83b60}{00489}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a471edde763902818d541e02cb9d83b60}{negative}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00490}00490\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00491}00491\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ cell\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00492}00492\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00493}00493\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ cell.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00494}00494\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00495}00495\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00496}00496\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00497}00497\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00498}00498\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00499}00499\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 0\ -\/\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.value,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00500}00500\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.integer.more\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00501}00501\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00502}00502\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa460b371cdb05b1db5afb10c39af3c47}{NILTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00503}00503\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{TRUE}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00504}00504\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00505}00505\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00506}00506\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ \mbox{\hyperlink{peano_8c_a471edde763902818d541e02cb9d83b60}{negative}}(\ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.dividend\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00507}00507\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cell.\mbox{\hyperlink{consspaceobject_8h_a259b3afe36776f8ba8498fdf95904f25}{payload}}.ratio.divisor,\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00508}00508\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00509}00509\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00510}00510\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ 0\ -\/\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00511}00511\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00512}00512\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a8627f45d97a6bd63ad4063b3fe688f2e}{TRUETV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00513}00513\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00514}00514\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00515}00515\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00516}00516\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00517}00517\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00518}00518\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00519}00519\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00520}00520\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00521}00521\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00522}00522\ \textcolor{comment}{\ *\ Function:\ is\ this\ number\ negative?}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00523}00523\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00524}00524\ \textcolor{comment}{\ *\ *\ (negative?\ arg)}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00525}00525\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00526}00526\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00527}00527\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00528}00528\ \textcolor{comment}{\ *\ @return\ T\ if\ the\ first\ argument\ was\ a\ negative\ number,\ or\ NIL\ if\ it}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00529}00529\ \textcolor{comment}{\ *\ was\ not.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00530}00530\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00531}\mbox{\hyperlink{peano_8c_a690b85053e51efeb8543eec37c231d3a}{00531}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a690b85053e51efeb8543eec37c231d3a}{lisp\_is\_negative}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00532}00532\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00533}00533\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00534}00534\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00535}00535\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{peano_8c_a55136259512dc90fc104a2670505f172}{is\_negative}}(\ frame-\/>arg[0]\ )\ ?\ \mbox{\hyperlink{consspaceobject_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{TRUE}}\ :\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00536}00536\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00537}00537\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00538}00538\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00539}00539\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00540}00540\ \textcolor{comment}{\ *\ return\ a\ cons\_pointer\ indicating\ a\ number\ which\ is\ the\ result\ of}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00541}00541\ \textcolor{comment}{\ *\ subtracting\ the\ number\ indicated\ by\ \`{}arg2`\ from\ that\ indicated\ by\ \`{}arg1`,}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00542}00542\ \textcolor{comment}{\ *\ in\ the\ context\ of\ this\ \`{}frame`.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00543}00543\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00544}\mbox{\hyperlink{peano_8c_ada1a2eed62b49481aad0121f3a88e484}{00544}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_ada1a2eed62b49481aad0121f3a88e484}{subtract\_2}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00545}00545\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00546}00546\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00547}00547\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg2\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00548}00548\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00549}00549\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00550}00550\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg1\ ).tag.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00551}00551\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00552}00552\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg1;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00553}00553\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00554}00554\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00555}00555\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg2\ ).tag.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00556}00556\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00557}00557\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00558}00558\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00559}00559\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00560}00560\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ i\ =\ \mbox{\hyperlink{peano_8c_a471edde763902818d541e02cb9d83b60}{negative}}(\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00561}00561\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aa38b760ee4493c5d98400e04db3c8d47}{inc\_ref}}(\ i\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00562}00562\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{integer_8c_a8b6e93c44eca207d8f88a71d90142bb9}{add\_integers}}(\ arg1,\ i\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00563}00563\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ i\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00564}00564\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00565}00565\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00566}00566\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00567}00567\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ tmp\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ arg1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00568}00568\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00569}00569\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ ),\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00570}00570\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aa38b760ee4493c5d98400e04db3c8d47}{inc\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00571}00571\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ac58f726144640d5bce62d7e5e3eaae45}{subtract\_ratio\_ratio}}(\ tmp,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00572}00572\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00573}00573\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00574}00574\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00575}00575\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00576}00576\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00577}00577\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ -\/}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00578}00578\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00579}00579\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00580}00580\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00581}00581\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00582}00582\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ subtract:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00583}00583\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00584}00584\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00585}00585\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00586}00586\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00587}00587\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00588}00588\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ arg2\ ).tag.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00589}00589\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00590}00590\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ arg2;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00591}00591\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00592}00592\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00593}00593\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ tmp\ =\ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ arg2,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00594}00594\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 1,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00595}00595\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ ),\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00596}00596\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aa38b760ee4493c5d98400e04db3c8d47}{inc\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00597}00597\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ac58f726144640d5bce62d7e5e3eaae45}{subtract\_ratio\_ratio}}(\ arg1,\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00598}00598\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ tmp\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00599}00599\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00600}00600\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00601}00601\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00602}00602\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_ac58f726144640d5bce62d7e5e3eaae45}{subtract\_ratio\_ratio}}(\ arg1,\ arg2\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00603}00603\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00604}00604\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00605}00605\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00606}00606\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ -\/}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00607}00607\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00608}00608\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00609}00609\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00610}00610\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00611}00611\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ subtract:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00612}00612\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00613}00613\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00614}00614\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00615}00615\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00616}00616\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00617}00617\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ arg2\ )\ ?\ arg2\ :}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00618}00618\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg1\ )\ -\/\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ arg2\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00619}00619\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00620}00620\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00621}00621\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00622}00622\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ subtract:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00623}00623\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00624}00624\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00625}00625\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00626}00626\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00627}00627\ \ \ \ \ \textcolor{comment}{//\ and\ if\ not\ nilp[frame-\/>arg[2])\ we\ also\ have\ an\ error.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00628}00628\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00629}00629\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00630}00630\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00631}00631\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00632}00632\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00633}00633\ \textcolor{comment}{\ *\ Subtract\ one\ number\ from\ another.\ If\ more\ than\ two\ arguments\ are\ passed}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00634}00634\ \textcolor{comment}{\ *\ in\ the\ frame,\ the\ additional\ arguments\ are\ ignored.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00635}00635\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00636}00636\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00637}00637\ \textcolor{comment}{\ *\ @return\ a\ pointer\ to\ an\ integer,\ ratio\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00638}00638\ \textcolor{comment}{\ *\ @exception\ if\ either\ argument\ is\ not\ a\ number,\ returns\ an\ exception.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00639}00639\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00640}\mbox{\hyperlink{peano_8c_aa9936243c68951d23dfda5b55ad1ea57}{00640}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_aa9936243c68951d23dfda5b55ad1ea57}{lisp\_subtract}}(\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00641}00641\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00642}00642\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00643}00643\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00644}00644\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{peano_8c_ada1a2eed62b49481aad0121f3a88e484}{subtract\_2}}(\ frame,\ frame\_pointer,\ frame-\/>arg[0],\ frame-\/>arg[1]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00645}00645\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00646}00646\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00647}00647\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00648}00648\ \textcolor{comment}{\ *\ Divide\ one\ number\ by\ another.\ If\ more\ than\ two\ arguments\ are\ passed}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00649}00649\ \textcolor{comment}{\ *\ in\ the\ frame,\ the\ additional\ arguments\ are\ ignored.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00650}00650\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment\ -\/\ ignored;}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00651}00651\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00652}00652\ \textcolor{comment}{\ *\ @return\ a\ pointer\ to\ an\ integer\ or\ real.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00653}00653\ \textcolor{comment}{\ *\ @exception\ if\ either\ argument\ is\ not\ a\ number,\ returns\ an\ exception.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00654}00654\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00655}\mbox{\hyperlink{peano_8c_ab582e06c65cc44e9d3acdc264cf9ca8f}{00655}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_ab582e06c65cc44e9d3acdc264cf9ca8f}{lisp\_divide}}(\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00656}00656\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00657}00657\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,\ struct}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00658}00658\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00659}00659\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00660}00660\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ arg0\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ frame-\/>arg[0]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00661}00661\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__space__object}{cons\_space\_object}}\ arg1\ =\ \mbox{\hyperlink{consspaceobject_8h_af31e1da9438d7ae4410864ecc901b131}{pointer2cell}}(\ frame-\/>arg[1]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00662}00662\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00663}00663\ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ arg0.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00664}00664\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00665}00665\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ frame-\/>arg[0];}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00666}00666\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00667}00667\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00668}00668\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ arg1.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00669}00669\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00670}00670\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ frame-\/>arg[1];}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00671}00671\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00672}00672\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00673}00673\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00674}00674\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ frame-\/>arg[0],}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00675}00675\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame-\/>arg[1],\ \textcolor{keyword}{true});}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00676}00676\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00677}00677\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00678}00678\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00679}00679\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ one\ =\ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 1,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00680}00680\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ ratio\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00681}00681\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ frame-\/>arg[0],\ one,\ \textcolor{keyword}{false}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00682}00682\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aa38b760ee4493c5d98400e04db3c8d47}{inc\_ref}}(\ ratio\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00683}00683\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a6edf067028767b399bdc4181b0b808d4}{divide\_ratio\_ratio}}(\ ratio,\ frame-\/>arg[1]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00684}00684\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ ratio\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00685}00685\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00686}00686\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00687}00687\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00688}00688\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00689}00689\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[0]\ )\ /}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00690}00690\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[1]\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00691}00691\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00692}00692\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00693}00693\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00694}00694\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ divide:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00695}00695\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00696}00696\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00697}00697\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00698}00698\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00699}00699\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00700}00700\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (\ arg1.\mbox{\hyperlink{consspaceobject_8h_a21cb645ce4ae20308447dcd59534bf38}{tag}}.value\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00701}00701\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_aa66d7497baaa8e7a255c448e8b08e5ee}{EXCEPTIONTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00702}00702\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ frame-\/>arg[1];}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00703}00703\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00704}00704\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a4e0e4ea1576f98a0094f57bf918ded96}{INTEGERTV}}:\{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00705}00705\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ one\ =\ \mbox{\hyperlink{integer_8c_afff1d31bb49e1be78395b0803b0b2514}{make\_integer}}(\ 1,\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00706}00706\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ ratio\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00707}00707\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{ratio_8c_ad2832e83566ce131e54397c3e165899c}{make\_ratio}}(\ frame-\/>arg[1],\ one,\ \textcolor{keyword}{false});}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00708}00708\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{ratio_8c_a6edf067028767b399bdc4181b0b808d4}{divide\_ratio\_ratio}}(\ frame-\/>arg[0],\ ratio\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00709}00709\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ ratio\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00710}00710\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{consspaceobject_8h_aecb4a52465163e0377356bcaa85539bf}{dec\_ref}}(\ one\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00711}00711\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00712}00712\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00713}00713\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a63bde20c8b029f5ac3ffd93b36dfddc9}{RATIOTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00714}00714\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00715}00715\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{ratio_8c_a6edf067028767b399bdc4181b0b808d4}{divide\_ratio\_ratio}}(\ frame-\/>arg[0],\ frame-\/>arg[1]\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00716}00716\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00717}00717\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00718}00718\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00719}00719\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[0]\ )\ /}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00720}00720\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[1]\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00721}00721\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00722}00722\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00723}00723\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00724}00724\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ divide:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00725}00725\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00726}00726\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00727}00727\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00728}00728\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00729}00729\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \mbox{\hyperlink{consspaceobject_8h_a964051b1bf348dbf06440df0a37bcde4}{REALTV}}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00730}00730\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a08d81da027288f19974af4e6bbb1e99e}{exceptionp}}(\ frame-\/>arg[1]\ )\ ?\ frame-\/>arg[1]\ :}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00731}00731\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[0]\ )\ /}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00732}00732\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{peano_8c_ac3f5af65c887eed123b7be986ae92766}{to\_long\_double}}(\ frame-\/>arg[1]\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00733}00733\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00734}00734\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00735}00735\ \ \ \ \ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{lispops_8c_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ \mbox{\hyperlink{consspaceobject_8h_a9e4202c8555763ca9a119f0d63a058cd}{c\_string\_to\_lisp\_string}}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00736}00736\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\ L\textcolor{stringliteral}{"{}Cannot\ divide:\ not\ a\ number"{}}\ ),}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00737}00737\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00738}00738\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00739}00739\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00740}00740\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00741}00741\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00742}00742\ \}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00743}00743\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00744}00744\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00745}00745\ \textcolor{comment}{\ *\ @brief\ Function:\ return\ a\ real\ (approcimately)\ equal\ in\ value\ to\ the\ ratio\ }}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00746}00746\ \textcolor{comment}{\ *\ which\ is\ the\ first\ argument.}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00747}00747\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00748}00748\ \textcolor{comment}{\ *\ @param\ frame\ }}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00749}00749\ \textcolor{comment}{\ *\ @param\ frame\_pointer\ }}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00750}00750\ \textcolor{comment}{\ *\ @param\ env\ }}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00751}00751\ \textcolor{comment}{\ *\ @return\ struct\ cons\_pointer\ a\ pointer\ to\ a\ real}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00752}00752\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00753}00753\ \textcolor{comment}{//\ struct\ cons\_pointer\ lisp\_eval(\ struct\ stack\_frame\ *frame,\ struct\ cons\_pointer\ frame\_pointer,}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00754}00754\ \textcolor{comment}{//\ \ \ \ \ \ \ \ \ \ \ \ struct\ cons\_pointer\ env\ )}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00755}\mbox{\hyperlink{peano_8c_a660689501f2a386b1434e4322b189804}{00755}}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{peano_8c_a660689501f2a386b1434e4322b189804}{lisp\_ratio\_to\_real}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00756}00756\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00757}00757\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00758}00758\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ result\ =\ \mbox{\hyperlink{consspaceobject_8h_a263efce0e5cda1d387a1a43f94715445}{NIL}};}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00759}00759\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ rat\ =\ frame-\/>arg[0];}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00760}00760\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00761}00761\ \ \ \ \ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ L\textcolor{stringliteral}{"{}\(\backslash\)nc\_ratio\_to\_ld:\ "{}},\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00762}00762\ \ \ \ \ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ rat,\ \mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{DEBUG\_ARITH}}\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00763}00763\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00764}00764\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ \mbox{\hyperlink{consspaceobject_8h_a0517a5e5fa9a665e29005dcf51c1b081}{ratiop}}(\ rat\ )\ )\ \{}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00765}00765\ \ \ \ \ \ \ \ \ result\ =\ \mbox{\hyperlink{real_8c_a1c3412f747f8c3572b991272df881a1c}{make\_real}}(\ \mbox{\hyperlink{ratio_8c_a0fe47053f1b1b94101748d354c1a76be}{c\_ratio\_to\_ld}}(\ rat\ )\ );}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00766}00766\ \ \ \ \ \}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ TODO:\ else\ throw\ an\ exception?}}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00767}00767\ }
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00768}00768\ \ \ \ \ \textcolor{keywordflow}{return}\ result;}
\DoxyCodeLine{\Hypertarget{peano_8c_source_l00769}00769\ \}}

\end{DoxyCode}
