Zephyr API Documentation 4.2.0-rc3
A Scalable Open Source RTOS
 4.2.0-rc3
Math Interpolation Functions

Linear interpolation utilities for mathematical operations. More...

Functions

static int32_t linear_interpolate (const int32_t *x_axis, const int32_t *y_axis, uint8_t len, int32_t x)
 Perform a linear interpolation across an arbitrary curve.

Detailed Description

Linear interpolation utilities for mathematical operations.

Function Documentation

◆ linear_interpolate()

int32_t linear_interpolate ( const int32_t * x_axis,
const int32_t * y_axis,
uint8_t len,
int32_t x )
inlinestatic

#include <zephyr/math/interpolation.h>

Perform a linear interpolation across an arbitrary curve.

Note
Result rounding occurs away from 0, e.g: 1.5 -> 2, -5.5 -> -6
Parameters
x_axisAscending list of X co-ordinates for y_axis data points
y_axisY co-ordinates for each X data point
lenLength of the x_axis and y_axis arrays
xX co-ordinate to lookup
Return values
y_axis[0]if x < x_axis[0]
y_axis[len- 1] if x > x_axis[len - 1]
int32_tLinear interpolation between the two nearest y_axis values.