\hypertarget{ratio_8c}{}\doxysection{ratio.\+c File Reference}
\label{ratio_8c}\index{ratio.c@{ratio.c}}
{\ttfamily \#include \char`\"{}form3.\+h\char`\"{}}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structARGBUFFER}{A\+R\+G\+B\+U\+F\+F\+ER}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{ratio_8c_acee0b3bd7c4e5d11bccb6cc57bee0a0b}\label{ratio_8c_acee0b3bd7c4e5d11bccb6cc57bee0a0b}} 
W\+O\+RD {\bfseries Ratio\+Find} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD $\ast$params)
\item 
\mbox{\Hypertarget{ratio_8c_afeee7f626e37b85b7705497cbc994cae}\label{ratio_8c_afeee7f626e37b85b7705497cbc994cae}} 
W\+O\+RD {\bfseries Ratio\+Gen} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD $\ast$params, W\+O\+RD num, W\+O\+RD level)
\item 
\mbox{\Hypertarget{ratio_8c_afd99bc2b426a057646bf0e5c445cb615}\label{ratio_8c_afd99bc2b426a057646bf0e5c445cb615}} 
W\+O\+RD {\bfseries Binom\+Gen} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD level, W\+O\+RD $\ast$$\ast$tstops, W\+O\+RD x1, W\+O\+RD x2, W\+O\+RD pow1, W\+O\+RD pow2, W\+O\+RD sign, U\+W\+O\+RD $\ast$coef, W\+O\+RD ncoef)
\item 
\mbox{\Hypertarget{ratio_8c_a6c24cc0d01bc96d6ae21760c6d4c9329}\label{ratio_8c_a6c24cc0d01bc96d6ae21760c6d4c9329}} 
W\+O\+RD {\bfseries Do\+Sum\+F1} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD $\ast$params, W\+O\+RD replac, W\+O\+RD level)
\item 
\mbox{\Hypertarget{ratio_8c_a0c48dbc8bbecfdaa682c4ea7fd1290bb}\label{ratio_8c_a0c48dbc8bbecfdaa682c4ea7fd1290bb}} 
W\+O\+RD {\bfseries Glue} (P\+H\+E\+AD W\+O\+RD $\ast$term1, W\+O\+RD $\ast$term2, W\+O\+RD $\ast$sub, W\+O\+RD insert)
\item 
\mbox{\Hypertarget{ratio_8c_ad94c6787d9e91ea5e0d9a2b8a4294bd9}\label{ratio_8c_ad94c6787d9e91ea5e0d9a2b8a4294bd9}} 
W\+O\+RD {\bfseries Do\+Sum\+F2} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD $\ast$params, W\+O\+RD replac, W\+O\+RD level)
\item 
\mbox{\Hypertarget{ratio_8c_ab60a8454232eca696b1a6c088d549e42}\label{ratio_8c_ab60a8454232eca696b1a6c088d549e42}} 
int {\bfseries G\+C\+Dfunction} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD level)
\item 
\mbox{\Hypertarget{ratio_8c_aa530a8631a4a91672841ffe4b193a060}\label{ratio_8c_aa530a8631a4a91672841ffe4b193a060}} 
W\+O\+RD $\ast$ {\bfseries G\+C\+Dfunction3} (P\+H\+E\+AD W\+O\+RD $\ast$in1, W\+O\+RD $\ast$in2)
\item 
\mbox{\Hypertarget{ratio_8c_ad39b0c5d381161800b1f29d4f281f0f3}\label{ratio_8c_ad39b0c5d381161800b1f29d4f281f0f3}} 
W\+O\+RD $\ast$ {\bfseries Put\+Extra\+Symbols} (P\+H\+E\+AD W\+O\+RD $\ast$in, W\+O\+RD startebuf, int $\ast$actionflag)
\item 
\mbox{\Hypertarget{ratio_8c_a3129cc9fceabd0b06cf1cc9f2cf1ac7b}\label{ratio_8c_a3129cc9fceabd0b06cf1cc9f2cf1ac7b}} 
W\+O\+RD $\ast$ {\bfseries Take\+Extra\+Symbols} (P\+H\+E\+AD W\+O\+RD $\ast$in, W\+O\+RD startebuf)
\item 
\mbox{\Hypertarget{ratio_8c_ad23517bd1e370a7852f770a2c9e2533e}\label{ratio_8c_ad23517bd1e370a7852f770a2c9e2533e}} 
W\+O\+RD $\ast$ {\bfseries Multiply\+With\+Term} (P\+H\+E\+AD W\+O\+RD $\ast$in, W\+O\+RD $\ast$term, W\+O\+RD par)
\item 
W\+O\+RD $\ast$ \mbox{\hyperlink{ratio_8c_aa04fbd5b4b771c7227b56e3719f7bb52}{Take\+Content}} (P\+H\+E\+AD W\+O\+RD $\ast$in, W\+O\+RD $\ast$term)
\item 
\mbox{\Hypertarget{ratio_8c_a0c658eaeb5c7cb4963f118162834828e}\label{ratio_8c_a0c658eaeb5c7cb4963f118162834828e}} 
int {\bfseries Merge\+Symbol\+Lists} (P\+H\+E\+AD W\+O\+RD $\ast$old, W\+O\+RD $\ast$extra, int par)
\item 
\mbox{\Hypertarget{ratio_8c_a9d3e8e05c2176e060328b767805decf0}\label{ratio_8c_a9d3e8e05c2176e060328b767805decf0}} 
int {\bfseries Merge\+Dotproduct\+Lists} (P\+H\+E\+AD W\+O\+RD $\ast$old, W\+O\+RD $\ast$extra, int par)
\item 
\mbox{\Hypertarget{ratio_8c_a3e83662a5fb4d190cc3f16e93144efbe}\label{ratio_8c_a3e83662a5fb4d190cc3f16e93144efbe}} 
W\+O\+RD $\ast$ {\bfseries Create\+Expression} (P\+H\+E\+AD W\+O\+RD nexp)
\item 
\mbox{\Hypertarget{ratio_8c_a060345aa54207d0cfddeca5405cdf39a}\label{ratio_8c_a060345aa54207d0cfddeca5405cdf39a}} 
int {\bfseries G\+C\+Dterms} (P\+H\+E\+AD W\+O\+RD $\ast$term1, W\+O\+RD $\ast$term2, W\+O\+RD $\ast$termout)
\item 
\mbox{\Hypertarget{ratio_8c_a8fe4b4d974c60c93a84234a60b893a03}\label{ratio_8c_a8fe4b4d974c60c93a84234a60b893a03}} 
int {\bfseries Read\+Poly\+Rat\+Fun} (P\+H\+E\+AD W\+O\+RD $\ast$term)
\item 
\mbox{\Hypertarget{ratio_8c_aa40e29f6b179aa5245cc1bd115423369}\label{ratio_8c_aa40e29f6b179aa5245cc1bd115423369}} 
int {\bfseries From\+Poly\+Rat\+Fun} (P\+H\+E\+AD W\+O\+RD $\ast$fun, W\+O\+RD $\ast$$\ast$numout, W\+O\+RD $\ast$$\ast$denout)
\item 
W\+O\+RD $\ast$ \mbox{\hyperlink{ratio_8c_a46554b8296359095fac36b797148d291}{Take\+Symbol\+Content}} (P\+H\+E\+AD W\+O\+RD $\ast$in, W\+O\+RD $\ast$term)
\item 
\mbox{\Hypertarget{ratio_8c_af232d4da31875e895efb0d8f106c7d08}\label{ratio_8c_af232d4da31875e895efb0d8f106c7d08}} 
void {\bfseries G\+C\+Dclean} (P\+H\+E\+AD W\+O\+RD $\ast$num, W\+O\+RD $\ast$den)
\item 
\mbox{\Hypertarget{ratio_8c_a4b9655167da57c87824c6809a3623cab}\label{ratio_8c_a4b9655167da57c87824c6809a3623cab}} 
W\+O\+RD $\ast$ {\bfseries Poly\+Div} (P\+H\+E\+AD W\+O\+RD $\ast$a, W\+O\+RD $\ast$b, char $\ast$text)
\item 
\mbox{\Hypertarget{ratio_8c_a0d156ccece7b7ebfce5851d338abd3a4}\label{ratio_8c_a0d156ccece7b7ebfce5851d338abd3a4}} 
int {\bfseries D\+I\+Vfunction} (P\+H\+E\+AD W\+O\+RD $\ast$term, W\+O\+RD level, int par)
\item 
\mbox{\Hypertarget{ratio_8c_aaaed1c984ab05c1873a4e44752c856d2}\label{ratio_8c_aaaed1c984ab05c1873a4e44752c856d2}} 
W\+O\+RD $\ast$ {\bfseries M\+U\+Lfunc} (P\+H\+E\+AD W\+O\+RD $\ast$p1, W\+O\+RD $\ast$p2)
\item 
\mbox{\Hypertarget{ratio_8c_a62b70662f5713e6f233c6782f555ff26}\label{ratio_8c_a62b70662f5713e6f233c6782f555ff26}} 
W\+O\+RD $\ast$ {\bfseries Convert\+Argument} (P\+H\+E\+AD W\+O\+RD $\ast$arg, int $\ast$type)
\item 
\mbox{\Hypertarget{ratio_8c_aa49bb78c48d656926623666a7a04058e}\label{ratio_8c_aa49bb78c48d656926623666a7a04058e}} 
int {\bfseries Expand\+Rat} (P\+H\+E\+AD W\+O\+RD $\ast$fun)
\item 
\mbox{\Hypertarget{ratio_8c_a4981df38011deae7cddca6874ee305fb}\label{ratio_8c_a4981df38011deae7cddca6874ee305fb}} 
int {\bfseries Inv\+Poly} (P\+H\+E\+AD W\+O\+RD $\ast$inpoly, W\+O\+RD maxpow, W\+O\+RD sym)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{ratio_8c_a83a62a8bdd3cfb972cc999f3b9942212}\label{ratio_8c_a83a62a8bdd3cfb972cc999f3b9942212}} 
W\+O\+RD {\bfseries divrem} \mbox{[}4\mbox{]} = \{ D\+I\+V\+F\+U\+N\+C\+T\+I\+ON, R\+E\+M\+F\+U\+N\+C\+T\+I\+ON, I\+N\+V\+E\+R\+S\+E\+F\+U\+N\+C\+T\+I\+ON, M\+U\+L\+F\+U\+N\+C\+T\+I\+ON \}
\item 
char $\ast$ {\bfseries The\+Error\+Message} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A variety of routines\+: The ratio command for partial fractioning (rather old. Schoonschip inheritance) The sum routines. 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ratio_8c_aa04fbd5b4b771c7227b56e3719f7bb52}\label{ratio_8c_aa04fbd5b4b771c7227b56e3719f7bb52}} 
\index{ratio.c@{ratio.c}!TakeContent@{TakeContent}}
\index{TakeContent@{TakeContent}!ratio.c@{ratio.c}}
\doxysubsubsection{\texorpdfstring{TakeContent()}{TakeContent()}}
{\footnotesize\ttfamily W\+O\+RD$\ast$ Take\+Content (\begin{DoxyParamCaption}\item[{P\+H\+E\+AD W\+O\+RD $\ast$}]{in,  }\item[{W\+O\+RD $\ast$}]{term }\end{DoxyParamCaption})}

