[GiNaC-devel] Clifford patch (cumulative)

Richard B. Kreckel kreckel at thep.physik.uni-mainz.de
Mon Feb 7 21:55:04 CET 2005


Dear Vladimir,

On Mon, 7 Feb 2005, Vladimir Kisil wrote:
> 		I discovered that clifford_moebius_map() function was ignorant
>   of representative labels for Clifford numbers, which generates
>   misbehaviour. I include the cumulative patch which this issue along
>   with the previous one.

Your patch introduces an additional integer parameter to the two free
functions GiNaC::clifford_moebius_map(..).  As such, it changes the
signature of the two functions and also the mangled name, rendering the
library binary-incompatible.  For this reason, your patch cannot be
applied to the GiNaC-1.3 tree, where we strive for binary compatibility.
It can, however, be applied to the GiNaC-1.4 tree, where binary
compatibility to GiaC-1.3 is not a goal.

Notice, that the additional integer parameter is really part of the
mangled name and there is only one mangled name.  The default value is
inserted by the compiler, not the linker.

You can, however, prepare another equivalent patch for inclusion in
the GiNaC-1.3 tree by providing an additional function that has the
additional parameter (without default).  That would just add another
signature, and not break binary compatibility.  The library would then
provide both the function

    ex clifford_moebius_map(const ex&, const ex&, const ex&, const ex&, const ex&, const ex&)

as well as

    ex clifford_moebius_map(const ex&, const ex&, const ex&, const ex&, const ex&, const ex&, unsigned char)

and similar for the other signature.

Internally, you may implement the first function by delegating to the
second function, if that is what you want to do.  If you agree, could you
send such a patch to the list, please?

Best wishes
  -richy.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>




More information about the GiNaC-devel mailing list