public double Slipped <T>() { if (TypeRollingCounters.ContainsKey(typeof(T))) { return(TypeRollingCounters[typeof(T)].Slipped); } else { TypeRollingCounters.Add(typeof(T), new RollingCounter(CollectionLimit)); return(0); } }
public void Slip <T>(double val) { if (TypeRollingCounters.ContainsKey(typeof(T))) { TypeRollingCounters[typeof(T)].Slip(val); } else { TypeRollingCounters.Add(typeof(T), new RollingCounter(CollectionLimit)); Slip <T>(val); } }
public double Avg <T>() { if (TypeRollingCounters.ContainsKey(typeof(T))) { return(TypeRollingCounters[typeof(T)].Avg); } else { TypeRollingCounters.Add(typeof(T), new RollingCounter(CollectionLimit)); return(Avg <T>()); } }
public double SlippedTotal() { return(TypeRollingCounters.Sum(x => x.Value.Slipped)); }