Merge branch 'master' into blender2.8
This commit is contained in:
@@ -83,16 +83,16 @@ static void str_ghash_tests(GHash *ghash, const char *id)
|
||||
BLI_ghash_reserve(ghash, strlen(data) / 32); /* rough estimation... */
|
||||
#endif
|
||||
|
||||
BLI_ghash_insert(ghash, data, SET_INT_IN_POINTER(data[0]));
|
||||
BLI_ghash_insert(ghash, data, POINTER_FROM_INT(data[0]));
|
||||
|
||||
for (p = c_p = data_p, w = c_w = data_w; *c_w; c_w++, c_p++) {
|
||||
if (*c_p == '.') {
|
||||
*c_p = *c_w = '\0';
|
||||
if (!BLI_ghash_haskey(ghash, p)) {
|
||||
BLI_ghash_insert(ghash, p, SET_INT_IN_POINTER(p[0]));
|
||||
BLI_ghash_insert(ghash, p, POINTER_FROM_INT(p[0]));
|
||||
}
|
||||
if (!BLI_ghash_haskey(ghash, w)) {
|
||||
BLI_ghash_insert(ghash, w, SET_INT_IN_POINTER(w[0]));
|
||||
BLI_ghash_insert(ghash, w, POINTER_FROM_INT(w[0]));
|
||||
}
|
||||
p = c_p + 1;
|
||||
w = c_w + 1;
|
||||
@@ -100,7 +100,7 @@ static void str_ghash_tests(GHash *ghash, const char *id)
|
||||
else if (*c_w == ' ') {
|
||||
*c_w = '\0';
|
||||
if (!BLI_ghash_haskey(ghash, w)) {
|
||||
BLI_ghash_insert(ghash, w, SET_INT_IN_POINTER(w[0]));
|
||||
BLI_ghash_insert(ghash, w, POINTER_FROM_INT(w[0]));
|
||||
}
|
||||
w = c_w + 1;
|
||||
}
|
||||
@@ -118,21 +118,21 @@ static void str_ghash_tests(GHash *ghash, const char *id)
|
||||
TIMEIT_START(string_lookup);
|
||||
|
||||
v = BLI_ghash_lookup(ghash, data_bis);
|
||||
EXPECT_EQ(GET_INT_FROM_POINTER(v), data_bis[0]);
|
||||
EXPECT_EQ(POINTER_AS_INT(v), data_bis[0]);
|
||||
|
||||
for (p = w = c = data_bis; *c; c++) {
|
||||
if (*c == '.') {
|
||||
*c = '\0';
|
||||
v = BLI_ghash_lookup(ghash, w);
|
||||
EXPECT_EQ(GET_INT_FROM_POINTER(v), w[0]);
|
||||
EXPECT_EQ(POINTER_AS_INT(v), w[0]);
|
||||
v = BLI_ghash_lookup(ghash, p);
|
||||
EXPECT_EQ(GET_INT_FROM_POINTER(v), p[0]);
|
||||
EXPECT_EQ(POINTER_AS_INT(v), p[0]);
|
||||
p = w = c + 1;
|
||||
}
|
||||
else if (*c == ' ') {
|
||||
*c = '\0';
|
||||
v = BLI_ghash_lookup(ghash, w);
|
||||
EXPECT_EQ(GET_INT_FROM_POINTER(v), w[0]);
|
||||
EXPECT_EQ(POINTER_AS_INT(v), w[0]);
|
||||
w = c + 1;
|
||||
}
|
||||
}
|
||||
@@ -180,7 +180,7 @@ static void int_ghash_tests(GHash *ghash, const char *id, const unsigned int nbr
|
||||
#endif
|
||||
|
||||
while (i--) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(i), SET_UINT_IN_POINTER(i));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(i), POINTER_FROM_UINT(i));
|
||||
}
|
||||
|
||||
TIMEIT_END(int_insert);
|
||||
@@ -194,8 +194,8 @@ static void int_ghash_tests(GHash *ghash, const char *id, const unsigned int nbr
|
||||
TIMEIT_START(int_lookup);
|
||||
|
||||
while (i--) {
|
||||
void *v = BLI_ghash_lookup(ghash, SET_UINT_IN_POINTER(i));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), i);
|
||||
void *v = BLI_ghash_lookup(ghash, POINTER_FROM_UINT(i));
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), i);
|
||||
}
|
||||
|
||||
TIMEIT_END(int_lookup);
|
||||
@@ -279,7 +279,7 @@ static void randint_ghash_tests(GHash *ghash, const char *id, const unsigned int
|
||||
#endif
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*dt), SET_UINT_IN_POINTER(*dt));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*dt), POINTER_FROM_UINT(*dt));
|
||||
}
|
||||
|
||||
TIMEIT_END(int_insert);
|
||||
@@ -291,8 +291,8 @@ static void randint_ghash_tests(GHash *ghash, const char *id, const unsigned int
|
||||
TIMEIT_START(int_lookup);
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
void *v = BLI_ghash_lookup(ghash, SET_UINT_IN_POINTER(*dt));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *dt);
|
||||
void *v = BLI_ghash_lookup(ghash, POINTER_FROM_UINT(*dt));
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *dt);
|
||||
}
|
||||
|
||||
TIMEIT_END(int_lookup);
|
||||
@@ -337,7 +337,7 @@ TEST(ghash, IntRandMurmur2a50000000)
|
||||
|
||||
static unsigned int ghashutil_tests_nohash_p(const void *p)
|
||||
{
|
||||
return GET_UINT_FROM_POINTER(p);
|
||||
return POINTER_AS_UINT(p);
|
||||
}
|
||||
|
||||
static bool ghashutil_tests_cmp_p(const void *a, const void *b)
|
||||
@@ -390,7 +390,7 @@ static void int4_ghash_tests(GHash *ghash, const char *id, const unsigned int nb
|
||||
#endif
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
BLI_ghash_insert(ghash, *dt, SET_UINT_IN_POINTER(i));
|
||||
BLI_ghash_insert(ghash, *dt, POINTER_FROM_UINT(i));
|
||||
}
|
||||
|
||||
TIMEIT_END(int_v4_insert);
|
||||
@@ -403,7 +403,7 @@ static void int4_ghash_tests(GHash *ghash, const char *id, const unsigned int nb
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
void *v = BLI_ghash_lookup(ghash, (void *)(*dt));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), i);
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), i);
|
||||
}
|
||||
|
||||
TIMEIT_END(int_v4_lookup);
|
||||
@@ -464,12 +464,12 @@ static void multi_small_ghash_tests_one(GHash *ghash, RNG *rng, const unsigned i
|
||||
#endif
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*dt), SET_UINT_IN_POINTER(*dt));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*dt), POINTER_FROM_UINT(*dt));
|
||||
}
|
||||
|
||||
for (i = nbr, dt = data; i--; dt++) {
|
||||
void *v = BLI_ghash_lookup(ghash, SET_UINT_IN_POINTER(*dt));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *dt);
|
||||
void *v = BLI_ghash_lookup(ghash, POINTER_FROM_UINT(*dt));
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *dt);
|
||||
}
|
||||
|
||||
BLI_ghash_clear(ghash, NULL, NULL);
|
||||
|
@@ -59,14 +59,14 @@ TEST(ghash, InsertLookup)
|
||||
init_keys(keys, 0);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*k), SET_UINT_IN_POINTER(*k));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*k), POINTER_FROM_UINT(*k));
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), TESTCASE_SIZE);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
void *v = BLI_ghash_lookup(ghash, SET_UINT_IN_POINTER(*k));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *k);
|
||||
void *v = BLI_ghash_lookup(ghash, POINTER_FROM_UINT(*k));
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *k);
|
||||
}
|
||||
|
||||
BLI_ghash_free(ghash, NULL, NULL);
|
||||
@@ -82,15 +82,15 @@ TEST(ghash, InsertRemove)
|
||||
init_keys(keys, 10);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*k), SET_UINT_IN_POINTER(*k));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*k), POINTER_FROM_UINT(*k));
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), TESTCASE_SIZE);
|
||||
bkt_size = BLI_ghash_buckets_len(ghash);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
void *v = BLI_ghash_popkey(ghash, SET_UINT_IN_POINTER(*k), NULL);
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *k);
|
||||
void *v = BLI_ghash_popkey(ghash, POINTER_FROM_UINT(*k), NULL);
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *k);
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), 0);
|
||||
@@ -110,15 +110,15 @@ TEST(ghash, InsertRemoveShrink)
|
||||
init_keys(keys, 20);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*k), SET_UINT_IN_POINTER(*k));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*k), POINTER_FROM_UINT(*k));
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), TESTCASE_SIZE);
|
||||
bkt_size = BLI_ghash_buckets_len(ghash);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
void *v = BLI_ghash_popkey(ghash, SET_UINT_IN_POINTER(*k), NULL);
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *k);
|
||||
void *v = BLI_ghash_popkey(ghash, POINTER_FROM_UINT(*k), NULL);
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *k);
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), 0);
|
||||
@@ -138,7 +138,7 @@ TEST(ghash, Copy)
|
||||
init_keys(keys, 30);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*k), SET_UINT_IN_POINTER(*k));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*k), POINTER_FROM_UINT(*k));
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), TESTCASE_SIZE);
|
||||
@@ -149,8 +149,8 @@ TEST(ghash, Copy)
|
||||
EXPECT_EQ(BLI_ghash_buckets_len(ghash_copy), BLI_ghash_buckets_len(ghash));
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
void *v = BLI_ghash_lookup(ghash_copy, SET_UINT_IN_POINTER(*k));
|
||||
EXPECT_EQ(GET_UINT_FROM_POINTER(v), *k);
|
||||
void *v = BLI_ghash_lookup(ghash_copy, POINTER_FROM_UINT(*k));
|
||||
EXPECT_EQ(POINTER_AS_UINT(v), *k);
|
||||
}
|
||||
|
||||
BLI_ghash_free(ghash, NULL, NULL);
|
||||
@@ -168,7 +168,7 @@ TEST(ghash, Pop)
|
||||
init_keys(keys, 30);
|
||||
|
||||
for (i = TESTCASE_SIZE, k = keys; i--; k++) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(*k), SET_UINT_IN_POINTER(*k));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(*k), POINTER_FROM_UINT(*k));
|
||||
}
|
||||
|
||||
EXPECT_EQ(BLI_ghash_len(ghash), TESTCASE_SIZE);
|
||||
@@ -182,7 +182,7 @@ TEST(ghash, Pop)
|
||||
EXPECT_TRUE(success);
|
||||
|
||||
if (i % 2) {
|
||||
BLI_ghash_insert(ghash, SET_UINT_IN_POINTER(i * 4), SET_UINT_IN_POINTER(i * 4));
|
||||
BLI_ghash_insert(ghash, POINTER_FROM_UINT(i * 4), POINTER_FROM_UINT(i * 4));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -55,10 +55,10 @@ TEST(heap, Range)
|
||||
const int items_total = SIZE;
|
||||
Heap *heap = BLI_heap_new();
|
||||
for (int in = 0; in < items_total; in++) {
|
||||
BLI_heap_insert(heap, (float)in, SET_INT_IN_POINTER(in));
|
||||
BLI_heap_insert(heap, (float)in, POINTER_FROM_INT(in));
|
||||
}
|
||||
for (int out_test = 0; out_test < items_total; out_test++) {
|
||||
EXPECT_EQ(out_test, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(out_test, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
|
||||
}
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
@@ -70,10 +70,10 @@ TEST(heap, RangeReverse)
|
||||
const int items_total = SIZE;
|
||||
Heap *heap = BLI_heap_new();
|
||||
for (int in = 0; in < items_total; in++) {
|
||||
BLI_heap_insert(heap, (float)-in, SET_INT_IN_POINTER(-in));
|
||||
BLI_heap_insert(heap, (float)-in, POINTER_FROM_INT(-in));
|
||||
}
|
||||
for (int out_test = items_total - 1; out_test >= 0; out_test--) {
|
||||
EXPECT_EQ(-out_test, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(-out_test, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
}
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
BLI_heap_free(heap, NULL);
|
||||
@@ -85,14 +85,14 @@ TEST(heap, RangeRemove)
|
||||
Heap *heap = BLI_heap_new();
|
||||
HeapNode **nodes = (HeapNode **)MEM_mallocN(sizeof(HeapNode *) * items_total, __func__);
|
||||
for (int in = 0; in < items_total; in++) {
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, SET_INT_IN_POINTER(in));
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, POINTER_FROM_INT(in));
|
||||
}
|
||||
for (int i = 0; i < items_total; i += 2) {
|
||||
BLI_heap_remove(heap, nodes[i]);
|
||||
nodes[i] = NULL;
|
||||
}
|
||||
for (int out_test = 1; out_test < items_total; out_test += 2) {
|
||||
EXPECT_EQ(out_test, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(out_test, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
}
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
BLI_heap_free(heap, NULL);
|
||||
@@ -107,7 +107,7 @@ TEST(heap, Duplicates)
|
||||
BLI_heap_insert(heap, 1.0f, 0);
|
||||
}
|
||||
for (int out_test = 0; out_test < items_total; out_test++) {
|
||||
EXPECT_EQ(0, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(0, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
}
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
BLI_heap_free(heap, NULL);
|
||||
@@ -122,10 +122,10 @@ static void random_heap_helper(
|
||||
range_fl(values, items_total);
|
||||
BLI_array_randomize(values, sizeof(float), items_total, random_seed);
|
||||
for (int i = 0; i < items_total; i++) {
|
||||
BLI_heap_insert(heap, values[i], SET_INT_IN_POINTER((int)values[i]));
|
||||
BLI_heap_insert(heap, values[i], POINTER_FROM_INT((int)values[i]));
|
||||
}
|
||||
for (int out_test = 0; out_test < items_total; out_test++) {
|
||||
EXPECT_EQ(out_test, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(out_test, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
}
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
BLI_heap_free(heap, NULL);
|
||||
@@ -143,14 +143,14 @@ TEST(heap, ReInsertSimple)
|
||||
Heap *heap = BLI_heap_new();
|
||||
HeapNode **nodes = (HeapNode **)MEM_mallocN(sizeof(HeapNode *) * items_total, __func__);
|
||||
for (int in = 0; in < items_total; in++) {
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, SET_INT_IN_POINTER(in));
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, POINTER_FROM_INT(in));
|
||||
}
|
||||
for (int i = 0; i < items_total; i++) {
|
||||
BLI_heap_node_value_update(heap, nodes[i], (float)(items_total + i));
|
||||
}
|
||||
|
||||
for (int out_test = 0; out_test < items_total; out_test++) {
|
||||
EXPECT_EQ(out_test, GET_INT_FROM_POINTER(BLI_heap_pop_min(heap)));
|
||||
EXPECT_EQ(out_test, POINTER_AS_INT(BLI_heap_pop_min(heap)));
|
||||
}
|
||||
|
||||
EXPECT_TRUE(BLI_heap_is_empty(heap));
|
||||
@@ -165,7 +165,7 @@ static void random_heap_reinsert_helper(
|
||||
Heap *heap = BLI_heap_new();
|
||||
HeapNode **nodes = (HeapNode **)MEM_mallocN(sizeof(HeapNode *) * items_total, __func__);
|
||||
for (int in = 0; in < items_total; in++) {
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, SET_INT_IN_POINTER(in));
|
||||
nodes[in] = BLI_heap_insert(heap, (float)in, POINTER_FROM_INT(in));
|
||||
}
|
||||
BLI_array_randomize(nodes, sizeof(HeapNode *), items_total, random_seed);
|
||||
for (int i = 0; i < items_total; i++) {
|
||||
|
@@ -74,7 +74,7 @@ void concurrent_insert(TaskPool *__restrict pool,
|
||||
CHECK_NOTNULL(list);
|
||||
IndexedNode *node = (IndexedNode *)MEM_mallocN(sizeof(IndexedNode),
|
||||
"test node");
|
||||
node->index = GET_INT_FROM_POINTER(taskdata);
|
||||
node->index = POINTER_AS_INT(taskdata);
|
||||
BLI_linklist_lockfree_insert(list, (LockfreeLinkNode *)node);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ TEST(LockfreeLinkList, InsertMultipleConcurrent)
|
||||
for (int i = 0; i < num_nodes; ++i) {
|
||||
BLI_task_pool_push(pool,
|
||||
concurrent_insert,
|
||||
SET_INT_IN_POINTER(i),
|
||||
POINTER_FROM_INT(i),
|
||||
false,
|
||||
TASK_PRIORITY_HIGH);
|
||||
}
|
||||
|
Reference in New Issue
Block a user