Skip to content
Snippets Groups Projects
Commit f0596bf6 authored by Sergey Sharybin's avatar Sergey Sharybin
Browse files

Hash: Add utility function to convert address to rgb values

Some magic hashing, will become handy to make debug messages
easier to follow.
parent 3baf31e7
No related branches found
No related tags found
No related merge requests found
......@@ -68,4 +68,16 @@ BLI_INLINE float BLI_hash_int_01(unsigned int k)
return (float)BLI_hash_int(k) * (1.0f / (float)0xFFFFFFFF);
}
BLI_INLINE void BLI_hash_pointer_to_color(const void *ptr, int *r, int *g, int *b)
{
size_t val = (size_t)ptr;
const size_t hash_a = BLI_hash_int(val & 0x0000ffff);
const size_t hash_b = BLI_hash_int((val & 0xffff0000) >> 32);
const size_t hash =
hash_a ^ (hash_b + 0x9e3779b9 + (hash_a << 6) + (hash_a >> 2));
*r = (hash & 0xff0000) >> 16;
*g = (hash & 0x00ff00) >> 8;
*b = hash & 0x0000ff;
}
#endif // __BLI_HASH_H__
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment