getWindowAvreage method

int getWindowAvreage(
  1. List<int> list,
  2. int index,
  3. int window
)

Implementation

int getWindowAvreage(List<int> list, int index, int window) {
  int start = index - window;
  int stop = index + window;
  if (stop >= list.length - 1) stop = list.length - 2;
  if (start < 0) start = 0;

  int divisor = 0; //window * 2 + 1;
  int value = 0;
  for (int i = start; i <= stop; i++) {
    if (list[i] != 0 || (list[i] - list[i + 1]).abs() < 35) {
      value += list[i];
      divisor++;
    }
  }
  if (divisor != 0) {
    return (value / divisor).truncate();
  } else {
    return list[index];
  }
}