📄 cuhre.c
字号:
/* Cuhre.c Adaptive integration using cubature rules by Thomas Hahn last modified 2 Mar 06 th*/#include "util.c"#define Print(s) puts(s); fflush(stdout)static Integrand integrand_;/*********************************************************************/static inline void DoSample(count n, creal *x, real *f){ neval_ += n; while( n-- ) { integrand_(&ndim_, x, &ncomp_, f); x += ndim_; f += ncomp_; }}/*********************************************************************/#include "common.c"Extern void EXPORT(Cuhre)(ccount ndim, ccount ncomp, Integrand integrand, creal epsrel, creal epsabs, cint flags, cnumber mineval, cnumber maxeval, ccount key, count *pnregions, number *pneval, int *pfail, real *integral, real *error, real *prob){ ndim_ = ndim; ncomp_ = ncomp; if( BadComponent(ncomp) || BadDimension(ndim) ) *pfail = -1; else { neval_ = 0; integrand_ = integrand; *pfail = Integrate(epsrel, Max(epsabs, NOTZERO), flags, mineval, maxeval, key, integral, error, prob); *pnregions = nregions_; *pneval = neval_; }}/*********************************************************************/Extern void EXPORT(cuhre)(ccount *pndim, ccount *pncomp, Integrand integrand, creal *pepsrel, creal *pepsabs, cint *pflags, cnumber *pmineval, cnumber *pmaxeval, ccount *pkey, count *pnregions, number *pneval, int *pfail, real *integral, real *error, real *prob){ EXPORT(Cuhre)(*pndim, *pncomp, integrand, *pepsrel, *pepsabs, *pflags, *pmineval, *pmaxeval, *pkey, pnregions, pneval, pfail, integral, error, prob);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -