123template <u
int16_t xFactor, u
int16_t yFactor>
static uint32_t rshift(uint32_t a)
Bitwise right shift - generic, unoptimized, case.
Definition bit_shifts.h:348
uint8_t table3d_axis_t
The type of each axis value.
Definition table3d_typedefs.h:28
uint8_t table3d_value_t
The type of each table value.
Definition table3d_typedefs.h:25
uint8_t table3d_dim_t
Encodes the length of the axes.
Definition table3d_typedefs.h:22
Cache structure for 3D table value lookups.
Definition table3d_interpolate.h:34
xy_values last_lookup
Definition table3d_interpolate.h:51
xy_coord2d lastBinMax
Definition table3d_interpolate.h:48
table3d_value_t lastOutput
Definition table3d_interpolate.h:52
2D coordinate structure for table lookups
Definition table3d_interpolate.h:26
table3d_dim_t y
Y axis coordinate.
Definition table3d_interpolate.h:30
table3d_dim_t x
X axis coordinate.
Definition table3d_interpolate.h:28
A pair of x and y values used for lookups in 3D tables.
Definition table3d_interpolate.h:13
uint16_t y
Definition table3d_interpolate.h:15
uint16_t x
Definition table3d_interpolate.h:14
table3d_dim_t find_bin_max(const table3d_axis_t &value, const table3d_axis_t *pAxis, table3d_dim_t length, table3d_dim_t lastBinMax)
Find the bin that covers the test value.
Definition table3d_interpolate.cpp:75
table3d_value_t interpolate_3d_value(const xy_values &lookUpValues, const xy_coord2d &upperBinIndices, const table3d_dim_t &axisSize, const table3d_value_t *pValues, const table3d_axis_t *pXAxis, const uint16_t xMultiplier, const table3d_axis_t *pYAxis, const uint16_t yMultiplier)
Interpolate a table value from axis bins & values.
Definition table3d_interpolate.cpp:252
static bool operator==(const xy_values &lhs, const xy_values &rhs)
Equality operator for xy_values.
Definition table3d_interpolate.h:19
table3d_value_t get3DTableValue(struct table3DGetValueCache *pValueCache, const table3d_dim_t axisSize, const table3d_value_t *pValues, const table3d_axis_t *pXAxis, const table3d_axis_t *pYAxis, const xy_values &lookupValues)
Get a value from a 3D table using the specified lookup values.
Definition table3d_interpolate.h:124
static void invalidate_cache(table3DGetValueCache *pCache)
Invalidate the cache by resetting the last lookup values.
Definition table3d_interpolate.h:56
Typedefs for primitive 3D table elements.