#727: Proposing 'fast_vectorize' to go in scipy.weave
-------------------------+--------------------------------------------------
Reporter: ilan | Owner: somebody
Type: enhancement | Status: new
Priority: normal | Milestone: 0.7.0
Component: scipy.weave | Version:
Severity: normal | Keywords:
-------------------------+--------------------------------------------------
I have implemented, documented and tested a new function
called 'fast_vectorize'. This function is intended to be used
as a decorator, and it's purpose is to easily create Ufunc
objects for a given python function. The function translates a
Python function, actually an RPython (resticted Python) function,
which is still valid Python, into C using the PyPy translator.
Therefore this functions has a dependency on pypy. However, pypy
is imported in a lazy manner, such that scipy itself will not depend
on pypy, which is a big project.
Included in the patch is the core implementation, tests, benchmarks,
as well as examples.
I have tested this patch against latest svn numpy trunk (which
is required for the current scipy trunk), Python2.4 on SuSE Linux
and Python2.5 on OSX10.4.
To apply the patch, you need to go change to the scipy root and run patch:
{{{
$ cd scipy
$ ls
FORMAT_GUIDELINES.txt MANIFEST.in setupegg.py THANKS.txt
INSTALL.txt new_manifest.sh setup.py TOCHANGE.txt
LATEST.txt README.txt setupscons.py
LICENSE.txt scipy site.cfg.example
$ md5sum path_to/fast_vec.diff
9ecfa0351b5742a18819cd241e3f54c9
$ patch -p1 < path_to/fast_vec.diff
}}}
--
Ticket URL: <http://scipy.org/scipy/scipy/ticket/727>
SciPy <http://www.scipy.org/>
SciPy is open-source software for mathematics, science, and engineering.