This is the mail archive of the gsl-discuss@sourceware.org mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Issue with Mathieu Function Code


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]