Beispiel #1
0
        /// <summary>
        /// Hash function for a given set of discrete indices
        /// http://cybertron.cg.tu-berlin.de/eitz/pdf/2007_hsh.pdf
        /// </summary>
        private int IndexAt(int i, int j)
        {
            const int p0 = 73856093;
            const int p1 = 19349663;

            return(SlurMath.Mod2(i * p0 ^ j * p1, BinCount));
        }
        /// <summary>
        /// http://cybertron.cg.tu-berlin.de/eitz/pdf/2007_hsh.pdf
        /// </summary>
        private int IndexAt(int i, int j, int k)
        {
            const int p0 = 73856093;
            const int p1 = 19349663;
            const int p2 = 83492791;

            return(SlurMath.Mod2(i * p0 ^ j * p1 ^ k * p2, BinCount));
        }