LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
interp_internal.h 文件参考
#include "lmmc/interp.h"
interp_internal.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

结构体

struct  interp_grid_t
struct  interp_spline_workspace_t

函数

size_t interp_find_interval (const lmmc_real_t *xs, size_t n, lmmc_real_t query_x)
lmmc_real_t interp_interval_fraction (lmmc_real_t left, lmmc_real_t right, lmmc_real_t query)
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)
int interp_check_samples (const lmmc_real_t *xs, const lmmc_real_t *ys, size_t n, size_t minimum)
lmmc_status_t interp_barycentric_weights (const lmmc_real_t *nodes, size_t n, lmmc_real_t *weights)
lmmc_status_t interp_check_grid (const interp_grid_t *grid, size_t minimum, const lmmc_real_t *out)
void interp_spline_standard (interp_spline_workspace_t *work, lmmc_spline_bc_t bc, lmmc_real_t deriv_left, lmmc_real_t deriv_right)
void interp_spline_not_a_knot (interp_spline_workspace_t *work)
void interp_spline_periodic (interp_spline_workspace_t *work)

结构体说明

◆ interp_grid_t

struct interp_grid_t

在文件 interp_internal.h 第 16 行定义.

interp_grid_t 的协作图:
成员变量
const lmmc_real_t * xs
const lmmc_real_t * ys
const lmmc_real_t * zs
size_t nx
size_t ny
lmmc_real_t qx
lmmc_real_t qy

◆ interp_spline_workspace_t

struct interp_spline_workspace_t

在文件 interp_internal.h 第 29 行定义.

interp_spline_workspace_t 的协作图:
成员变量
size_t n
const lmmc_real_t * ys
lmmc_real_t * h
lmmc_real_t * moments
lmmc_real_t * sub
lmmc_real_t * dia
lmmc_real_t * sup
lmmc_real_t * rhs
lmmc_real_t * auxiliary
lmmc_real_t * diagonal_copy

函数说明

◆ interp_find_interval()

size_t interp_find_interval ( const lmmc_real_t * xs,
size_t n,
lmmc_real_t query_x )

在文件 interp.c 第 6 行定义.

引用了 interp_find_interval().

被这些函数引用 interp_find_interval(), lmmc_interp_akima_eval(), lmmc_interp_bilinear(), lmmc_interp_cspline_eval(), lmmc_interp_linear() , 以及 lmmc_interp_pchip_eval().

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

◆ interp_interval_fraction()

lmmc_real_t interp_interval_fraction ( lmmc_real_t left,
lmmc_real_t right,
lmmc_real_t query )

在文件 interp.c 第 125 行定义.

引用了 interp_interval_fraction().

被这些函数引用 interp_interval_fraction(), lmmc_interp_bilinear() , 以及 lmmc_interp_linear().

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

◆ interp_check_strictly_increasing()

int interp_check_strictly_increasing ( const lmmc_real_t * xs,
size_t n )

在文件 interp.c 第 18 行定义.

引用了 interp_check_strictly_increasing().

被这些函数引用 interp_check_samples() , 以及 interp_check_strictly_increasing().

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

◆ interp_check_finite_values()

int interp_check_finite_values ( const lmmc_real_t * values,
size_t n )

在文件 interp.c 第 33 行定义.

引用了 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().

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

◆ interp_check_samples()

int interp_check_samples ( const lmmc_real_t * xs,
const lmmc_real_t * ys,
size_t n,
size_t minimum )

在文件 interp.c 第 83 行定义.

引用了 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().

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

◆ interp_barycentric_weights()

lmmc_status_t interp_barycentric_weights ( const lmmc_real_t * nodes,
size_t n,
lmmc_real_t * weights )

在文件 interp.c 第 48 行定义.

引用了 interp_barycentric_weights(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.

被这些函数引用 interp_barycentric_weights() , 以及 lmmc_interp_lagrange_create().

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

◆ interp_check_grid()

lmmc_status_t interp_check_grid ( const interp_grid_t * grid,
size_t minimum,
const lmmc_real_t * out )

在文件 interp.c 第 106 行定义.

引用了 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().

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

◆ interp_spline_standard()

void interp_spline_standard ( interp_spline_workspace_t * work,
lmmc_spline_bc_t bc,
lmmc_real_t deriv_left,
lmmc_real_t deriv_right )

在文件 interp_spline_boundary.c 第 42 行定义.

引用了 interp_spline_workspace_t::dia, interp_spline_workspace_t::h, interp_spline_standard(), LMMC_SPLINE_CLAMPED, interp_spline_workspace_t::moments, interp_spline_workspace_t::n, interp_spline_workspace_t::rhs, interp_spline_workspace_t::sub, interp_spline_workspace_t::sup , 以及 interp_spline_workspace_t::ys.

被这些函数引用 interp_spline_standard() , 以及 lmmc_interp_cspline_create_ex().

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

◆ interp_spline_not_a_knot()

void interp_spline_not_a_knot ( interp_spline_workspace_t * work)

三个节点确定唯一二次多项式,其二阶导数为常数。

利用三阶导数连续性消去端点的二阶导数。

在文件 interp_spline_boundary.c 第 65 行定义.

引用了 interp_spline_workspace_t::dia, interp_spline_workspace_t::h, interp_spline_not_a_knot(), interp_spline_workspace_t::moments, interp_spline_workspace_t::n, interp_spline_workspace_t::rhs, interp_spline_workspace_t::sub , 以及 interp_spline_workspace_t::sup.

被这些函数引用 interp_spline_not_a_knot() , 以及 lmmc_interp_cspline_create_ex().

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

◆ interp_spline_periodic()

void interp_spline_periodic ( interp_spline_workspace_t * work)

Sherman-Morrison 修正复用同一三对角系统,分别求解右端项 b 和 u。

在文件 interp_spline_boundary.c 第 93 行定义.

引用了 interp_spline_workspace_t::auxiliary, interp_spline_workspace_t::dia, interp_spline_workspace_t::diagonal_copy, interp_spline_workspace_t::h, interp_spline_periodic(), interp_spline_workspace_t::moments, interp_spline_workspace_t::n, interp_spline_workspace_t::rhs, interp_spline_workspace_t::sub, interp_spline_workspace_t::sup , 以及 interp_spline_workspace_t::ys.

被这些函数引用 interp_spline_periodic() , 以及 lmmc_interp_cspline_create_ex().

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