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:25:50 +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> <522E1BB5 dot 9070506 at gladman dot plus dot com>
On 09/09/2013 20:04, Brian Gladman wrote:
> 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.
Answering my own question, I could simply use GSL_MAJOR_VERSION
Brian