Hi Patrick, On 01/06/2014 11:57 AM, Patrick Alken wrote: > On 01/05/2014 01:31 PM, David Zaslavsky wrote: >> On the indexing issue: interp2d treats the x index as the column >> coordinate and the y index as the row coordinate, so that xsize is the >> number of columns and ysize is the number of rows. This is done for >> compatibility with Cartesian coordinates: most people envision x as the >> horizontal coordinate and y as the vertical one. Given this >> interpretation, the current implementation of INDEX_2D does use >> row-major order. > > This makes sense, we can probably leave it the way it is, we'll just > need to make sure the documentation is very clear on how to construct > the z array so users aren't confused with the indexing. Sure, that would be a reasonable option, but I'd like to do a bit of research (i.e. ask a few more people for opinions) to see what solution will be the least confusing. After all, if there is a change to be made, this is the time to do it, not later after the code is incorporated into GSL. I think backward compatibility will not be too much of a problem because people will have to make other changes anyway to transition from the interp2d_* functions to the corresponding gsl_* functions. >> Also, I should mention that I don't consider interp2d to be >> feature-complete, nor am I in any particular rush to make it complete. >> There are some features I'm interested in adding, including additional >> interpolation schemes, more interpolation methods without boundary >> checks (for extrapolation), etc. How would this move affect my ability >> to continue to add features? > > It already has bilinear and bicubic implemented. This is more than > enough to make it useful to people so I think we can put it in now and > continue adding features. > > I saw from some comments that you used some code from ALGLIB - can we > assume you're using the GPL v2 version of ALGLIB? In that case there > shouldn't be any problem putting it in GSL under GPL v3. The code was adapted from ALGLIB by Thomas Beutlich, and I'm pretty sure he told me that he used the GPL v2 version. I'll double-check that, though. When I have some time I'll fork the GSL repository and work on adding the interp2d code in a new branch. :) David