That sounds like a good design choice. I'm assuming code to dispatch to the correct routine is included? So if I call foo with a dense (c-contiguous) ndarray version 1 is called, while otherwise version 2 is used? On Thu, Oct 23, 2014 at 4:53 AM, serge Guelton <sguelton@xxxxxxxxxxxxx> wrote: > On Wed, Oct 22, 2014 at 09:38:42AM -0400, Neal Becker wrote: > > My top priority: > > > > * support for sliced arrays as input to functions > > Hi again Neal, > > I managed to get support for strided arrays, but I'd be happy to have > your feedback on the user interface. > > Let's consider this generic function: > > def foo(a): > return a > > with the following export: > > #pythran export foo(int[]) > > it will accept non-strided int 1D ndarrays, and with the following > export: > > #pythran export foo(int[::]) > > it will accept any strided int 1D ndarray. you could combine both > notations to accept any ndarray (strided or non strided): > > #pythran export foo(int[]) > #pythran export foo(int[::]) > > I acknowledge it would be easier to accept both strided and non strided > arrays using a single notation, but that would lead to performance > decrease for the non-strided case. > > Any thought? > > -- *Those who don't understand recursion are doomed to repeat it*