Linear interpolation between two signed 15-bit values, with 8-bit fraction.
Definition at line 361 of file lib8tion.h.
362{
363 int16_t result;
364 if( b > a) {
365 uint16_t delta = b - a;
366 uint16_t scaled =
scale16( delta, frac);
367 result = a + scaled;
368 } else {
369 uint16_t delta = a - b;
370 uint16_t scaled =
scale16( delta, frac);
371 result = a - scaled;
372 }
373 return result;
374}
LIB8STATIC uint16_t scale16(uint16_t i, fract16 scale)
Scale a 16-bit unsigned value by an 16-bit value, which is treated as the numerator of a fraction who...
References LIB8STATIC, and scale16().