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

浏览该文件的源代码.

函数

lmmc_status_t lmmc_interp_bilinear (const lmmc_real_t *xs, size_t nx, const lmmc_real_t *ys, size_t ny, const lmmc_real_t *zs, lmmc_real_t qx, lmmc_real_t qy, lmmc_real_t *out_z)
 双线性插值(矩形网格).
lmmc_status_t lmmc_interp_bicubic (const lmmc_real_t *xs, size_t nx, const lmmc_real_t *ys, size_t ny, const lmmc_real_t *zs, lmmc_real_t qx, lmmc_real_t qy, lmmc_real_t *out_z)
 双三次插值(矩形网格).

函数说明

◆ lmmc_interp_bilinear()

lmmc_status_t lmmc_interp_bilinear ( const lmmc_real_t * xs,
size_t nx,
const lmmc_real_t * ys,
size_t ny,
const lmmc_real_t * zs,
lmmc_real_t qx,
lmmc_real_t qy,
lmmc_real_t * out_z )

双线性插值(矩形网格).

参数
[in]xsx 方向严格升序节点数组,长度 nx >= 2.
[in]nxx 方向节点数.
[in]ysy 方向严格升序节点数组,长度 ny >= 2.
[in]nyy 方向节点数.
[in]zs网格值数组,行优先存储 (nx * ny),zs[i*ny + j] = f(xs[i], ys[j]).
[in]qx查询点 x 坐标.
[in]qy查询点 y 坐标.
[out]out_z输出插值结果.

在文件 interp_grid.c 第 5 行定义.

引用了 interp_check_grid(), interp_find_interval(), interp_interval_fraction(), lmmc_interp_bilinear(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_interp_bilinear().

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

◆ lmmc_interp_bicubic()

lmmc_status_t lmmc_interp_bicubic ( const lmmc_real_t * xs,
size_t nx,
const lmmc_real_t * ys,
size_t ny,
const lmmc_real_t * zs,
lmmc_real_t qx,
lmmc_real_t qy,
lmmc_real_t * out_z )

双三次插值(矩形网格).

使用每轴相邻四个实际坐标节点的局部重心 Lagrange 插值的张量积; 支持任意严格升序的非均匀网格,每轴三次以内多项式可精确再现 (浮点舍入误差除外)。边界使用最前/最后四个不同节点。 查询恰好落在节点时直接采用该节点的基函数值。

返回
非有限查询、非有限/非严格升序坐标或选中 4×4 网格值非有限时 返回 ::LMMC_STATUS_INVALID_ARGUMENT;查询超出网格返回 ::LMMC_STATUS_OUT_OF_RANGE;权重分母为零或中间算术非有限 返回 ::LMMC_STATUS_NUMERICAL_FAILURE。
注解
不分配堆内存;仅成功且结果有限时写入 out_z。
参数
[in]xsx 方向严格升序节点数组,长度 nx >= 4.
[in]nxx 方向节点数.
[in]ysy 方向严格升序节点数组,长度 ny >= 4.
[in]nyy 方向节点数.
[in]zs网格值数组,行优先存储 (nx * ny),zs[i*ny + j] = f(xs[i], ys[j]).
[in]qx查询点 x 坐标.
[in]qy查询点 y 坐标.
[out]out_z输出插值结果.

在文件 interp_grid.c 第 133 行定义.

引用了 interp_check_grid(), lmmc_interp_bicubic(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_interp_bicubic().

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