LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
interp_internal.h
浏览该文件的文档.
1#ifndef LMMC_INTERP_INTERNAL_H
2#define LMMC_INTERP_INTERNAL_H
3
4#include "lmmc/interp.h"
5
6size_t interp_find_interval(const lmmc_real_t* xs, size_t n, lmmc_real_t query_x);
8 lmmc_real_t query);
9int interp_check_strictly_increasing(const lmmc_real_t* xs, size_t n);
10int interp_check_finite_values(const lmmc_real_t* values, size_t n);
11int interp_check_samples(const lmmc_real_t* xs, const lmmc_real_t* ys,
12 size_t n, size_t minimum);
14 lmmc_real_t* weights);
15
16typedef struct {
20 size_t nx;
21 size_t ny;
25
26lmmc_status_t interp_check_grid(const interp_grid_t* grid, size_t minimum,
27 const lmmc_real_t* out);
28
41
43 lmmc_spline_bc_t bc, lmmc_real_t deriv_left,
44 lmmc_real_t deriv_right);
47
48#endif
double lmmc_real_t
Public and internal LMMC real type.
一维插值算法:线性,三次样条,Lagrange 多项式,PCHIP,Akima,二维插值.
lmmc_spline_bc_t
样条边界条件类型.
lmmc_status_t interp_check_grid(const interp_grid_t *grid, size_t minimum, const lmmc_real_t *out)
const lmmc_real_t * zs
void interp_spline_standard(interp_spline_workspace_t *work, lmmc_spline_bc_t bc, lmmc_real_t deriv_left, lmmc_real_t deriv_right)
size_t interp_find_interval(const lmmc_real_t *xs, size_t n, lmmc_real_t query_x)
定义 interp.c:6
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)
const lmmc_real_t * ys
const lmmc_real_t * xs
void interp_spline_periodic(interp_spline_workspace_t *work)
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)
lmmc_status_t interp_barycentric_weights(const lmmc_real_t *nodes, size_t n, lmmc_real_t *weights)
void interp_spline_not_a_knot(interp_spline_workspace_t *work)
lmmc_status_t
LMMC 库统一返回的状态码.