Implements part of the old Exec\+Arg in which we take common factors from arguments with more than one term. Here the input is a sequence of terms in \textquotesingle{}in\textquotesingle{} and the answer is a content-\/free sequence of terms. This sequence has been allocated by the Malloc1 routine in a call to End\+Sort, unless the expression was already content-\/free. In that case the input pointer is returned. The content is returned in term. This is supposed to be a separate allocation, made by Term\+Malloc in the calling routine. 

Definition at line 1376 of file ratio.\+c.

\mbox{\Hypertarget{ratio_8c_a46554b8296359095fac36b797148d291}\label{ratio_8c_a46554b8296359095fac36b797148d291}} 
\index{ratio.c@{ratio.c}!TakeSymbolContent@{TakeSymbolContent}}
\index{TakeSymbolContent@{TakeSymbolContent}!ratio.c@{ratio.c}}
\doxysubsubsection{\texorpdfstring{TakeSymbolContent()}{TakeSymbolContent()}}
{\footnotesize\ttfamily W\+O\+RD$\ast$ Take\+Symbol\+Content (\begin{DoxyParamCaption}\item[{P\+H\+E\+AD W\+O\+RD $\ast$}]{in,  }\item[{W\+O\+RD $\ast$}]{term }\end{DoxyParamCaption})}

