コード例 #1
0
int main(int argc, char **argv) {

    void CheckBuckets(struct gainbucket GB, long n, long bs);

    long n, bs, i, j, offset;
    struct gainbucket GB ;

    printf("Test BucketInsert: ");
    n= 100 ; /* number of buckets */
    bs = 5; /* bucket size */
    offset = n/2 ;

    /* Insert vertices in increasing order of gain value */
    GB.NrBuckets =0 ;
    GB.Root = NULL ;
    for (j=0; j<bs; j++)
        for (i=0; i<n; i++)
            BucketInsert(&GB, i-offset, j*n + i) ;

    CheckBuckets(GB, n, bs) ;
    
    printf("OK\n") ;
    exit(0);

} /* end main */
コード例 #2
0
ファイル: bucket.c プロジェクト: 111220187/revdedup
/**
 * Main loop for processing segments
 * @param ptr		useless
 */
static void * process(void * ptr) {
	Bucket * b = NULL;
	Segment * seg = NULL;
	int turn = 0;
	while ((seg = (Segment *) Dequeue(service._iq)) != NULL) {
		if (seg->unique) {
			b = BucketInsert(b, seg);
		}
		Enqueue(service._oq, seg);
	}
	if (b != NULL) {
		SaveBucket(b);
	}
	Enqueue(service._oq, NULL);
	return NULL;
}