for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i] + ka_test_offset;
rcu_read_lock();
- ja_node = cds_ja_lookup_below_equal(test_ja, key);
+ ja_node = cds_ja_lookup_below_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup below equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i] - ka_test_offset;
rcu_read_lock();
- ja_node = cds_ja_lookup_above_equal(test_ja, key);
+ ja_node = cds_ja_lookup_above_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup above equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i]; /* without offset */
rcu_read_lock();
- ja_node = cds_ja_lookup_below_equal(test_ja, key);
+ ja_node = cds_ja_lookup_below_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup below equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
- ja_node = cds_ja_lookup_above_equal(test_ja, key);
+ ja_node = cds_ja_lookup_above_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup above equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();
}
printf("OK\n");
- printf("Test #5: lookup below equal (16-bit).\n");
+ printf("Test #5: lookup below/above equal (16-bit).\n");
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct ja_test_node *node = node_alloc();
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i] + ka_test_offset;
rcu_read_lock();
- ja_node = cds_ja_lookup_below_equal(test_ja, key);
+ ja_node = cds_ja_lookup_below_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup below equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i] - ka_test_offset;
rcu_read_lock();
- ja_node = cds_ja_lookup_above_equal(test_ja, key);
+ ja_node = cds_ja_lookup_above_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup above equal. Cannot find expected key %" PRIu64" above or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " above or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " above or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();
for (i = 0; i < CAA_ARRAY_SIZE(ka); i++) {
struct cds_ja_node *ja_node;
struct ja_test_node *node;
+ uint64_t result_key;
key = ka[i]; /* without offset */
rcu_read_lock();
- ja_node = cds_ja_lookup_below_equal(test_ja, key);
+ ja_node = cds_ja_lookup_below_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup below equal. Cannot find expected key %" PRIu64" below or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup below equal. Expecting key %" PRIu64 " below or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
- ja_node = cds_ja_lookup_above_equal(test_ja, key);
+ ja_node = cds_ja_lookup_above_equal(test_ja, key, &result_key);
if (!ja_node) {
fprintf(stderr, "Error lookup above equal. Cannot find expected key %" PRIu64" above or equal to %" PRIu64 ".\n",
ka[i], key);
assert(0);
}
node = caa_container_of(ja_node, struct ja_test_node, node);
- if (node->key != ka[i]) {
- fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " above or equal to %" PRIu64 ", but found %" PRIu64 " instead.\n",
- ka[i], key, node->key);
+ if (node->key != ka[i] || result_key != ka[i]) {
+ fprintf(stderr, "Error lookup above equal. Expecting key %" PRIu64 " above or equal to %" PRIu64 ", but found %" PRIu64 "/%" PRIu64" instead.\n",
+ ka[i], key, node->key, result_key);
assert(0);
}
rcu_read_unlock();