Ejemplo n.º 1
0
        private void UpdateAssert(CountMinSketchState state, string value, string expected)
        {
            var bytes = Encoding.UTF8.GetBytes(value);

            state.Add(bytes, 1);
            var topkValues = state.TopKValues;
            var topkList   = new List <Pair <long, object> >();

            foreach (var topkValue in topkValues)
            {
                var array     = topkValue.Data;
                var frequency = state.Frequency(array);
                var text      = Encoding.UTF8.GetString(array);
                topkList.Add(new Pair <long, object>(frequency, text));
            }
            AssertList(expected, topkList);
        }
Ejemplo n.º 2
0
        public CountMinSketchTopK[] GetFromBytes()
        {
            var bytes = _state.TopKValues;

            if (bytes.IsEmpty())
            {
                return(new CountMinSketchTopK[0]);
            }
            var arr   = new CountMinSketchTopK[bytes.Count];
            var index = 0;

            foreach (var buf in bytes)
            {
                long?frequency = _state.Frequency(buf.Data);
                _fromBytes.Bytes = buf.Data;
                var value = _agent.FromBytes(_fromBytes);
                if (frequency == null)
                {
                    continue;
                }
                arr[index++] = new CountMinSketchTopK(frequency.Value, value);
            }
            return(arr);
        }