LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
interp_internal.h
浏览该文件的文档.
1
#ifndef LMMC_INTERP_INTERNAL_H
2
#define LMMC_INTERP_INTERNAL_H
3
4
#include "
lmmc/interp.h
"
5
6
size_t
interp_find_interval
(
const
lmmc_real_t
* xs,
size_t
n,
lmmc_real_t
query_x);
7
lmmc_real_t
interp_interval_fraction
(
lmmc_real_t
left,
lmmc_real_t
right,
8
lmmc_real_t
query);
9
int
interp_check_strictly_increasing
(
const
lmmc_real_t
* xs,
size_t
n);
10
int
interp_check_finite_values
(
const
lmmc_real_t
* values,
size_t
n);
11
int
interp_check_samples
(
const
lmmc_real_t
* xs,
const
lmmc_real_t
* ys,
12
size_t
n,
size_t
minimum);
13
lmmc_status_t
interp_barycentric_weights
(
const
lmmc_real_t
* nodes,
size_t
n,
14
lmmc_real_t
* weights);
15
16
typedef
struct
{
17
const
lmmc_real_t
*
xs
;
18
const
lmmc_real_t
*
ys
;
19
const
lmmc_real_t
*
zs
;
20
size_t
nx
;
21
size_t
ny
;
22
lmmc_real_t
qx
;
23
lmmc_real_t
qy
;
24
}
interp_grid_t
;
25
26
lmmc_status_t
interp_check_grid
(
const
interp_grid_t
* grid,
size_t
minimum,
27
const
lmmc_real_t
* out);
28
29
typedef
struct
{
30
size_t
n
;
31
const
lmmc_real_t
*
ys
;
32
lmmc_real_t
*
h
;
33
lmmc_real_t
*
moments
;
34
lmmc_real_t
*
sub
;
35
lmmc_real_t
*
dia
;
36
lmmc_real_t
*
sup
;
37
lmmc_real_t
*
rhs
;
38
lmmc_real_t
*
auxiliary
;
39
lmmc_real_t
*
diagonal_copy
;
40
}
interp_spline_workspace_t
;
41
42
void
interp_spline_standard
(
interp_spline_workspace_t
* work,
43
lmmc_spline_bc_t
bc,
lmmc_real_t
deriv_left,
44
lmmc_real_t
deriv_right);
45
void
interp_spline_not_a_knot
(
interp_spline_workspace_t
* work);
46
void
interp_spline_periodic
(
interp_spline_workspace_t
* work);
47
48
#endif
lmmc_real_t
double lmmc_real_t
Public and internal LMMC real type.
定义
config.h:28
interp.h
一维插值算法:线性,三次样条,Lagrange 多项式,PCHIP,Akima,二维插值.
lmmc_spline_bc_t
lmmc_spline_bc_t
样条边界条件类型.
定义
interp.h:46
interp_spline_workspace_t::dia
lmmc_real_t * dia
定义
interp_internal.h:35
interp_grid_t::ny
size_t ny
定义
interp_internal.h:21
interp_spline_workspace_t::h
lmmc_real_t * h
定义
interp_internal.h:32
interp_spline_workspace_t::n
size_t n
定义
interp_internal.h:30
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_grid_t::zs
const lmmc_real_t * zs
定义
interp_internal.h:19
interp_spline_workspace_t::sub
lmmc_real_t * sub
定义
interp_internal.h:34
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::diagonal_copy
lmmc_real_t * diagonal_copy
定义
interp_internal.h:39
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_check_finite_values
int interp_check_finite_values(const lmmc_real_t *values, size_t n)
定义
interp.c:33
interp_spline_workspace_t::rhs
lmmc_real_t * rhs
定义
interp_internal.h:37
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_grid_t::qx
lmmc_real_t qx
定义
interp_internal.h:22
interp_spline_workspace_t::auxiliary
lmmc_real_t * auxiliary
定义
interp_internal.h:38
interp_grid_t::ys
const lmmc_real_t * ys
定义
interp_internal.h:18
interp_grid_t::nx
size_t nx
定义
interp_internal.h:20
interp_spline_workspace_t::ys
const lmmc_real_t * ys
定义
interp_internal.h:31
interp_grid_t::xs
const lmmc_real_t * xs
定义
interp_internal.h:17
interp_spline_periodic
void interp_spline_periodic(interp_spline_workspace_t *work)
定义
interp_spline_boundary.c:93
interp_spline_workspace_t::moments
lmmc_real_t * moments
定义
interp_internal.h:33
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_grid_t::qy
lmmc_real_t qy
定义
interp_internal.h:23
interp_check_strictly_increasing
int interp_check_strictly_increasing(const lmmc_real_t *xs, size_t n)
定义
interp.c:18
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_spline_not_a_knot
void interp_spline_not_a_knot(interp_spline_workspace_t *work)
定义
interp_spline_boundary.c:65
interp_spline_workspace_t::sup
lmmc_real_t * sup
定义
interp_internal.h:36
interp_grid_t
定义
interp_internal.h:16
interp_spline_workspace_t
定义
interp_internal.h:29
lmmc_status_t
lmmc_status_t
LMMC 库统一返回的状态码.
定义
status.h:22
src
internal
interp_internal.h
生成于
, 为 LMMC使用
1.18.0