This is the mail archive of the
gsl-discuss@sourceware.org
mailing list for the GSL project.
Re: Issue with Mathieu Function Code
- From: Brian Gladman <brg at gladman dot plus dot com>
- To: "gsl-discuss at sourceware dot org" <gsl-discuss at sourceware dot org>
- Date: Mon, 09 Sep 2013 20:04:21 +0100
- Subject: Re: Issue with Mathieu Function Code
- Authentication-results: sourceware.org; auth=none
- References: <522231C2 dot 1060908 at gladman dot plus dot com> <522E0A6F dot 3040400 at colorado dot edu>
On 09/09/2013 18:50, Patrick Alken wrote:
> This sounds like a good idea, but we need to maintain binary
> compatibility in future releases of GSL. It seems we could easily add
> functions with _e names, since they are already implemented. But we need
> to maintain the old interfaces as well, or at least mark them as
> deprecated, so that people can link their programs to the new library
> version without needing to recompile.
Ah, I hadn't realised that this was an issue.
Is there a define somewhere (or could we add one) that would allow
those users who are happy to recompile to update to a new interface?
What I have in mind is to have
---------------------------------
// the new function
int function_e(...)
{
}
#ifdef MAINTAIN_BINARY_COMPATIBILITY
// keep the old function
#define function function_e
#else
// add the new function
double function(...)
{
EVAL_RESULT(function_e(order, qq, zz, &result));
}
#endif
This would also make it easy to move to v2.0.
I would be happy to do the work involved although it would need checking
on Linux.
Brian