[Numpy-discussion] NumPy re-factoring project

Pauli Virtanen pav at iki.fi
Fri Jun 11 04:38:28 EDT 2010


Fri, 11 Jun 2010 10:29:28 +0200, Hans Meine wrote:
[clip]
> Ideally, algorithms would get wrapped in between two additional
> pre-/postprocessing steps:
> 
> 1) Preprocessing: After broadcasting, transpose the input arrays such
> that they become C order.  More specifically, sort the strides of one
> (e.g. the first/the largest) input array decreasingly, and apply the
> same transposition to the other arrays (in + out if given).
> 
> 2) Perform the actual algorithm, producing a C-order output array.
> 
> 3) Apply the reverse transposition to the output array.
[clip]

The post/preprocessing steps are fairly easy to implement in the ufunc 
machinery.

The problem here was that this would result to a subtle semantic change, 
as output arrays from ufuncs would no longer necessarily be in C order.

We need to explicitly to *decide* to make this change, before proceeding. 
I'd say that we should simply do this, as nobody should depend on this 
assumption.

I think I there was some code ready to implement this shuffling. I'll try 
to dig it out and implement the shuffling.

-- 
Pauli Virtanen




More information about the NumPy-Discussion mailing list