Re: Compiling functions
- To: mathgroup at smc.vnet.net
- Subject: [mg31751] Re: Compiling functions
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sat, 1 Dec 2001 02:43:50 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <9u4g5i$lhk$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
expr = (-b + Sqrt[b^2 - 4*a*c])/(2*a);
tf = Compile[{{a, _Complex}, {b, _Complex}, {c, _Complex}},
Evaluate[expr]]
Regards
Jens
Cyril Fischer wrote:
>
> Hello. I would like to ask you for help with compiling functions.
>
> Let's have
> expr = (-b + Sqrt[b^2 - 4*a*c])/(2*a)
>
> Simple compile does not work for me:
> tf = Compile[{a, b, c}, expr]; tf[1, 2, 3]
>
> in this case the the values are not substitued for symbols.
>
> Such a ugly construction works
> tf = Compile[{a1, b1, c1},
> Evaluate[expr /. {a -> a1, b -> b1, c -> c1}]]; tf[1, 2, 3]
>
> however it failes to evaluate compiled expression as the sqrt result is
> not real.
>
> 1. How can I compile (assigned) expressions without substitution for
> each parameter?
>
> 2. How can I compile expressions, which (for real input) can give
> complex output?
>
> Thanks, Cyril F.