Summary of changes that I just pushed:
I changed the 1e-5 to 0.01*tol, which by default is 1e-6, and documented this behavior.  As a result, some of the unit tests in test_spline.py fail due to small mismatches compared to a saved table of values.  I looked very quickly and it seems the changes are tiny but our tests were very stringent.  I think that if we're changing the default, then we should change the saved values against which the comparison is done, but I have to meet with a student now, so I can't do that until later / tonight.

I also added python-level documentation for the interpolants in pysrc/Interpolant.cpp.

On Apr 22, 2013, at 11:03 AM, Mike Jarvis <notifications@github.com> wrote:

> In src/Interpolant.cpp:
> 
> > @@ -140,6 +140,11 @@
> >      Lanczos::Lanczos(int n, bool fluxConserve, double tol) :  
> >          _n(n), _fluxConserve(fluxConserve), _tolerance(tol)
> >      {
> > +        // TODO: These can't be retrieved from any GSParams object.
> > +        //       Should they be tol?  0.01*tol?
> > +        const double xvalue_accuracy = 1.e-5;
> > +        const double kvalue_accuracy = 1.e-5;
> I don't think you need to go too strong on documenting the 0.01 here. The tol value already sets an accuracy limit for the resulting Interpolant. The 0.01 factor means that any additional numerical inaccuracies in building the lookup table are much smaller. So I think I'd recommend just putting a comment to this effect in src/Interpolant.cpp where we define these values and leave it at that.
> 
> That said, we probably ought to have some kind of documentation for the Interpolants in general, so if you'd like to do that on this branch, that would be great.
> 
> —
> Reply to this email directly or view it on GitHub.
> 


-------------------------------

Rachel Mandelbaum
rmandelb@andrew.cmu.edu
http://www.andrew.cmu.edu/~rmandelb/