FORM v5.0.0-35-g6318119
Functions
notation.c File Reference
#include "form3.h"
Include dependency graph for notation.c:

Go to the source code of this file.

Functions

int NormPolyTerm (PHEAD WORD *term)
 
int ConvertToPoly (PHEAD WORD *term, WORD *outterm, WORD *comlist, WORD par)
 
int LocalConvertToPoly (PHEAD WORD *term, WORD *outterm, WORD startebuf, WORD par)
 
int ConvertFromPoly (PHEAD WORD *term, WORD *outterm, WORD from, WORD to, WORD offset, WORD par)
 
int FindSubterm (WORD *subterm)
 
int FindLocalSubterm (PHEAD WORD *subterm, WORD startebuf)
 
void PrintSubtermList (int from, int to)
 
void PrintExtraSymbol (int num, WORD *terms, int par)
 
int FindSubexpression (WORD *subexpr)
 
int ExtraSymFun (PHEAD WORD *term, WORD level)
 
int PruneExtraSymbols (WORD downto)
 

Detailed Description

Contains the functions that deal with the rewriting and manipulation of expressions/terms in polynomial representation.

Definition in file notation.c.

Function Documentation

◆ NormPolyTerm()

int NormPolyTerm ( PHEAD WORD *  term)

Definition at line 53 of file notation.c.

◆ ConvertToPoly()

int ConvertToPoly ( PHEAD WORD *  term,
WORD *  outterm,
WORD *  comlist,
WORD  par 
)

Definition at line 307 of file notation.c.

◆ LocalConvertToPoly()

int LocalConvertToPoly ( PHEAD WORD *  term,
WORD *  outterm,
WORD  startebuf,
WORD  par 
)

Converts a generic term to polynomial notation in which there are only symbols and brackets. During conversion there will be only symbols. Brackets are stripped. Objects that need 'translation' are put inside a special compiler buffer and represented by a symbol. The numbering of the extra symbols is down from the maximum. In principle there can be a problem when running into the already assigned ones. This uses the FindTree for searching in the global tree and then looks further in the AT.ebufnum. This allows fully parallel processing. Hence we need no locks. Cannot be used in the same module as ConvertToPoly.

Definition at line 510 of file notation.c.

Referenced by poly_factorize_expression().

◆ ConvertFromPoly()

int ConvertFromPoly ( PHEAD WORD *  term,
WORD *  outterm,
WORD  from,
WORD  to,
WORD  offset,
WORD  par 
)

Definition at line 660 of file notation.c.

◆ FindSubterm()

int FindSubterm ( WORD *  subterm)

Definition at line 773 of file notation.c.

◆ FindLocalSubterm()

int FindLocalSubterm ( PHEAD WORD *  subterm,
WORD  startebuf 
)

Definition at line 843 of file notation.c.

◆ PrintSubtermList()

void PrintSubtermList ( int  from,
int  to 
)

Definition at line 897 of file notation.c.

◆ PrintExtraSymbol()

void PrintExtraSymbol ( int  num,
WORD *  terms,
int  par 
)

Definition at line 1009 of file notation.c.

◆ FindSubexpression()

int FindSubexpression ( WORD *  subexpr)

Definition at line 1096 of file notation.c.

◆ ExtraSymFun()

int ExtraSymFun ( PHEAD WORD *  term,
WORD  level 
)

Definition at line 1149 of file notation.c.

◆ PruneExtraSymbols()

int PruneExtraSymbols ( WORD  downto)

Definition at line 1217 of file notation.c.