[Cython] Dead code removal

2011-05-03 Thread Vitja Makarov
Hi! I can move unreachable code removal into its own branch and then make a pull request. But it seems to me that dead code removal should be done in control flow analysis so there are few options: 1. remove unreachable code in control flow transformation 2. set is_terminator flag in control

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 00:21, Robert Bradshaw rober...@math.washington.edu wrote: On Mon, May 2, 2011 at 1:56 PM, mark florisson markflorisso...@gmail.com wrote: On 2 May 2011 18:24, Robert Bradshaw rober...@math.washington.edu wrote: On Sun, May 1, 2011 at 2:38 AM, mark florisson

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 10:07, Dag Sverre Seljebotn d.s.seljeb...@astro.uio.no wrote: On 05/03/2011 09:59 AM, mark florisson wrote: On 3 May 2011 00:21, Robert Bradshawrober...@math.washington.edu  wrote: On Mon, May 2, 2011 at 1:56 PM, mark florisson markflorisso...@gmail.com  wrote: On 2 May 2011

Re: [Cython] Fused Types

2011-05-03 Thread Dag Sverre Seljebotn
On 05/03/2011 10:42 AM, mark florisson wrote: On 3 May 2011 10:07, Dag Sverre Seljebotnd.s.seljeb...@astro.uio.no wrote: On 05/03/2011 09:59 AM, mark florisson wrote: On 3 May 2011 00:21, Robert Bradshawrober...@math.washington.eduwrote: On Mon, May 2, 2011 at 1:56 PM, mark florisson

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 10:44, Dag Sverre Seljebotn d.s.seljeb...@astro.uio.no wrote: On 05/03/2011 10:42 AM, mark florisson wrote: On 3 May 2011 10:07, Dag Sverre Seljebotnd.s.seljeb...@astro.uio.no  wrote: On 05/03/2011 09:59 AM, mark florisson wrote: On 3 May 2011 00:21, Robert

Re: [Cython] Fused Types

2011-05-03 Thread Dag Sverre Seljebotn
On 05/03/2011 10:49 AM, mark florisson wrote: On 3 May 2011 10:44, Dag Sverre Seljebotnd.s.seljeb...@astro.uio.no wrote: On 05/03/2011 10:42 AM, mark florisson wrote: On 3 May 2011 10:07, Dag Sverre Seljebotnd.s.seljeb...@astro.uio.no wrote: On 05/03/2011 09:59 AM, mark florisson wrote:

Re: [Cython] Fused Types

2011-05-03 Thread Greg Ewing
I'm a bit confused about how fused types combine to create further fused types. If you have something like ctypedef struct Vector: floating x floating y floating z then is it going to generate code for all possible combinations of types for x, y and z? That's probably not what

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 07:47, Greg Ewing greg.ew...@canterbury.ac.nz wrote: I'm a bit confused about how fused types combine to create further fused types. If you have something like  ctypedef struct Vector:    floating x    floating y    floating z then is it going to generate code for all

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 15:17, mark florisson markflorisso...@gmail.com wrote: On 3 May 2011 07:47, Greg Ewing greg.ew...@canterbury.ac.nz wrote: I'm a bit confused about how fused types combine to create further fused types. If you have something like  ctypedef struct Vector:    floating x    

Re: [Cython] Fused Types

2011-05-03 Thread Dag Sverre Seljebotn
On 05/03/2011 03:51 PM, Stefan Behnel wrote: mark florisson, 03.05.2011 15:17: if you have cdef func(floating x, floating y): ... you get a float, float version, and a double, double version, but not float, double or double, float. So, what would you have to do in order to get a float,

Re: [Cython] Fused Types

2011-05-03 Thread Robert Bradshaw
On Tue, May 3, 2011 at 12:59 AM, mark florisson markflorisso...@gmail.com wrote: On 3 May 2011 00:21, Robert Bradshaw rober...@math.washington.edu wrote: On Mon, May 2, 2011 at 1:56 PM, mark florisson markflorisso...@gmail.com wrote: On 2 May 2011 18:24, Robert Bradshaw

Re: [Cython] Fused Types

2011-05-03 Thread mark florisson
On 3 May 2011 18:00, Robert Bradshaw rober...@math.washington.edu wrote: On Tue, May 3, 2011 at 12:59 AM, mark florisson markflorisso...@gmail.com wrote: On 3 May 2011 00:21, Robert Bradshaw rober...@math.washington.edu wrote: On Mon, May 2, 2011 at 1:56 PM, mark florisson

Re: [Cython] Fused Types

2011-05-03 Thread Dag Sverre Seljebotn
I was wrong. We need cdef f(floating x, floating_p y) ...to get 2 specializations, not 4. And the rest follows from there. So I'm with Robert's real stance :-) I don't think we want flexibility, we want simplicity over all. You can always use a templating language. Btw we shouldn't count on

Re: [Cython] Fused Types

2011-05-03 Thread Robert Bradshaw
On Tue, May 3, 2011 at 10:06 AM, mark florisson markflorisso...@gmail.com wrote: On 3 May 2011 18:00, Robert Bradshaw rober...@math.washington.edu wrote: floating is implicitly available, we could require making it explicit. How would we make it explicit. Require the parameterization, i.e.

Re: [Cython] Fused Types

2011-05-03 Thread Dag Sverre Seljebotn
On 05/03/2011 08:19 PM, Robert Bradshaw wrote: Btw we shouldn't count on pruning for the design of this, I think this will for a large part be used with def functions. And if you use a cdef function from another module through a pxd, you also need all versions. Well, we'll want to avoid

Re: [Cython] Fused Types

2011-05-03 Thread Greg Ewing
Dag Sverre Seljebotn wrote: ctypedef fused_type(float, double) speed_t ctypedef fused_type(float, double) acceleration_t then you get 4 specializations. ctypedef speed_t acceleration_t I guess only 2 specializations. Treating the typedefs in this way is slightly fishy of course. Indeed.

Re: [Cython] Fused Types

2011-05-03 Thread Robert Bradshaw
On Tue, May 3, 2011 at 12:59 PM, Dag Sverre Seljebotn d.s.seljeb...@astro.uio.no wrote: On 05/03/2011 08:19 PM, Robert Bradshaw wrote: Btw we shouldn't count on pruning for the design of this, I think this will for a large part be used with def functions. And if you use a cdef function from