|
LMMC
Lamina Mathematic core
|
#include "internal/quadrature_internal.h"宏定义 | |
| #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]\) 后使用正交节点。 | |
| #define LMMC_GL_MAX_ORDER 20 |
在文件 quadrature_gaussian.c 第 3 行定义.
被这些函数引用 lmmc_quad_gauss_legendre().
| #define LMMC_GL_MIN_ORDER 1 |
在文件 quadrature_gaussian.c 第 4 行定义.
被这些函数引用 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 | 输出积分近似值。 |
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().