¿Qué son buenas funciones hash (rápida, buena distribución, pocas colisiones) para hashing 2d y vectores 3d compuestos de flotadores IEEE de 32 bits. Supongo que hay vectores 3d generales, pero los algoritmos que asumen normales (siempre en [-1,1]) también son bienvenidos. Tampoco temo la manipulación de bits ya que los flotadores IEEE siempre son flotantes IEEE.Hashing 2D, 3D y nD vectores
Otro problema más general es el hash de un vector flotante Nd, donde N es bastante pequeño (3-12) y constante, pero no se conoce en tiempo de compilación. Por el momento, tomo estos flotadores como uints y los combino XOR, lo que probablemente no sea la mejor solución.
... ¿ha probado qué tan bien se distribuyen sus hash utilizando el método XOR normal? Te sorprenderías. –
@Matti parece que la distribución al menos para los vectores en 3D no es muy mala (probado en conejos de Stanford 35k verts contra tabla hash de tamaño 65537). Solo pensé que alguien quizás tenga una solución más especializada, ya que busqué en la red hace algún tiempo y no he encontrado nada sobre el tema. –
65537 suena como uno más grande que el número que podría querer usar (o es un error tipográfico) –