5#ifndef LMMC_QUADRATURE_H
6#define LMMC_QUADRATURE_H
LMMC binary real type and arithmetic spelling.
double lmmc_real_t
Public and internal LMMC real type.
lmmc_status_t lmmc_quad_romberg(lmmc_quad_func_t f, void *ud, lmmc_real_t a, lmmc_real_t b, lmmc_real_t abs_tol, size_t max_iter, lmmc_quad_result_t *out)
Romberg 积分(Richardson 外推加速梯形法则)。
lmmc_real_t(*) lmmc_quad_func_t(lmmc_real_t x, void *user_data)
被积函数签名 。
lmmc_status_t lmmc_quad_tanh_sinh(lmmc_quad_func_t f, void *ud, lmmc_real_t a, lmmc_real_t b, lmmc_real_t abs_tol, size_t max_nodes, lmmc_quad_result_t *out)
Tanh-Sinh(双指数)积分,适用于端点奇异性。
lmmc_status_t lmmc_quad_adaptive(lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, lmmc_real_t abs_tol, lmmc_real_t rel_tol, size_t max_depth, lmmc_quad_result_t *out_result)
自适应 Simpson 积分,使用最大误差堆控制全局误差。
lmmc_status_t lmmc_quad_gauss_hermite(lmmc_quad_func_t f, void *ud, size_t order, lmmc_real_t *out)
Gauss-Hermite 求积:权函数 ,积分域 。
lmmc_status_t lmmc_quad_trapezoid(lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, size_t n, lmmc_real_t *out_result)
复合梯形公式:将 等分为 n 段。
lmmc_status_t lmmc_quad_simpson(lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, size_t n, lmmc_real_t *out_result)
复合 Simpson 公式:将 等分为 n 段(要求偶数)。
lmmc_status_t lmmc_quad_gauss_laguerre(lmmc_quad_func_t f, void *ud, size_t order, lmmc_real_t *out)
Gauss-Laguerre 求积:权函数 ,积分域 。
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 求积:将 仿射映射到 后使用正交节点。
lmmc_status_t
LMMC 库统一返回的状态码.