\hypertarget{dollar_8c}{}\doxysection{dollar.\+c File Reference}
\label{dollar_8c}\index{dollar.c@{dollar.c}}
{\ttfamily \#include \char`\"{}form3.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{dollar_8c_ad6138f70b4a60e8b031ce44d728a898d}{STEP2}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{dollar_8c_aa6c61722b6726ea933fb3067c57e8cca}\label{dollar_8c_aa6c61722b6726ea933fb3067c57e8cca}} 
int {\bfseries Catch\+Dollar} (int par)
\item 
\mbox{\Hypertarget{dollar_8c_a459eea1059c330b8ad84f354850ef20f}\label{dollar_8c_a459eea1059c330b8ad84f354850ef20f}} 
int {\bfseries Assign\+Dollar} (PHEAD WORD $\ast$term, WORD level)
\item 
\mbox{\Hypertarget{dollar_8c_aa84196c99639c70793b72227e4653868}\label{dollar_8c_aa84196c99639c70793b72227e4653868}} 
UBYTE $\ast$ {\bfseries Write\+Dollar\+To\+Buffer} (WORD numdollar, WORD par)
\item 
\mbox{\Hypertarget{dollar_8c_aa5db28f38063c191aaebf6dad51ce263}\label{dollar_8c_aa5db28f38063c191aaebf6dad51ce263}} 
UBYTE $\ast$ {\bfseries Write\+Dollar\+Factor\+To\+Buffer} (WORD numdollar, WORD numfac, WORD par)
\item 
\mbox{\Hypertarget{dollar_8c_a825e503cdf21fbfa64112f3d77c75e8d}\label{dollar_8c_a825e503cdf21fbfa64112f3d77c75e8d}} 
void {\bfseries Add\+To\+Dollar\+Buffer} (UBYTE $\ast$s)
\item 
\mbox{\Hypertarget{dollar_8c_aaabf5af3ba8f5569c18659b9a3141fe0}\label{dollar_8c_aaabf5af3ba8f5569c18659b9a3141fe0}} 
void {\bfseries Term\+Assign} (WORD $\ast$term)
\item 
\mbox{\Hypertarget{dollar_8c_a21502e62f02db8811234c6aa26e2a207}\label{dollar_8c_a21502e62f02db8811234c6aa26e2a207}} 
int {\bfseries Put\+Term\+In\+Dollar} (WORD $\ast$term, WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_ac942df9a01a95d6e1c77c77dea493a16}\label{dollar_8c_ac942df9a01a95d6e1c77c77dea493a16}} 
void {\bfseries Wild\+Dollars} (PHEAD WORD $\ast$term)
\item 
\mbox{\Hypertarget{dollar_8c_ae52bfe901198e6cc91dc1b9921d9fea8}\label{dollar_8c_ae52bfe901198e6cc91dc1b9921d9fea8}} 
WORD {\bfseries Dol\+To\+Tensor} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_ae7e6484d214f1c253adf4cd335fa0f58}\label{dollar_8c_ae7e6484d214f1c253adf4cd335fa0f58}} 
WORD {\bfseries Dol\+To\+Function} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_a4238e743814175fcfa3eefbdd0d7f1de}\label{dollar_8c_a4238e743814175fcfa3eefbdd0d7f1de}} 
WORD {\bfseries Dol\+To\+Vector} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_a9724db4d7fd4fc245ee9ce3f832a7c26}\label{dollar_8c_a9724db4d7fd4fc245ee9ce3f832a7c26}} 
WORD {\bfseries Dol\+To\+Number} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_a1b3b5432b1ac74ed5fc39b0de7d19083}\label{dollar_8c_a1b3b5432b1ac74ed5fc39b0de7d19083}} 
WORD {\bfseries Dol\+To\+Symbol} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_a94f6aff0481bdd255e188f046cb9a008}\label{dollar_8c_a94f6aff0481bdd255e188f046cb9a008}} 
WORD {\bfseries Dol\+To\+Index} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_a7b842efa3089db8f87cf88617ce801df}\label{dollar_8c_a7b842efa3089db8f87cf88617ce801df}} 
\mbox{\hyperlink{structDoLlArS}{DOLLARS}} {\bfseries Dol\+To\+Terms} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_ac6359a80e66a421afb9c62bdbd5bbc3a}\label{dollar_8c_ac6359a80e66a421afb9c62bdbd5bbc3a}} 
LONG {\bfseries Dol\+To\+Long} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_abaa7d42f2b5043bcc2fb9dd3d0cea2cd}\label{dollar_8c_abaa7d42f2b5043bcc2fb9dd3d0cea2cd}} 
int {\bfseries Exec\+Inside} (UBYTE $\ast$s)
\item 
\mbox{\Hypertarget{dollar_8c_a202574450a219278ec7ae4040a56afe1}\label{dollar_8c_a202574450a219278ec7ae4040a56afe1}} 
int {\bfseries Inside\+Dollar} (PHEAD WORD $\ast$ll, WORD level)
\item 
\mbox{\Hypertarget{dollar_8c_a110665da094ece71b9364d4e904534fa}\label{dollar_8c_a110665da094ece71b9364d4e904534fa}} 
void {\bfseries Exchange\+Dollars} (int num1, int num2)
\item 
\mbox{\Hypertarget{dollar_8c_a0d6147d4091cb28208268e298739a629}\label{dollar_8c_a0d6147d4091cb28208268e298739a629}} 
LONG {\bfseries Terms\+In\+Dollar} (WORD num)
\item 
\mbox{\Hypertarget{dollar_8c_a13ac30c180a1facc0c0d5b8985b083b6}\label{dollar_8c_a13ac30c180a1facc0c0d5b8985b083b6}} 
LONG {\bfseries Size\+Of\+Dollar} (WORD num)
\item 
\mbox{\Hypertarget{dollar_8c_a1635554779b7bab7b29389e687152454}\label{dollar_8c_a1635554779b7bab7b29389e687152454}} 
UBYTE $\ast$ {\bfseries Pre\+If\+Dollar\+Eval} (UBYTE $\ast$s, int $\ast$value)
\item 
\mbox{\Hypertarget{dollar_8c_a3d352d3bf2a39de3d27132d29a5c5152}\label{dollar_8c_a3d352d3bf2a39de3d27132d29a5c5152}} 
WORD $\ast$ {\bfseries Translate\+Expression} (UBYTE $\ast$s)
\item 
\mbox{\Hypertarget{dollar_8c_afe7132c45fca7a1465cfcd6c4c3d396c}\label{dollar_8c_afe7132c45fca7a1465cfcd6c4c3d396c}} 
int {\bfseries Is\+Set\+Member} (WORD $\ast$buffer, WORD numset)
\item 
\mbox{\Hypertarget{dollar_8c_acfb65f96b27f3bd8071c6745e7c09921}\label{dollar_8c_acfb65f96b27f3bd8071c6745e7c09921}} 
int {\bfseries Is\+Multiple\+Of} (WORD $\ast$buf1, WORD $\ast$buf2)
\item 
\mbox{\Hypertarget{dollar_8c_ae82580091233cc709f4df64fb906e479}\label{dollar_8c_ae82580091233cc709f4df64fb906e479}} 
int {\bfseries Two\+Expr\+Compare} (WORD $\ast$buf1, WORD $\ast$buf2, int oprtr)
\item 
\mbox{\Hypertarget{dollar_8c_a4b2c20bda8c76afa223bf1ab1169025d}\label{dollar_8c_a4b2c20bda8c76afa223bf1ab1169025d}} 
int {\bfseries Dollar\+Raise\+Low} (UBYTE $\ast$name, LONG value)
\item 
WORD \mbox{\hyperlink{dollar_8c_a8fbe807fad1ecd07d17b898b52f8f83a}{Eval\+Do\+Loop\+Arg}} (PHEAD WORD $\ast$arg, WORD par)
\item 
\mbox{\Hypertarget{dollar_8c_a29b174404deac7397846d7164dd8eb65}\label{dollar_8c_a29b174404deac7397846d7164dd8eb65}} 
WORD {\bfseries Test\+Do\+Loop} (PHEAD WORD $\ast$lhsbuf, WORD level)
\item 
\mbox{\Hypertarget{dollar_8c_a99f41e1300ea6bc62a8f4b98e4ea7fde}\label{dollar_8c_a99f41e1300ea6bc62a8f4b98e4ea7fde}} 
WORD {\bfseries Test\+End\+Do\+Loop} (PHEAD WORD $\ast$lhsbuf, WORD level)
\item 
\mbox{\Hypertarget{dollar_8c_a67402865992705f1f224efb5bb98621e}\label{dollar_8c_a67402865992705f1f224efb5bb98621e}} 
int {\bfseries Dollar\+Factorize} (PHEAD WORD numdollar)
\item 
\mbox{\Hypertarget{dollar_8c_af94f2b39c711b31a9a295eda1c882358}\label{dollar_8c_af94f2b39c711b31a9a295eda1c882358}} 
void {\bfseries Clean\+Dollar\+Factors} (\mbox{\hyperlink{structDoLlArS}{DOLLARS}} d)
\item 
\mbox{\Hypertarget{dollar_8c_a6afe12ec6db7ad6721ec8ce506c49f2a}\label{dollar_8c_a6afe12ec6db7ad6721ec8ce506c49f2a}} 
WORD $\ast$ {\bfseries Take\+Dollar\+Content} (PHEAD WORD $\ast$dollarbuffer, WORD $\ast$$\ast$factor)
\item 
WORD $\ast$ \mbox{\hyperlink{dollar_8c_a3bd0af7dfa31be5f82ec32b88b7dbd9e}{Make\+Dollar\+Integer}} (PHEAD WORD $\ast$bufin, WORD $\ast$$\ast$bufout)
\item 
WORD $\ast$ \mbox{\hyperlink{dollar_8c_a07e98bf5fcb815cd50f76cbe2e3b5871}{Make\+Dollar\+Mod}} (PHEAD WORD $\ast$buffer, WORD $\ast$$\ast$bufout)
\item 
\mbox{\Hypertarget{dollar_8c_a59d59f188714da008acf81efdaf2f61a}\label{dollar_8c_a59d59f188714da008acf81efdaf2f61a}} 
int {\bfseries Get\+Dol\+Num} (PHEAD WORD $\ast$t, WORD $\ast$tstop)
\item 
void \mbox{\hyperlink{dollar_8c_a83a7021f5782fb70dbf9a72c75a2a95f}{Add\+Pot\+Moddollar}} (WORD numdollar)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The routines that deal with the dollar variables. The name administration is to be found in the file \mbox{\hyperlink{names_8c}{names.\+c}} 

\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{dollar_8c_ad6138f70b4a60e8b031ce44d728a898d}\label{dollar_8c_ad6138f70b4a60e8b031ce44d728a898d}} 
\index{dollar.c@{dollar.c}!STEP2@{STEP2}}
\index{STEP2@{STEP2}!dollar.c@{dollar.c}}
\doxysubsubsection{\texorpdfstring{STEP2}{STEP2}}
{\footnotesize\ttfamily \#define STEP2}

Factors a dollar expression. Notation\+: d-\/$>$nfactors becomes nonzero. if the number of factors is one, we leave d-\/$>$factors zero. Otherwise factors is an array of pointers to the factors. These are pointers of the type FACDOLLAR. fd-\/$>$where pointer to contents in term notation fd-\/$>$size size of the buffer fd-\/$>$where points to fd-\/$>$type DOLNUMBER or DOLTERMS fd-\/$>$value value if type is DOLNUMBER and it fits in a WORD. 

Definition at line 2948 of file dollar.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dollar_8c_a8fbe807fad1ecd07d17b898b52f8f83a}\label{dollar_8c_a8fbe807fad1ecd07d17b898b52f8f83a}} 
\index{dollar.c@{dollar.c}!EvalDoLoopArg@{EvalDoLoopArg}}
\index{EvalDoLoopArg@{EvalDoLoopArg}!dollar.c@{dollar.c}}
\doxysubsubsection{\texorpdfstring{EvalDoLoopArg()}{EvalDoLoopArg()}}
{\footnotesize\ttfamily WORD Eval\+Do\+Loop\+Arg (\begin{DoxyParamCaption}\item[{PHEAD WORD $\ast$}]{arg,  }\item[{WORD}]{par }\end{DoxyParamCaption})}

