123456789101112131415161718192021222324 |
- #include "core/HashMap.h"
- size_t hashString(const char* key) {
- size_t h = 0;
- while(*key != '\0') {
- h = 2'120'251'889lu * h + (size_t)(*(key++));
- }
- return h;
- }
- size_t roundUp2(size_t n) {
- n -= n != 0;
- n |= n >> 1;
- n |= n >> 2;
- n |= n >> 4;
- n |= n >> 8;
- if(sizeof(n) >= 4) {
- n |= n >> 16;
- }
- if(sizeof(n) >= 8) {
- n |= n >> 32;
- }
- return n + 1;
- }
|