FORM 4.3
Functions
names.c File Reference
#include "form3.h"

Go to the source code of this file.

Functions

NAMENODEGetNode (NAMETREE *nametree, UBYTE *name)
 
int AddName (NAMETREE *nametree, UBYTE *name, WORD type, WORD number, int *nodenum)
 
int GetName (NAMETREE *nametree, UBYTE *name, WORD *number, int par)
 
UBYTE * GetFunction (UBYTE *s, WORD *funnum)
 
UBYTE * GetNumber (UBYTE *s, WORD *num)
 
int GetLastExprName (UBYTE *name, WORD *number)
 
int GetOName (NAMETREE *nametree, UBYTE *name, WORD *number, int par)
 
int GetAutoName (UBYTE *name, WORD *number)
 
int GetVar (UBYTE *name, WORD *type, WORD *number, int wantedtype, int par)
 
WORD EntVar (WORD type, UBYTE *name, WORD x, WORD y, WORD z, WORD d)
 
int GetDollar (UBYTE *name)
 
VOID DumpTree (NAMETREE *nametree)
 
VOID DumpNode (NAMETREE *nametree, WORD node, WORD depth)
 
int CompactifyTree (NAMETREE *nametree, WORD par)
 
VOID CopyTree (NAMETREE *newtree, NAMETREE *oldtree, WORD node, WORD par)
 
VOID LinkTree (NAMETREE *tree, WORD offset, WORD numnodes)
 
NAMETREEMakeNameTree ()
 
VOID FreeNameTree (NAMETREE *n)
 
void ClearWildcardNames ()
 
int AddWildcardName (UBYTE *name)
 
int GetWildcardName (UBYTE *name)
 
int AddSymbol (UBYTE *name, int minpow, int maxpow, int cplx, int dim)
 
int CoSymbol (UBYTE *s)
 
int AddIndex (UBYTE *name, int dim, int dim4)
 
int CoIndex (UBYTE *s)
 
UBYTE * DoDimension (UBYTE *s, int *dim, int *dim4)
 
int CoDimension (UBYTE *s)
 
int AddVector (UBYTE *name, int cplx, int dim)
 
int CoVector (UBYTE *s)
 
int AddFunction (UBYTE *name, int comm, int istensor, int cplx, int symprop, int dim, int argmax, int argmin)
 
int CoCommuteInSet (UBYTE *s)
 
int CoFunction (UBYTE *s, int comm, int istensor)
 
int CoNFunction (UBYTE *s)
 
int CoCFunction (UBYTE *s)
 
int CoNTensor (UBYTE *s)
 
int CoCTensor (UBYTE *s)
 
int DoTable (UBYTE *s, int par)
 
int CoTable (UBYTE *s)
 
int CoNTable (UBYTE *s)
 
int CoCTable (UBYTE *s)
 
void EmptyTable (TABLES T)
 
int AddSet (UBYTE *name, WORD dim)
 
int DoElements (UBYTE *s, SETS set, UBYTE *name)
 
int CoSet (UBYTE *s)
 
int DoTempSet (UBYTE *from, UBYTE *to)
 
int CoAuto (UBYTE *inp)
 
int AddDollar (UBYTE *name, WORD type, WORD *start, LONG size)
 
int ReplaceDollar (WORD number, WORD newtype, WORD *newstart, LONG newsize)
 
int AddDubious (UBYTE *name)
 
int MakeDubious (NAMETREE *nametree, UBYTE *name, WORD *number)
 
int NameConflict (int type, UBYTE *name)
 
int AddExpression (UBYTE *name, int x, int y)
 
int GetLabel (UBYTE *name)
 
void ResetVariables (int par)
 
void RemoveDollars ()
 
void Globalize (int par)
 
int TestName (UBYTE *name)
 

Detailed Description

The complete names administration. All variables with a name have to pass here to be properly registered, have structs of the proper type assigned to them etc. The file also contains the utility routines for maintaining the balanced trees that make searching for names rather fast.

Definition in file names.c.

Function Documentation

◆ GetNode()

NAMENODE * GetNode ( NAMETREE * nametree,
UBYTE * name )

Definition at line 49 of file names.c.

◆ AddName()

int AddName ( NAMETREE * nametree,
UBYTE * name,
WORD type,
WORD number,
int * nodenum )

Definition at line 71 of file names.c.

◆ GetName()

int GetName ( NAMETREE * nametree,
UBYTE * name,
WORD * number,
int par )

Definition at line 252 of file names.c.

◆ GetFunction()

UBYTE * GetFunction ( UBYTE * s,
WORD * funnum )

Definition at line 340 of file names.c.

◆ GetNumber()

UBYTE * GetNumber ( UBYTE * s,
WORD * num )

Definition at line 386 of file names.c.

◆ GetLastExprName()

int GetLastExprName ( UBYTE * name,
WORD * number )

Definition at line 436 of file names.c.

◆ GetOName()

int GetOName ( NAMETREE * nametree,
UBYTE * name,
WORD * number,
int par )

Definition at line 458 of file names.c.

◆ GetAutoName()

int GetAutoName ( UBYTE * name,
WORD * number )

Definition at line 477 of file names.c.

◆ GetVar()

int GetVar ( UBYTE * name,
WORD * type,
WORD * number,
int wantedtype,
int par )

Definition at line 522 of file names.c.

◆ EntVar()

WORD EntVar ( WORD type,
UBYTE * name,
WORD x,
WORD y,
WORD z,
WORD d )

Definition at line 555 of file names.c.

◆ GetDollar()

int GetDollar ( UBYTE * name)

Definition at line 588 of file names.c.

◆ DumpTree()

VOID DumpTree ( NAMETREE * nametree)

Definition at line 600 of file names.c.

◆ DumpNode()

VOID DumpNode ( NAMETREE * nametree,
WORD node,
WORD depth )

Definition at line 613 of file names.c.

◆ CompactifyTree()

int CompactifyTree ( NAMETREE * nametree,
WORD par )

Definition at line 632 of file names.c.

◆ CopyTree()

VOID CopyTree ( NAMETREE * newtree,
NAMETREE * oldtree,
WORD node,
WORD par )

Definition at line 694 of file names.c.

◆ LinkTree()

VOID LinkTree ( NAMETREE * tree,
WORD offset,
WORD numnodes )

Definition at line 782 of file names.c.

◆ MakeNameTree()

NAMETREE * MakeNameTree ( )

Definition at line 813 of file names.c.

◆ FreeNameTree()

VOID FreeNameTree ( NAMETREE * n)

Definition at line 832 of file names.c.

◆ ClearWildcardNames()

void ClearWildcardNames ( )

Definition at line 847 of file names.c.

◆ AddWildcardName()

int AddWildcardName ( UBYTE * name)

Definition at line 852 of file names.c.

◆ GetWildcardName()

int GetWildcardName ( UBYTE * name)

Definition at line 896 of file names.c.

◆ AddSymbol()

int AddSymbol ( UBYTE * name,
int minpow,
int maxpow,
int cplx,
int dim )

Definition at line 918 of file names.c.

◆ CoSymbol()

int CoSymbol ( UBYTE * s)

Definition at line 944 of file names.c.

◆ AddIndex()

int AddIndex ( UBYTE * name,
int dim,
int dim4 )

Definition at line 1086 of file names.c.

◆ CoIndex()

int CoIndex ( UBYTE * s)

Definition at line 1110 of file names.c.

◆ DoDimension()

UBYTE * DoDimension ( UBYTE * s,
int * dim,
int * dim4 )

Definition at line 1158 of file names.c.

◆ CoDimension()

int CoDimension ( UBYTE * s)

Definition at line 1224 of file names.c.

◆ AddVector()

int AddVector ( UBYTE * name,
int cplx,
int dim )

Definition at line 1242 of file names.c.

◆ CoVector()

int CoVector ( UBYTE * s)

Definition at line 1265 of file names.c.

◆ AddFunction()

int AddFunction ( UBYTE * name,
int comm,
int istensor,
int cplx,
int symprop,
int dim,
int argmax,
int argmin )

Definition at line 1324 of file names.c.

◆ CoCommuteInSet()

int CoCommuteInSet ( UBYTE * s)

Definition at line 1354 of file names.c.

◆ CoFunction()

int CoFunction ( UBYTE * s,
int comm,
int istensor )

Definition at line 1444 of file names.c.

◆ CoNFunction()

int CoNFunction ( UBYTE * s)

Definition at line 1622 of file names.c.

◆ CoCFunction()

int CoCFunction ( UBYTE * s)

Definition at line 1623 of file names.c.

◆ CoNTensor()

int CoNTensor ( UBYTE * s)

Definition at line 1624 of file names.c.

◆ CoCTensor()

int CoCTensor ( UBYTE * s)

Definition at line 1625 of file names.c.

◆ DoTable()

int DoTable ( UBYTE * s,
int par )

Definition at line 1659 of file names.c.

◆ CoTable()

int CoTable ( UBYTE * s)

Definition at line 2022 of file names.c.

◆ CoNTable()

int CoNTable ( UBYTE * s)

Definition at line 2032 of file names.c.

◆ CoCTable()

int CoCTable ( UBYTE * s)

Definition at line 2042 of file names.c.

◆ EmptyTable()

void EmptyTable ( TABLES T)

Definition at line 2052 of file names.c.

◆ AddSet()

int AddSet ( UBYTE * name,
WORD dim )

Definition at line 2096 of file names.c.

◆ DoElements()

int DoElements ( UBYTE * s,
SETS set,
UBYTE * name )

Definition at line 2129 of file names.c.

◆ CoSet()

int CoSet ( UBYTE * s)

Definition at line 2326 of file names.c.

◆ DoTempSet()

int DoTempSet ( UBYTE * from,
UBYTE * to )

Definition at line 2420 of file names.c.

◆ CoAuto()

int CoAuto ( UBYTE * inp)

Definition at line 2512 of file names.c.

◆ AddDollar()

int AddDollar ( UBYTE * name,
WORD type,
WORD * start,
LONG size )

Definition at line 2542 of file names.c.

◆ ReplaceDollar()

int ReplaceDollar ( WORD number,
WORD newtype,
WORD * newstart,
LONG newsize )

Definition at line 2586 of file names.c.

◆ AddDubious()

int AddDubious ( UBYTE * name)

Definition at line 2619 of file names.c.

◆ MakeDubious()

int MakeDubious ( NAMETREE * nametree,
UBYTE * name,
WORD * number )

Definition at line 2633 of file names.c.

◆ NameConflict()

int NameConflict ( int type,
UBYTE * name )

Definition at line 2668 of file names.c.

◆ AddExpression()

int AddExpression ( UBYTE * name,
int x,
int y )

Definition at line 2684 of file names.c.

◆ GetLabel()

int GetLabel ( UBYTE * name)

Definition at line 2726 of file names.c.

◆ ResetVariables()

void ResetVariables ( int par)

Definition at line 2771 of file names.c.

◆ RemoveDollars()

void RemoveDollars ( )

Definition at line 3067 of file names.c.

◆ Globalize()

void Globalize ( int par)

Definition at line 3094 of file names.c.

◆ TestName()

int TestName ( UBYTE * name)

Definition at line 3193 of file names.c.