Evaluates one argument of a do loop. Such an argument is constructed from SNUMBERs DOLLAREXPRESSIONs and possibly DOLLAREXPR2s which indicate factors of the preceeding dollar. Hence we have SNUMBER,num DOLLAREXPRESSION,numdollar DOLLAREXPRESSION,numdollar,DOLLAREXPR2,numfactor DOLLAREXPRESSION,numdollar,DOLLAREXPR2,numfactor,DOLLAREXPR2,numfactor etc. Because we have a do-\/loop at every stage we should have a number. The notation in DOLLAREXPR2 is that $>$= 0 is number of yet another dollar and $<$ 0 is -\/n-\/1 with n the array element or zero. The return value is the (short) number. The routine works its way through the list in a recursive manner. 

Definition at line 2646 of file dollar.\+c.

\mbox{\Hypertarget{dollar_8c_a3bd0af7dfa31be5f82ec32b88b7dbd9e}\label{dollar_8c_a3bd0af7dfa31be5f82ec32b88b7dbd9e}} 
\index{dollar.c@{dollar.c}!MakeDollarInteger@{MakeDollarInteger}}
\index{MakeDollarInteger@{MakeDollarInteger}!dollar.c@{dollar.c}}
\doxysubsubsection{\texorpdfstring{MakeDollarInteger()}{MakeDollarInteger()}}
{\footnotesize\ttfamily WORD$\ast$ Make\+Dollar\+Integer (\begin{DoxyParamCaption}\item[{PHEAD WORD $\ast$}]{bufin,  }\item[{WORD $\ast$$\ast$}]{bufout }\end{DoxyParamCaption})}

