Exemplo n.º 1
0
        /// <summary>
        /// Calculates moving average of the current input channel.
        /// </summary>
        public double MovAvg(int pointCount, double cnlVal)
        {
            MovAvgItem movAvgItem = GetOrAddMovAvgItem(CnlNum, pointCount);

            movAvgItem.Append(cnlVal);
            return(movAvgItem.Avg);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds a new or gets an existing MovAvgItem.
        /// </summary>
        public MovAvgItem GetOrAddMovAvgItem(int cnlNum, int pointCount)
        {
            MovAvgItem movAvgItem;

            if (MovAvgItems.TryGetValue(cnlNum, out movAvgItem))
            {
                return(movAvgItem);
            }
            else
            {
                movAvgItem = new MovAvgItem(pointCount);
                MovAvgItems.Add(cnlNum, movAvgItem);
                return(movAvgItem);
            }
        }