public static IEnumerable AddFilterToSnap(SqlBytes arrayBinary, short snap, int phkey) { List<object[]> results = new List<object[]>(); SqlBigIntArrayMax myIds = new SqlBigIntArrayMax(arrayBinary); const int expectedFilterCapacity = 1000; float errorRate = BloomFilter.Filter<long>.bestErrorRate(expectedFilterCapacity); int hashFunctions = BloomFilter.Filter<long>.bestK(expectedFilterCapacity, errorRate); BloomFilter.Filter<long> filter = new BloomFilter.Filter<long>(expectedFilterCapacity, errorRate, hashFunctions); long[] idsArray = myIds.ToArray(); for (int i = 0; i < idsArray.Length; i++) { filter.Add(idsArray[i]); } object[] item = { snap, phkey, filter.convertToByteArray(), hashFunctions, expectedFilterCapacity }; results.Add(item); return results; //finalFilter = filter.convertToByteArray(); }
public void Write(SqlBigIntArrayMax a) { SqlBytes b = a.ToSqlBuffer(); this.Write(b); }