For normalizing everything to integers we have to determine for all elements of this argument the LCM of the denominators and the GCD of the numerators. The input argument is in bufin. The number that comes out is the return value. The normalized argument is in bufout. 

Definition at line 3622 of file dollar.\+c.

\mbox{\Hypertarget{dollar_8c_a07e98bf5fcb815cd50f76cbe2e3b5871}\label{dollar_8c_a07e98bf5fcb815cd50f76cbe2e3b5871}} 
\index{dollar.c@{dollar.c}!MakeDollarMod@{MakeDollarMod}}
\index{MakeDollarMod@{MakeDollarMod}!dollar.c@{dollar.c}}
\doxysubsubsection{\texorpdfstring{MakeDollarMod()}{MakeDollarMod()}}
{\footnotesize\ttfamily WORD$\ast$ Make\+Dollar\+Mod (\begin{DoxyParamCaption}\item[{PHEAD WORD $\ast$}]{buffer,  }\item[{WORD $\ast$$\ast$}]{bufout }\end{DoxyParamCaption})}

Similar to Make\+Dollar\+Integer but now with modulus arithmetic using only a one WORD \textquotesingle{}prime\textquotesingle{}. We make the coefficient of the first term in the argument equal to one. Already the coefficients are taken modulus AN.\+cmod and AN.\+ncmod == 1 

Definition at line 3796 of file dollar.\+c.

\mbox{\Hypertarget{dollar_8c_a83a7021f5782fb70dbf9a72c75a2a95f}\label{dollar_8c_a83a7021f5782fb70dbf9a72c75a2a95f}} 
\index{dollar.c@{dollar.c}!AddPotModdollar@{AddPotModdollar}}
\index{AddPotModdollar@{AddPotModdollar}!dollar.c@{dollar.c}}
\doxysubsubsection{\texorpdfstring{AddPotModdollar()}{AddPotModdollar()}}
{\footnotesize\ttfamily void Add\+Pot\+Moddollar (\begin{DoxyParamCaption}\item[{WORD}]{numdollar }\end{DoxyParamCaption})}

Adds a \$-\/variable specified by {\itshape numdollar} to the list of potentially modified \$-\/variables unless it has already been included in the list.


\begin{DoxyParams}{Parameters}
{\em numdollar} & The index of the \$-\/variable to be added. \\
\hline
\end{DoxyParams}


Definition at line 3954 of file dollar.\+c.

