Dear Richy,

thanks for the quick fix. I gave it a try, but it introduces new issues:
After the patch y*(x+1)^(2.0)*(x+1)^(-1.0) now prints x+1.0*y 
Same for e.g. y*(x+1)^(0.5)*(x+1)^(0.5), which now is written as x+1.0*y.

I think instead of
   
    if (it->coeff.info(info_flags::integer) && (it->coeff.is_equal(_ex1) || it->coeff.is_equal(_ex_1)))

The patch should read:

    if (it->coeff.is_equal(_ex1) || (it->coeff.is_equal(_ex_1) && it->coeff.info(info_flags::integer)))

Best regards,

Christian


Von: Richard B. Kreckel <kreckel@in.terlu.de>
Gesendet: Mittwoch, 5. August 2026 00:34
An: ginac-list@ginac.de <ginac-list@ginac.de>
Betreff: [GiNaC-list] Re: Wrongly generated C code
 
Dear Christian,

Thanks for your bug report!

Can you try the patch attached to issue #7, please?
https://codeberg.org/ginac/ginac/issues/7

Please report back if some problem with csrc* output remains.

All my best,
   -richy.
--
Richard B. Kreckel
<https://in.terlu.de/~kreckel/>
_______________________________________________
GiNaC-list mailing list -- ginac-list@ginac.de
To unsubscribe send an email to ginac-list-leave@ginac.de
https://lists.ginac.de/mailman3/lists/ginac-list.ginac.de/