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