@rkail
some more tweaking, search the oldvalue with a binary search iso linear search
// search the old_value in the sorted buffer
uint8_t t = _window_size;
uint8_t b = 0;
uint8_t i = 0;
while (t > b)
{
i = (b+t)/2;
if (old_value == _sortbuffer[i]) break;
if (old_value < _sortbuffer[i]) t = i;
else b = i+1;
}
// uint8_t i = _window_size;
// while(i > 0) {
// i--;
// if (old_value == _sortbuffer[i])
// break;
// }
1000 add's and getMedians (UNO IDE1.54r)
original version: 51.03 usec
insert sort + binsearch version: 34.00 usec