On 03/30/2011 08:01 PM, Ankit Daftery wrote:
Hello
I am working on the project proposal for GSoC 2011 for the Boost.python
project, and I would like a little help.
1. ndarray.hpp mentions that functionality needs to be added like the
one in boost::python::numeric::array . Stefan suggested that Jim might
be able to help with what exactly was intended. Is there anything
specific in mind ?
If one looks at the Numpy C-API or the list of methods available to
numpy.ndarray, there are a lot more than are present in the wrapper in
ndarray.hpp. Some of these should be added to ndarray.hpp.
2. Neal mentions that efficiency needs to be improved. Could you please
help me with a little more detail about that, Neal ?
3. ndarray.hpp also mentions that the templates "Should probably take
ranges of iterators rather than actual container objects." Could someone
explain what is intended ?
This is just a question of how best to pass a sequence of integers that
specify the shape and stride of array. Making the argument a specific
C++ container type requires the user to use exactly that type and to
fill it with exactly those elements; it's usually considered better form
to accept a range of iterators when you can. Taking iterator ranges
makes for a lot of arguments, though, which makes the API a little
unwieldy, especially considering the size of the containers has to be
the same.
I think one of the goals for the GSoC project would be to look at
different ways to rework that API and see what various people like best.
Am I missing out on something essential ? Anything I should keep in mind
? Tips and pointers.
In one of my previous emails on this list I wrote down what my goals
would be for this project (including the two discussed above). In
general, I think it's about taking the sandbox library and cleaning it
up to the point where it's at a boost level of quality, and possibly
revisiting some of the design decisions that went into it.
Jim
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig