qht_entry_move(struct qht_bucket *to, int i, struct qht_bucket *from, int j)

{

    qht_debug_assert(!(to == from && i == j));

    qht_debug_assert(to->pointers[i]);

    qht_debug_assert(from->pointers[j]);



    to->hashes[i] = from->hashes[j];

    atomic_set(&to->pointers[i], from->pointers[j]);



    from->hashes[j] = 0;

    atomic_set(&from->pointers[j], NULL);

}

qht_entry_move(struct qht_bucket *to, int i, struct qht_bucket *from, int j)

{

    qht_debug_assert(!(to == from && i == j));

    qht_debug_assert(to->pointers[i]);

    qht_debug_assert(from->pointers[j]);



    to->hashes[i] = from->hashes[j];

    atomic_set(&to->pointers[i], from->pointers[j]);



    from->hashes[j] = 0;

    atomic_set(&from->pointers[j], NULL);

}

    to->hashes[i] = from->hashes[j];     from->hashes[j] = 0;
FUNC_0(struct qht_bucket *VAR_0, int VAR_1, struct qht_bucket *VAR_2, int VAR_3)

{

    qht_debug_assert(!(VAR_0 == VAR_2 && VAR_1 == VAR_3));

    qht_debug_assert(VAR_0->pointers[VAR_1]);

    qht_debug_assert(VAR_2->pointers[VAR_3]);



    VAR_0->hashes[VAR_1] = VAR_2->hashes[VAR_3];

    atomic_set(&VAR_0->pointers[VAR_1], VAR_2->pointers[VAR_3]);



    VAR_2->hashes[VAR_3] = 0;

    atomic_set(&VAR_2->pointers[VAR_3], NULL);

}

FUNC_0(struct qht_bucket *VAR_0, int VAR_1, struct qht_bucket *VAR_2, int VAR_3)
{ qht_debug_assert(!(VAR_0 == VAR_2 && VAR_1 == VAR_3)); qht_debug_assert(VAR_0->pointers[VAR_1]); qht_debug_assert(VAR_2->pointers[VAR_3]); VAR_0->hashes[VAR_1] = VAR_2->hashes[VAR_3]; atomic_set(&VAR_0->pointers[VAR_1], VAR_2->pointers[VAR_3]); VAR_2->hashes[VAR_3] = 0; atomic_set(&VAR_2->pointers[VAR_3], NULL); }