|
LMMC
Lamina Mathematic core
|
#include "memory_bridge.h"#include "internal.h"#include "internal/interp_internal.h"#include <math.h>#include <string.h>结构体 | |
| struct | lmmc_interp_lagrange_t |
| Lagrange 多项式插值上下文(不透明类型). 更多... | |
函数 | |
| lmmc_status_t | lmmc_interp_lagrange_create (const lmmc_real_t *xs, const lmmc_real_t *ys, size_t n, lmmc_interp_lagrange_t **out_lagrange) |
| 由节点构造 Lagrange 插值多项式(基于重心权重). | |
| lmmc_status_t | lmmc_interp_lagrange_eval (const lmmc_interp_lagrange_t *lagrange, lmmc_real_t query_x, lmmc_real_t *out_y) |
| 在 Lagrange 插值多项式上求值. | |
| void | lmmc_interp_lagrange_destroy (lmmc_interp_lagrange_t *lagrange) |
| 销毁 Lagrange 插值上下文. | |
| struct lmmc_interp_lagrange_t |
Lagrange 多项式插值上下文(不透明类型).
在文件 interp_lagrange.c 第 8 行定义.
| 成员变量 | ||
|---|---|---|
| size_t | n | |
| lmmc_real_t * | xs | |
| lmmc_real_t * | ys | |
| lmmc_real_t * | weights | |
| lmmc_status_t lmmc_interp_lagrange_create | ( | const lmmc_real_t * | xs, |
| const lmmc_real_t * | ys, | ||
| size_t | n, | ||
| lmmc_interp_lagrange_t ** | out_lagrange ) |
由节点构造 Lagrange 插值多项式(基于重心权重).
输入节点和值必须有限,xs 节点须互异但可采用任意顺序。求值点必须有限。
在文件 interp_lagrange.c 第 15 行定义.
引用了 interp_barycentric_weights(), interp_check_finite_values(), lmmc_interp_lagrange_create(), lmmc_interp_lagrange_destroy(), lmmc_memory_alloc(), lmmc_memory_free(), LMMC_STATUS_ALLOCATION_FAILED, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_interp_lagrange_t::n, lmmc_interp_lagrange_t::weights, lmmc_interp_lagrange_t::xs , 以及 lmmc_interp_lagrange_t::ys.
被这些函数引用 lmmc_interp_lagrange_create().
| lmmc_status_t lmmc_interp_lagrange_eval | ( | const lmmc_interp_lagrange_t * | lagrange, |
| lmmc_real_t | query_x, | ||
| lmmc_real_t * | out_y ) |
在 Lagrange 插值多项式上求值.
在文件 interp_lagrange.c 第 64 行定义.
引用了 lmmc_interp_lagrange_eval(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_interp_lagrange_t::n, lmmc_interp_lagrange_t::weights, lmmc_interp_lagrange_t::xs , 以及 lmmc_interp_lagrange_t::ys.
被这些函数引用 lmmc_interp_lagrange_eval().
| void lmmc_interp_lagrange_destroy | ( | lmmc_interp_lagrange_t * | lagrange | ) |
销毁 Lagrange 插值上下文.
在文件 interp_lagrange.c 第 113 行定义.
引用了 lmmc_interp_lagrange_destroy(), lmmc_memory_free(), lmmc_interp_lagrange_t::weights, lmmc_interp_lagrange_t::xs , 以及 lmmc_interp_lagrange_t::ys.
被这些函数引用 lmmc_interp_lagrange_create() , 以及 lmmc_interp_lagrange_destroy().