/// <summary> /// Gets the previous before minimum. /// </summary> /// <returns>The previous before minimum.</returns> /// <param name="minimum">Minimum.</param> protected ArrayIndexInfo GetPreviousBeforeMinimum(ArrayIndexInfo minimum) { ArrayIndexInfo previous = new ArrayIndexInfo(); if (minimum.Index > 0) { previous.Index = minimum.Index - 1; previous.Value = m_circularListArr[previous.Index]; } else { previous.Index = m_circularListArr.Length - 1; previous.Value = m_circularListArr[previous.Index]; } return(previous); }
/// <summary> /// Gets the minimum index of the value with. /// </summary> /// <returns>The minimum value with index.</returns> protected ArrayIndexInfo GetMinimumValueWithIndex() { ArrayIndexInfo indexInfo = new ArrayIndexInfo(); indexInfo.Index = -1; indexInfo.Value = m_circularListArr[0]; for (int i = 0; i < m_circularListArr.Length; i++) { int value = m_circularListArr[i]; if (value < indexInfo.Value) { indexInfo.Index = i; indexInfo.Value = value; } } return(indexInfo); }
/// <summary> /// Gets the element before the minimum element. /// </summary> /// <returns>The previous.</returns> /// <param name="minimum">Minimum.</param> public ArrayIndexInfo GetPrevious(ArrayIndexInfo minimum) { return(GetPreviousBeforeMinimum(minimum)); }