On Jun 26, 8:35 am, Toon Verstraelen <toon.verstrae...@ugent.be>
wrote:
> Vinzent Steinberg wrote:
> > On Jun 25, 8:33 am, Toon Verstraelen <toon.verstrae...@ugent.be>
> > wrote:
> >> In [15]: ccode(integrate(sin(x)/x,x))
> >> Out[15]: Integral(sin(x)/x, x)
>
> >> This should always raise an exception. Such a thing is never ever going
> >> to be compilable.
>
> > We could use a library (maybe sepcified by the user) that can evaluate
> > Integrals numerically.
>
> Thanks for all the helpful comments. The numerical integration is a bit
> troublesome, and probably something we can not fix at the ccode level. C does
> not support lambda functions or functions defined inside other functions. In
> this case sin(x)/x should have been defined elsewhere as a separate function.
> Then the numerical integration routine can take a pointer to that function as 
> a
> first argument. (It's a C problem and can be done in other languages like 
> Python.)
> I'm afraid that the current ccode/codegen design does not allow this kind of
> features for some languages, and a more holistic approach  would be necessary.
> (where ccode and codegen are merged in one module, somthing like the work of
> Marc Dewing). I also think it is a bit beyond my current intentions with
> codegen. The original idea was to let it implement lenghtly formula's that no
> one wants to code by hand.
> I would suggest to raise a NotImplementedError, until we find an appropriate
> solution.

Surely, this would be a quite advanced feature, we should not yet care
about it. But it would be possible I think. (It would involve
determining the function to integrate and creating a generic C
function, depending on the interface.)

Vinzent
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com
To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to