On Freitag 09 November 2007, Travis E. Oliphant wrote: > > While this is > > a good idea (also probably quite some work), the real thing bugging me is > > that the above DOUBLE_add could (and should!) be called by the ufunc > > framework in such a way that it is equally efficient for C and Fortran > > arrays. > > Yes, that's what I was talking about. There is actually a path through > the ufunc code where this loop is called only once. The requirement > right now is that all the arrays are C-contiguous, but this should be > changed to all arrays have the same contiguousness (and the output-array > creation code changed to create Fortran-order arrays when the inputs are > all Fortran-order).
After some measurements, I must say that even the slower Fortran variant is
competitive (read: faster ;-) ), compared with our very flexible dynamic
functors used in the current interactive VIGRA. IOW: Good job. :-)
> > BTW: What are the "void *func" in core/src/umathmodule.c.src arguments
> > for? Shouldn't that be "void * /*func*/", since the parameters are
> > never used?
>
> Sure, it could be void * /* func*/
>
> You'll have to forgive my ignorance, but does that matter? Are we
> using up a register or something by naming an unused argument?
No, but it triggers a compiler warning ("unused parameter foo", if warnings
are enabled), which I even think to be useful. At least in g++, but that
obviously showed my ignorance of C, since gcc -W does not complain. ;-)
BTW: I am getting an interesting warning for
numpy/core/src/scalartypes.inc.src:288 (empty 'if' body), which indeed looks
suspicious. The rest of the warnings can be neglected I AFAICS.
Ciao, / / .o.
/--/ ..o
/ / ANS ooo
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
