FORM  4.2.1
Data Structures | Functions | Variables
ratio.c File Reference
#include "form3.h"

Go to the source code of this file.

Data Structures

struct  ARGBUFFER
 

Functions

WORD RatioFind (PHEAD WORD *term, WORD *params)
 
WORD RatioGen (PHEAD WORD *term, WORD *params, WORD num, WORD level)
 
WORD BinomGen (PHEAD WORD *term, WORD level, WORD **tstops, WORD x1, WORD x2, WORD pow1, WORD pow2, WORD sign, UWORD *coef, WORD ncoef)
 
WORD DoSumF1 (PHEAD WORD *term, WORD *params, WORD replac, WORD level)
 
WORD Glue (PHEAD WORD *term1, WORD *term2, WORD *sub, WORD insert)
 
WORD DoSumF2 (PHEAD WORD *term, WORD *params, WORD replac, WORD level)
 
int GCDfunction (PHEAD WORD *term, WORD level)
 
WORD * GCDfunction3 (PHEAD WORD *in1, WORD *in2)
 
WORD * PutExtraSymbols (PHEAD WORD *in, WORD startebuf, int *actionflag)
 
WORD * TakeExtraSymbols (PHEAD WORD *in, WORD startebuf)
 
WORD * MultiplyWithTerm (PHEAD WORD *in, WORD *term, WORD par)
 
WORD * TakeContent (PHEAD WORD *in, WORD *term)
 
int MergeSymbolLists (PHEAD WORD *old, WORD *extra, int par)
 
int MergeDotproductLists (PHEAD WORD *old, WORD *extra, int par)
 
WORD * CreateExpression (PHEAD WORD nexp)
 
int GCDterms (PHEAD WORD *term1, WORD *term2, WORD *termout)
 
int ReadPolyRatFun (PHEAD WORD *term)
 
int FromPolyRatFun (PHEAD WORD *fun, WORD **numout, WORD **denout)
 
WORD * TakeSymbolContent (PHEAD WORD *in, WORD *term)
 
void GCDclean (PHEAD WORD *num, WORD *den)
 
WORD * PolyDiv (PHEAD WORD *a, WORD *b, char *text)
 
int DIVfunction (PHEAD WORD *term, WORD level, int par)
 
WORD * MULfunc (PHEAD WORD *p1, WORD *p2)
 
WORD * ConvertArgument (PHEAD WORD *arg, int *type)
 
int ExpandRat (PHEAD WORD *fun)
 
int InvPoly (PHEAD WORD *inpoly, WORD maxpow, WORD sym)
 

Variables

WORD divrem [4] = { DIVFUNCTION, REMFUNCTION, INVERSEFUNCTION, MULFUNCTION }
 
char * TheErrorMessage []
 

Detailed Description

A variety of routines: The ratio command for partial fractioning (rather old. Schoonschip inheritance) The sum routines.

Definition in file ratio.c.

Function Documentation

WORD* TakeContent ( PHEAD WORD *  in,
WORD *  term 
)

Implements part of the old ExecArg in which we take common factors from arguments with more than one term. Here the input is a sequence of terms in 'in' and the answer is a content-free sequence of terms. This sequence has been allocated by the Malloc1 routine in a call to EndSort, 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 TermMalloc in the calling routine.

Definition at line 1376 of file ratio.c.

References GetModInverses().

WORD* TakeSymbolContent ( PHEAD WORD *  in,
WORD *  term 
)

Implements part of the old ExecArg 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 TakeContent 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 TermMalloc. (should be in a TermMalloc space?)

Definition at line 2434 of file ratio.c.

References GetModInverses().

Variable Documentation

char* TheErrorMessage[]
Initial value:
= {
"PolyRatFun not of a type that FORM will expand: incorrect variable inside."
,"Division by zero in PolyRatFun encountered in ExpandRat."
,"Irregular code in PolyRatFun encountered in ExpandRat."
,"Called from ExpandRat."
,"WorkSpace overflow. Change parameter WorkSpace in setup file?"
}

Definition at line 3105 of file ratio.c.