Try   HackMD

2016q3 Homework1 (compute-pi)

contributed by <Quexint>

開發記錄

v0 原始版本

v1 支援 make plot

v2 加入 Error Rate 及 重推公式

double compute_pi_baseline(size_t N)
{
    double pi = 0.0;
    double dt = 1.0 / N;                // dt = (b-a)/N, b = 1, a = 0
    for (size_t i = 0; i < N; i++) {
        double x = (double) i / N;      // x = ti = a+(b-a)*i/N = i/N
        pi += dt / (1.0 + x * x);       // integrate 1/(1+x^2), i = 0....N
    }
    return pi * 4.0;
}
double compute_pi_baseline_plus(size_t N)
{
    double pi = 0.0;
    for (size_t i = 0; i < N; i++) {
        double x = N * N + i * i;
        pi += N / (x);
    }
    return pi * 4.0;
}
  • 時間下降一半以上,精準度不變