Yes, I didn’t bother doing the integration function at the time because I was having trouble just compiling. I will add the integration function, and re-write the eval and deriv/deriv2 functions to use Horner’s scheme for the polynomials. I can generate some comparison graphs using fake data like in Steffen’s paper, that sounds easy enough.
I’ll look at the interpolation/test.c file and see if I can come up with similar tests. Thanks for offering to help with the integration into GSL itself. I don’t know a lot of the procedures (or even politics sometimes!) involved. Jean-François On Mar 20, 2014, at 10:22 , Patrick Alken <[email protected]> wrote: > I did notice you talking about 1.6 in your earlier messages, but assumed it > was a typo and you meant 1.16, oops. > > On 03/20/2014 11:11 AM, Jean-François Caron wrote: >> >> My original problem was that I wanted to add an interpolation type to GSL. >> Specifically I want monotonic cubic-splines following the description in >> Steffen (1990): http://adsabs.harvard.edu/full/1990A%26A...239..443S > > I took a quick look at your code earlier and it looks pretty nice. I noticed > you commented out the _integ function - is this something you could add to > make it feature complete with the other interpolation types? > > It is important to add automated tests for this. Can you look at > interpolation/test.c and design similar tests for your new method? Also I > think it would be nice to add a figure to the manual illustrating the > differences between cubic, akima, and your new steffen method (similar to the > figures in the Steffen paper). This would help users a lot when trying to > decide what method to use. Do you happen to have a dataset which shows a nice > contrast like Figs 1, 3 and 8 from that paper? > > When everything is ready I would be happy to add it to GSL, as we are already > planning to update the interpolation module for the next release. When I find > some time I want to import the 2D interpolation extension discussed > previously, and also add Hermite interpolation. > > It would be easiest for us if you could clone the GSL git repository and make > your changes there. You could make a new branch called 'steffen' or something > and publish it to github, or just send a patch file to me, whichever is > easiest. > > Patrick > > On Mar 19, 2014, at 18:40 , Dave Allured - NOAA Affiliate > <[email protected]> wrote: >>> More data. I tried the same plain build recipe, GSL 1.16 on our test >>> machine which is at Mac OS 10.9.3. Got another perfect build, no make >>> check errors, no PPC-related issues. Outputs on request, please be >>> specific. >>> >>> CC=clang >>> CFLAGS=-g >>> ./configure --prefix /Users/dallured/Disk/3rd/gsl/1.16.os10.9 >>> >>> mac27:~/Disk/3rd/gsl/1.16.os10.9 57> sw_vers >>> ProductName: Mac OS X >>> ProductVersion: 10.9.3 >>> BuildVersion: 13D17 >>> >>> mac27:~/Disk/3rd/gsl/1.16.os10.9/src 36> \ >>> ? grep -i '# [a-z]' ../logfiles/make-check.0319a.log | sort | uniq -c >>> 45 # ERROR: 0 >>> 45 # FAIL: 0 >>> 42 # PASS: 1 >>> 3 # PASS: 2 >>> 45 # SKIP: 0 >>> 42 # TOTAL: 1 >>> 3 # TOTAL: 2 >>> 45 # XFAIL: 0 >>> 45 # XPASS: 0 >>> >>> mac27:~/Disk/3rd/gsl/1.16.os10.9 62> \ >>> ? grep -c -i ppc logfiles/*319a*log >>> logfiles/configure.0319a.os10.9.log:0 >>> logfiles/install.0319a.log:0 >>> logfiles/make-check.0319a.log:0 >>> logfiles/make.0319a.log:0 >>> >>> mac27:~/Disk/3rd/gsl/1.16.os10.9 65> \ >>> ? grep -i ppc src/config.h src/config.log src/config.status >>> src/config.h:/* #undef HAVE_GNUPPC_IEEE_INTERFACE */ >>> src/config.log:HAVE_GNUPPC_IEEE_INTERFACE='' >>> src/config.status:S["HAVE_GNUPPC_IEEE_INTERFACE"]="" >>> >>> --Dave >>> >>> On Wed, Mar 19, 2014 at 5:27 PM, Jean-Francois Caron <[email protected]> >>> wrote: >>>> Dave is correct, I am using an "i686" 64-bit x86 mac. For some reason >>>> it is still looking for the PPC mac header file. The ./configure >>>> stage correctly identifies my system, so it's a bit strange. Also GSL >>>> installs without errors when I do it from MacPorts, and MacPorts >>>> doesn't seem to do anything other than ./configure && make, from my >>>> reading of the portfile. >>>> >>>> When I get back to my Mac, I will look at the NOTES file to see if >>>> anything needs to be done for 10.9. >>>> >>>> Jean-François >> > >
