LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
interp_lagrange.c 文件参考
#include "memory_bridge.h"
#include "internal.h"
#include "internal/interp_internal.h"
#include <math.h>
#include <string.h>
interp_lagrange.c 的引用(Include)关系图:

浏览该文件的源代码.

结构体

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 插值上下文.

结构体说明

◆ lmmc_interp_lagrange_t

struct lmmc_interp_lagrange_t

Lagrange 多项式插值上下文(不透明类型).

在文件 interp_lagrange.c 第 8 行定义.

lmmc_interp_lagrange_t 的协作图:
成员变量
size_t n
lmmc_real_t * xs
lmmc_real_t * ys
lmmc_real_t * weights

函数说明

◆ lmmc_interp_lagrange_create()

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_interp_lagrange_eval()

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().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_interp_lagrange_destroy()

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().

函数调用图:
这是这个函数的调用关系图: