LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
quadrature_gaussian.c 文件参考
quadrature_gaussian.c 的引用(Include)关系图:

浏览该文件的源代码.

宏定义

#define LMMC_GL_MAX_ORDER   20
#define LMMC_GL_MIN_ORDER   1

函数

lmmc_status_t lmmc_quad_gauss_legendre (lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, size_t order, lmmc_real_t *out_result)
 Gauss-Legendre 求积:将 \([a,b]\) 仿射映射到 \([-1,1]\) 后使用正交节点。

宏定义说明

◆ LMMC_GL_MAX_ORDER

#define LMMC_GL_MAX_ORDER   20

在文件 quadrature_gaussian.c 第 3 行定义.

被这些函数引用 lmmc_quad_gauss_legendre().

◆ LMMC_GL_MIN_ORDER

#define LMMC_GL_MIN_ORDER   1

在文件 quadrature_gaussian.c 第 4 行定义.

被这些函数引用 lmmc_quad_gauss_legendre().

函数说明

◆ lmmc_quad_gauss_legendre()

lmmc_status_t lmmc_quad_gauss_legendre ( lmmc_quad_func_t func,
void * user_data,
lmmc_real_t a,
lmmc_real_t b,
size_t order,
lmmc_real_t * out_result )

Gauss-Legendre 求积:将 \([a,b]\) 仿射映射到 \([-1,1]\) 后使用正交节点。

中心与半长度按端点符号选择等价公式,不直接形成可能溢出的 a+b 或 b-a。对 2*order-1 次以下的多项式精确积分;节点与权重在编译时 预计算(order <= 20)。

参数
[in]func被积函数回调。
[in]user_data传递给 func 的用户上下文。
[in]a积分下限。
[in]b积分上限。
[in]order正交多项式阶数(节点数),范围 [1, 20]。
[out]out_result输出积分近似值。
返回
LMMC_STATUS_OK 成功; LMMC_STATUS_INVALID_ARGUMENT 若 order 超出范围或指针为 NULL。
副作用
  • 回调 func 被调用恰好 order 次。
  • 不分配堆内存。

在文件 quadrature_gaussian.c 第 272 行定义.

引用了 LMMC_GL_MAX_ORDER, LMMC_GL_MIN_ORDER, lmmc_quad_center_half_length(), lmmc_quad_gauss_legendre(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_quad_gauss_legendre().

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