Table of Contents

Name

sethtitem - test and set an item in an hash table.

Origin

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

Synopsys

#include mut315.h"
int sethtitem(table, key)
ht *table;
void *key;

Parameters

table
Hash table pointer
key
Key used by the hash coding function to set an item

Description

sethtitem() adds an item in the hash table pointed to by table, whether it existed or not, and returns an appropriate value. This is kind of a test and set operator.

Return Value

If the key exists, the funtion return 1, if it doesn't, the item is stored and the function returns 0.

Example

#include <stdio.h>
#include mut315.h"
checksigname(p)
lofig_list *p;
{
int i;
losig_list *ptsig;
locon_list *ptcon;
ht *h;
char *amatla;
for (i = 0, ptsig = p->LOSIG; ptsig; i++, ptsig = ptsig->NEXT); h = addht(i << 1); /* half empty hash tables are faster! */ for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT) addhtitem(h, ptcon->NAME, 0);
for (ptsig = p->LOSIG; ptsig; ptsig = ptsig->NEXT) { if (ptsig->TYPE == INTERNAL) {

amatla = getsigname(ptsig) ;
if (!sethtitem(h, amatla, 0))
printf("node %s is now unique\n", amatla); }
}
delht(h);
}

Errors

*** mbk error *** sethtitem impossible : value is EMPTYHT or DELETEHT" The values EMPTYHT, -1, and DELETEHT, -2, are reserved for internal use, sorry.

Diagnostics

The value must be distinct from -1 and -2.

See Also

mbk(1) , addht(3) , delht(3) , addhtitem(3) , gethtitem(3) , delhtitem(3) , viewht(3) .

Bug Report

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.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.