/* * public int CalculateDistance(IHashItem dist) * { * * ulong x = ((Hash256Item) dist).Hash1 ^ Hash1; * ulong w = ((Hash256Item) dist).Hash2 ^ Hash2; * ulong y = ((Hash256Item) dist).Hash3 ^ Hash3; * ulong z = ((Hash256Item) dist).Hash4 ^ Hash4; * * x -= (x >> 1) & 0x5555555555555555; * w -= (w >> 1) & 0x5555555555555555; * y -= (y >> 1) & 0x5555555555555555; * z -= (z >> 1) & 0x5555555555555555; * x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333); * w = (w & 0x3333333333333333) + ((w >> 2) & 0x3333333333333333); * y = (y & 0x3333333333333333) + ((y >> 2) & 0x3333333333333333); * z = (z & 0x3333333333333333) + ((z >> 2) & 0x3333333333333333); * x = (x + (x >> 4)) & 0x0f0f0f0f0f0f0f0f; * w = (w + (w >> 4)) & 0x0f0f0f0f0f0f0f0f; * y = (y + (y >> 4)) & 0x0f0f0f0f0f0f0f0f; * z = (z + (z >> 4)) & 0x0f0f0f0f0f0f0f0f; * x += x >> 8; * w += w >> 8; * y += y >> 8; * z += z >> 8; * x += x >> 16; * w += w >> 16; * y += y >> 16; * z += z >> 16; * x += x >> 32; * w += w >> 32; * y += y >> 32; * z += z >> 32; * return (int) (x & 0x7f) + (int) (w & 0x7f) + (int) (y & 0x7f) + (int) (z & 0x7f); * * }*/ public int CompareTo(object obj) { Hash256Item <T> b = (Hash256Item <T>)obj; return(SortDistance.CompareTo(b.SortDistance)); }
public int CompareTo(object obj) { Hash256LookUpItem b = (Hash256LookUpItem)obj; return(SortDistance.CompareTo(b.SortDistance)); }