Рассмотрим версию Murmur Hash (v3), которая возвращает 32-разрядное целое число без знака. Можно ли предположить, что совместная область этой функции будет равномерно распределена между 0 и UINT32_MAX и охватит эти два значения? Я пытаюсь сгенерировать псевдослучайное двойное число от 0,0 до 1,0 (включительно), полученное из Murmur Hash, как показано в коде ниже:
uint32_t hash = MurmurHash3_x86_32 (key, len, seed);
double frac = ((double) hash) / ((double) UINT32_MAX);