namefind - hash table for strings
This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
#include mutnnn.h"
char *namefind(inputname)
char *inputname;
The namefind function search the mbk dictionnary of names. If the string
has already been inserted in the dictionnary, then a pointer to this
string is return, else namefind returns NULL.
The case of the letters do not matter. All names are changed to lower case
before beeing searched in the symbol table. This is needed because most of
the file format do not check case.
namefind is used by all mbk utility function using names, so its use
should be needed only when directly filling or modifing the structure, or
when having to compare an external string to mbk internal ones. This
should speed up string comparisons.
One shall never modify the contains of a string pointed to by a result of
namefind, since all the field that points to this name would have there
values modified, and that there is no chance that the new hash code will
be the same as the old one, so pointer comparison would be meaningless.
All string used by namefind are constants string, and therefore must be
left alone.
namefind returns a string pointer if the inputname is already in the hash table, else NULL.
#include mutnnn.h"
#include mlonnn.h"
lofig_list *find_fig(name)
char *name;
{
lofig_list *p;
name = namefind(name)
;
if (name == NULL)
return NULL;
for (p = HEAD_LOFIG; p; p = p->NEXT)
if (p->NAME == name) /* pointer equality */
return p;
return NULL;
}
namefind can be used only after a call to mbkenv(3) .
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.