protected virtual void AddPoint(double val) { //qPoints.Enqueue( val ); if (slPoints.ContainsKey(val)) { PointStat ps = (PointStat)slPoints[val]; ps.PriceCount++; } else { slPoints.Add(val, new PointStat()); Max = (double)slPoints.GetKey(slPoints.Count - 1); Min = (double)slPoints.GetKey(0); } //PointCount++; }
protected virtual void RemovePoint(double val) { //double t = (double) qPoints.Dequeue(); if (slPoints.ContainsKey(val)) { PointStat ps = (PointStat)slPoints[val]; ps.PriceCount--; if (0 == ps.PriceCount) { slPoints.Remove(val); if (0 < slPoints.Count) { Min = (double)slPoints.GetKey(0); Max = (double)slPoints.GetKey(slPoints.Count - 1); //Console.Write( " Min {0:#.00} Max {1:#.00}", Min, Max ); } } //PointCount--; } else { throw new Exception("slPoints doesn't have a point to remove"); } }