Skip to content
Snippets Groups Projects

Optimize line subtraction median array length updates for high latency

2 files
+ 11
9
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -182,7 +182,7 @@ static void get_new_median(double new_element, double *fifo_array, double *curre
num_samples = (no_default && samples_in_filter < array_size) ? samples_in_filter : array_size;
j_start = (array_is_imaginary ? *index_im : *index_re) + array_size - num_samples - future_unused;
for(j = j_start; j < j_start + num_samples; j++) {
jj = j % array_size;
jj = (j + array_size) % array_size;
if(fifo_array[jj] < *current_median) {
number_less++;
if(fifo_array[jj] >= less) {
@@ -190,8 +190,7 @@ static void get_new_median(double new_element, double *fifo_array, double *curre
less = fifo_array[jj];
} else if(fifo_array[jj] > Less)
Less = fifo_array[jj];
}
else if(fifo_array[jj] == *current_median)
} else if(fifo_array[jj] == *current_median)
number_equal++;
else if(fifo_array[jj] > *current_median) {
number_greater++;
@@ -200,8 +199,7 @@ static void get_new_median(double new_element, double *fifo_array, double *curre
greater = fifo_array[jj];
} else if(fifo_array[jj] < Greater)
Greater = fifo_array[jj];
}
else
} else
g_assert_not_reached();
}
g_assert_cmpint(number_less + number_equal + number_greater, ==, num_samples);
Loading