Implements part of the old Exec\+Arg in which we take common factors from arguments with more than one term. We allow only symbols as this code is used for the polyratfun only. We have a special routine, because the generic Take\+Content does too much work and speed is at a premium here. Input\+: in is the input expression as a sequence of terms. Output\+: term\+: the content return value\+: the contentfree expression. it is in new allocation, made by Term\+Malloc. (should be in a Term\+Malloc space?) 

Definition at line 2434 of file ratio.\+c.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ratio_8c_a23d151f7395eb6c99e545db199d3b4a5}\label{ratio_8c_a23d151f7395eb6c99e545db199d3b4a5}} 
\index{ratio.c@{ratio.c}!TheErrorMessage@{TheErrorMessage}}
\index{TheErrorMessage@{TheErrorMessage}!ratio.c@{ratio.c}}
\doxysubsubsection{\texorpdfstring{TheErrorMessage}{TheErrorMessage}}
{\footnotesize\ttfamily char$\ast$ The\+Error\+Message\mbox{[}$\,$\mbox{]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{     \textcolor{stringliteral}{"PolyRatFun not of a type that FORM will expand: incorrect variable inside."}}
\DoxyCodeLine{    ,\textcolor{stringliteral}{"Division by zero in PolyRatFun encountered in ExpandRat."}}
\DoxyCodeLine{    ,\textcolor{stringliteral}{"Irregular code in PolyRatFun encountered in ExpandRat."}}
\DoxyCodeLine{    ,\textcolor{stringliteral}{"Called from ExpandRat."}}
\DoxyCodeLine{    ,\textcolor{stringliteral}{"WorkSpace overflow. Change parameter WorkSpace in setup file?"}}
\DoxyCodeLine{    \}}

\end{DoxyCode}


Definition at line 3105 of file ratio.\+c.

