#define BGHOSTS 2
#include "grid/multigrid1D.h"
#include "higher-order.h"
#define GCA (sqrt(pi)/2.*(erf(x + (Delta/2.)) - erf(x - (Delta/2.)))/Delta)
scalar s[];
int main() {
L0 = 15;
X0 = Y0 = -L0/2;
for (N = 16; N <= 1024; N *= 2) {
init_grid (N);
foreach()
s[] = GCA;
boundary({s});
double err = 0;
for (double xp = -2; xp <= 2; xp += 0.99)
err += fabs(exp(-sq(xp)) - interpolate_5(s, xp));
printf ("%d %g\n", N, err);
}
}
set logscale x 2
set logscale y
set xr [8:2048]
set grid
set size square
set xlabel 'N'
set ylabel 'L1'
plot 'out', 1e6*x**(-5)