Hi,<br><br>I've been exporting C code from GiNaC using "csrc_double" output format during a long time.<br><br>Now we are dealing with rather long real expressions, that involve only +-*\ and pow. In a benchmark<br>
and for comparison purposes we've end up comparing<br>the results of evaluate the same function through "dflt" (used to generate output for MATLAB) and csrc_double<br>(used to generate same code for C).<br><br>
Numerical discrepancies where found and traced back to to small symbolic differences in the output obtained through both formats.<br><br>To avoid the problem and due to the symbolical simplicity of our expressions (only +-*\ and pow) we've developed our own -very simple- exporting format for C.<br>
Basically we derive our format from "dflt" and change the way in which natural numbers and powers are written (we append a .0 to natural numbers)<br>and we change a^b with pow(a,b).<br><br>Right now we are obtaining a correct behaviour the export based on our new format, coherent with "dflt" numerical results (in a particular case), and obtaining different<br>
results with csrc_double (I think too with csrc alone).<br><br>So I think I'm facing a bug in csrc output format.<br><br>I wonder if anybody wants me to report further on this (I don't feel confident as to dig into GiNaC's implementation of crsc).<br>
If so please let me know the way in which I can report back the error (or what I think is an error) with the required detail.<br><br><br>Cheers,<br><br>Javier<br><br>