Lines Matching refs:x3a
5649 static struct s_x3 *x3a; variable
5653 if( x3a ) return; in State_init()
5654 x3a = (struct s_x3*)malloc( sizeof(struct s_x3) ); in State_init()
5655 if( x3a ){ in State_init()
5656 x3a->size = 128; in State_init()
5657 x3a->count = 0; in State_init()
5658 x3a->tbl = (x3node*)calloc(128, sizeof(x3node) + sizeof(x3node*)); in State_init()
5659 if( x3a->tbl==0 ){ in State_init()
5660 free(x3a); in State_init()
5661 x3a = 0; in State_init()
5664 x3a->ht = (x3node**)&(x3a->tbl[128]); in State_init()
5665 for(i=0; i<128; i++) x3a->ht[i] = 0; in State_init()
5677 if( x3a==0 ) return 0; in State_insert()
5679 h = ph & (x3a->size-1); in State_insert()
5680 np = x3a->ht[h]; in State_insert()
5689 if( x3a->count>=x3a->size ){ in State_insert()
5693 array.size = arrSize = x3a->size*2; in State_insert()
5694 array.count = x3a->count; in State_insert()
5699 for(i=0; i<x3a->count; i++){ in State_insert()
5701 oldnp = &(x3a->tbl[i]); in State_insert()
5711 free(x3a->tbl); in State_insert()
5712 *x3a = array; in State_insert()
5715 h = ph & (x3a->size-1); in State_insert()
5716 np = &(x3a->tbl[x3a->count++]); in State_insert()
5719 if( x3a->ht[h] ) x3a->ht[h]->from = &(np->next); in State_insert()
5720 np->next = x3a->ht[h]; in State_insert()
5721 x3a->ht[h] = np; in State_insert()
5722 np->from = &(x3a->ht[h]); in State_insert()
5733 if( x3a==0 ) return 0; in State_find()
5734 h = statehash(key) & (x3a->size-1); in State_find()
5735 np = x3a->ht[h]; in State_find()
5750 if( x3a==0 ) return 0; in State_arrayof()
5751 arrSize = x3a->count; in State_arrayof()
5754 for(i=0; i<arrSize; i++) array[i] = x3a->tbl[i].data; in State_arrayof()