我有一项任务是尽可能使下列函数精确(速度不是目标)。我必须使用浮法和方法中间矩形。你能提出一些建议吗?其实,我认为,这都是关于最小化浮动四舍五入误差。这就是我所做的:优化浮点运算
typedef float T;
T integrate(T left, T right, long N, T (*func)(T)) {
long i = 0;
T result = 0.0;
T interval = right - left;
for(i = 0; i < N; i++) {
result += func(left + interval * (i + 0.5)/N) * interval/N;
}
return result;
}
'result + = func(left + interval *(i + 0.5)/ N)* interval'和'return result/N;' – 2013-03-16 18:47:58
函数指针调用是否必要?它可以内联吗? – Mysticial 2013-03-16 18:48:20
@Mysticial是的,这是必要的。但我不需要速度,我需要精确度,所以没关系。 – 2013-03-16 18:51:02