Hi Brian and Patrick, The attached patch moves the derivative functionality into a separate workspace. Users allocate a gsl_bspline_workspace then a gsl_bspline_deriv_workspace if they need the new capabilities. All the derivative-related functions are named like gsl_bspline_deriv_* to help make the separation clear. The patch includes updates to doc/bspline.texi. Applies cleanly to savannah and Brian's bspline-compat branch. Brian, I'm not sure if I missed running a specific compatibility test in your branch or not... If you had one in there, I missed it and haven't run it. - Rhys On Fri, Dec 5, 2008 at 4:40 PM, Rhys Ulerich wrote: > I'll break out the bspline derivative workspace and get back to you guys > with a patch. > > FYI, the derivative workspace storage is O(order^2) in contrast to the > evaluation workspace being only O(order). Leading constant on the > derivative storage term is small, but I could see where later joining the > workspaces is a disadvantage for someone needing only evaluation > capabilities. > > - Rhys > > On Fri, Dec 5, 2008 at 1:10 PM, Patrick Alken > wrote: >> >> Ah I hadn't considered this issue. If there are other areas of >> GSL which have the same issues maybe we should keep a list so >> when there is a major new release like 2.0 we could integrate >> these "extra" workspaces? Of course one problem with that is >> if we have a separate workspace for bspline derivatives it may >> never be convenient to integrate it with the normal bspline >> workspace. >> >> On Fri, Dec 05, 2008 at 06:56:15PM +0000, Brian Gough wrote: >> > I noticed a problem when preparing the new release. The extra entries >> > in the bspline derivatives workspace break binary compatibility. >> > >> > This isn't necessarily a huge problem, but it seems undesirable to >> > force an upgrade of all applications just for those two struct >> > entries. If we're going to break binary compatibility we may as well >> > do it for all other functions that need it at the same time. >> > >> > So I'd propose using a separate workspace for the derivative functions >> > in this release. >> > >> > See e.g. branch bspline-compat at >> > http://src.network-theory.com/gsl.git/ >> > which is basically finished, I just need to add some error checking. > >