|
LMMC
Lamina Mathematic core
|
函数 | |
| size_t | interp_find_interval (const lmmc_real_t *xs, size_t n, lmmc_real_t query_x) |
| int | interp_check_strictly_increasing (const lmmc_real_t *xs, size_t n) |
| int | interp_check_finite_values (const lmmc_real_t *values, size_t n) |
| lmmc_status_t | interp_barycentric_weights (const lmmc_real_t *nodes, size_t n, lmmc_real_t *weights) |
| int | interp_check_samples (const lmmc_real_t *xs, const lmmc_real_t *ys, size_t n, size_t minimum) |
| lmmc_status_t | interp_check_grid (const interp_grid_t *grid, size_t minimum, const lmmc_real_t *out) |
| lmmc_real_t | interp_interval_fraction (lmmc_real_t left, lmmc_real_t right, lmmc_real_t query) |
| lmmc_status_t | lmmc_interp_linear (const lmmc_real_t *xs, const lmmc_real_t *ys, size_t n, lmmc_real_t query_x, lmmc_real_t *out_y) |
在节点 (xs[i], ys[i]) 间做分段线性插值. | |
| size_t interp_find_interval | ( | const lmmc_real_t * | xs, |
| size_t | n, | ||
| lmmc_real_t | query_x ) |
被这些函数引用 interp_find_interval(), lmmc_interp_akima_eval(), lmmc_interp_bilinear(), lmmc_interp_cspline_eval(), lmmc_interp_linear() , 以及 lmmc_interp_pchip_eval().
| int interp_check_strictly_increasing | ( | const lmmc_real_t * | xs, |
| size_t | n ) |
引用了 interp_check_strictly_increasing().
被这些函数引用 interp_check_samples() , 以及 interp_check_strictly_increasing().
| int interp_check_finite_values | ( | const lmmc_real_t * | values, |
| size_t | n ) |
引用了 interp_check_finite_values().
被这些函数引用 interp_check_finite_values(), interp_check_samples(), lmmc_interp_akima_create(), lmmc_interp_cspline_create_ex(), lmmc_interp_lagrange_create() , 以及 lmmc_interp_pchip_create().
| lmmc_status_t interp_barycentric_weights | ( | const lmmc_real_t * | nodes, |
| size_t | n, | ||
| lmmc_real_t * | weights ) |
引用了 interp_barycentric_weights(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 interp_barycentric_weights() , 以及 lmmc_interp_lagrange_create().
| int interp_check_samples | ( | const lmmc_real_t * | xs, |
| const lmmc_real_t * | ys, | ||
| size_t | n, | ||
| size_t | minimum ) |
引用了 interp_check_finite_values(), interp_check_samples() , 以及 interp_check_strictly_increasing().
被这些函数引用 interp_check_samples(), lmmc_interp_akima_create(), lmmc_interp_cspline_create_ex(), lmmc_interp_linear() , 以及 lmmc_interp_pchip_create().
| lmmc_status_t interp_check_grid | ( | const interp_grid_t * | grid, |
| size_t | minimum, | ||
| const lmmc_real_t * | out ) |
引用了 interp_check_grid(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, LMMC_STATUS_OUT_OF_RANGE, interp_grid_t::nx, interp_grid_t::ny, interp_grid_t::qx, interp_grid_t::qy, interp_grid_t::xs, interp_grid_t::ys , 以及 interp_grid_t::zs.
被这些函数引用 interp_check_grid(), lmmc_interp_bicubic() , 以及 lmmc_interp_bilinear().
| lmmc_real_t interp_interval_fraction | ( | lmmc_real_t | left, |
| lmmc_real_t | right, | ||
| lmmc_real_t | query ) |
引用了 interp_interval_fraction().
被这些函数引用 interp_interval_fraction(), lmmc_interp_bilinear() , 以及 lmmc_interp_linear().
| lmmc_status_t lmmc_interp_linear | ( | const lmmc_real_t * | xs, |
| const lmmc_real_t * | ys, | ||
| size_t | n, | ||
| lmmc_real_t | query_x, | ||
| lmmc_real_t * | out_y ) |
在节点 (xs[i], ys[i]) 间做分段线性插值.
内部对横坐标归一化,并按符号选择溢出安全的仿射组合;因此有限端点 跨越完整浮点范围时仍可计算有限的区间内插值。
| [in] | xs | 严格升序的节点 x 数组. |
| [in] | ys | 对应的 y 值数组. |
| [in] | n | 节点数,至少 2 . |
| [in] | query_x | 查询点. |
| [out] | out_y | 输出插值结果.超出 [xs[0], xs[n-1]] 范围返回 LMMC_STATUS_OUT_OF_RANGE . |
引用了 interp_check_samples(), interp_find_interval(), interp_interval_fraction(), lmmc_interp_linear(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK , 以及 LMMC_STATUS_OUT_OF_RANGE.
被这些函数引用 lmmc_interp_linear().