diff --git a/kernel.cc b/kernel.cc index add270fa6ddcce862b18e295533297839d3da217..0cc024d8c28c349c3cd33dd27ed993c3ae16bdab 100644 --- a/kernel.cc +++ b/kernel.cc @@ -195,20 +195,14 @@ namespace MISCMATHS { { int widthx = (width - 1)/2; // kernel half-width (i.e. range is +/- w) - int ix0; ix0 = (int) floor(index); - static int wx=0; - static float *storex = 0; - if ( (wx!=widthx) || (storex==0) ) { - wx=widthx; - storex = new float[2*wx+1]; - for (int d=-wx; d<=wx; d++) { - storex[d+wx] = kernelval((index-ix0+d),wx,userkernel); - } - } - + int wx(widthx); + vector<float> storex(2*wx+1); + for (int d=-wx; d<=wx; d++) + storex[d+wx] = kernelval((index-ix0+d),wx,userkernel); + float convsum=0.0, interpval=0.0, kersum=0.0; int xj; @@ -216,8 +210,6 @@ namespace MISCMATHS { if (in_bounds(data, x1)) { xj=ix0-x1+wx; float kerfac = storex[xj]; - // cerr << "x1 = " << x1 << endl; - // cerr << "data(x1) = " << data(x1) << endl; convsum += data(x1) * kerfac; kersum += kerfac; } @@ -228,9 +220,6 @@ namespace MISCMATHS { } else { interpval = (float) extrapolate_1d(data, ix0); } - - // cerr << "interpval = " << interpval << endl; - return interpval; }