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/>