diff --git a/install.sh b/install.sh index 94d4751521d190bb0cec0e69f554c9453f38df02..426f76b267a2b734ba654bcbd7c2e56384652f44 100755 --- a/install.sh +++ b/install.sh @@ -34,7 +34,7 @@ echo "Installing to ${install_dir}" START=${PWD} cd src autoreconf --verbose --force --install --make -./configure --prefix ${install_dir} CFLAGS="-Wno-format-truncation" +./configure --prefix ${install_dir} CFLAGS="-Wno-format-truncation -g -O3" make install cd ${START} diff --git a/src/BayesLine.c b/src/BayesLine.c index c73d079975ca1461da6ea9029ff641e4d3dfe162..601e670239b750e1ff2e6d55efd4fafb3e340a63 100644 --- a/src/BayesLine.c +++ b/src/BayesLine.c @@ -504,7 +504,7 @@ void create_dataParams(dataParams *data, double *f, int n) data->nmin = (int)(f[0]*data->Tobs); // the stencil separation in Hz for the spline model. Going below 2 Hz is dangerous - will fight with line model - data->fgrid = data->fstep/2.;//15.0;//FSTEP;///4;//4.0;//FSTEP; + data->fgrid = 4.0;//data->fstep/2.;//15.0;//FSTEP;///4;//4.0;//FSTEP; } void create_lorentzianParams(lorentzianParams *lines, int size) @@ -2547,14 +2547,24 @@ void blstart(double *data, double *residual, int N, double dt, double fmin, int // make sure that the last point is at or below fmax f = fmin+(double)(Nspline-1)*fsp; k = (int)(rint(f*Tobs)); - if(k > N/2-1) Nspline = Nspline-1; + //if(k > N/2-1) Nspline = Nspline-1; - for (i = 0; i < Nspline; ++i) + for (i = 0; i < Nspline-1; ++i) { f = fmin+(double)(i)*fsp; k = (int)(rint(f*Tobs)); - pspline[i] = (double)(k)/Tobs; - dspline[i] = log(sspecD[k]*fac); + + //catch k going out of bounds + if(k<N/2) + { + pspline[i] = (double)(k)/Tobs; + dspline[i] = log(sspecD[k]*fac); + } + else + { + pspline[i] = (double)(N/2-1)/Tobs; + dspline[i] = log(sspecD[N/2-1]*fac); + } } dspline[Nspline-1] = dspline[Nspline-2]; diff --git a/src/BayesWaveModel.c b/src/BayesWaveModel.c index 7bf8851f93ea21c8e336c92e99556f91bc46064c..a3a2b008d2a2f9f34acfd739bbc6d895722d42e5 100644 --- a/src/BayesWaveModel.c +++ b/src/BayesWaveModel.c @@ -896,7 +896,7 @@ void initialize_bayesline(struct BayesLineParams **bayesline, struct Data *data, { int i,ifo; - int N = (int)(data->Tobs*(data->fmax-data->fmin))+1; + int N = (int)(data->Tobs*(data->fmax-data->fmin)); int imin = (int)(data->Tobs*data->fmin); for(ifo=0; ifo<data->NI; ifo++)