static void make_edge ( hashtable2 * ht, int K_size, FILE * fp ) //63 127 same { bucket2 * bktptr; for ( size_t i = 0; i < ht->ht_sz; ++i ) { bktptr = ht->store_pos[i]; while ( bktptr != NULL ) { startEdgeFromNode ( ht, K_size, bktptr, fp ); bktptr = bktptr->nxt_bucket; } } }
void make_edge ( FILE * fp ) { int i = 0; kmer_t * node1; KmerSet * set; KmerSetsPatch = ( KmerSet ** ) ckalloc ( thrd_num * sizeof ( KmerSet * ) ); for ( i = 0; i < thrd_num; i++ ) { KmerSetsPatch[i] = init_kmerset ( 1000, K_LOAD_FACTOR ); } nodeStack = ( STACK * ) createStack ( KMERPTBLOCKSIZE, sizeof ( KMER_PT ) ); bal_nodeStack = ( STACK * ) createStack ( KMERPTBLOCKSIZE, sizeof ( KMER_PT ) ); edge_c = nodeCounter = 0; edgeCounter = 0; for ( i = 0; i < thrd_num; i++ ) { set = KmerSets[i]; set->iter_ptr = 0; while ( set->iter_ptr < set->size ) { if ( !is_kmer_entity_null ( set->flags, set->iter_ptr ) ) { node1 = set->array + set->iter_ptr; startEdgeFromNode ( node1, fp ); } set->iter_ptr ++; } } printf ( "%d (%d) edges %d extra nodes\n", edge_c, edgeCounter, nodeCounter ); freeStack ( nodeStack ); freeStack ( bal_nodeStack ); }