FORM 4.3
notation.c File Reference
#include "form3.h"

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)
 
WORD FindSubterm (WORD *subterm)
 
WORD FindLocalSubterm (PHEAD WORD *subterm, WORD startebuf)
 
void PrintSubtermList (int from, int to)
 
void PrintExtraSymbol (int num, WORD *terms, int par)
 
WORD 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()

WORD FindSubterm ( WORD * subterm)

Definition at line 773 of file notation.c.

◆ FindLocalSubterm()

WORD FindLocalSubterm ( PHEAD WORD * subterm,
WORD startebuf )

Definition at line 842 of file notation.c.

◆ PrintSubtermList()

void PrintSubtermList ( int from,
int to )

Definition at line 895 of file notation.c.

◆ PrintExtraSymbol()

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

Definition at line 1007 of file notation.c.

◆ FindSubexpression()

WORD FindSubexpression ( WORD * subexpr)

Definition at line 1094 of file notation.c.

◆ ExtraSymFun()

int ExtraSymFun ( PHEAD WORD * term,
WORD level )

Definition at line 1146 of file notation.c.

◆ PruneExtraSymbols()

int PruneExtraSymbols ( WORD downto)

Definition at line 1214 of file notation.c.