[Numpy-discussion] Custom dtypes without C -- or, a standard ndarray-like type

Travis Oliphant travis at continuum.io
Wed Sep 24 18:11:05 EDT 2014

This could actually be done by using the structured dtype pretty easily.
The hard work would be improving the ufunc and generalized ufunc mechanism
to handle structured data-types. Numba actually provides some of this
already, so if you have NumPy + Numba you can do this sort of thing now.


On Wed, Sep 24, 2014 at 12:08 PM, Chris Barker <chris.barker at noaa.gov>

> On Tue, Sep 23, 2014 at 4:40 AM, Eric Moore <ewm at redtetrahedron.org>
> wrote:
>>  Improving the dtype system requires working on c code.
> yes -- it sure does. But I think that is a bit of a Red Herring. I'm
> barely competent in C, and don't like it much, but the real barrier to
> entry for  me is not that it's in C, but that it's really complex and hard
> to hack on, as it wasn't designed to support custom dtypes, etc. from the
> start. There is a lot of ugly code in there that has been hacked in to
> support various functionality over time. If there was a clean
> dtype-extension system in C, then A) it wouldn't be bad C to write, and B)
> would be pretty easy to make a Cython-wrapped version.
> Travis gave a nice vision for the future, but in the meantime, I'm
> wondering:
> Could we hack in a generic "custom dtype"  dtype object into the current
> system that would delegate everything to the dtype object -- in a truly
> object-oriented way. I'm imagining that this custom dtype object would be a
> pyObject and thus very hackable, easy to make a new subclass, etc --
> essentially like making a new class in python that emulates one of the
> built-in type interfaces.
> This would be slow as a dog -- if inside that C loop, numpy would have to
> call out to python to do anyting, maybe as simple as arithmetic, but it
> would be clean, extensible system, and a good way for folks to plug in and
> try out new dtypes when performance didn't matter, or as prototypes for
> something that would get plugged in at the C level later once the API was
> worked out.
> Is this even possible without too much hacking to the current dtype
> system? Would it be as simple as adding a bit to the object dtype?
> -Chris
> --
> Christopher Barker, Ph.D.
> Oceanographer
> Emergency Response Division
> NOAA/NOS/OR&R            (206) 526-6959   voice
> 7600 Sand Point Way NE   (206) 526-6329   fax
> Seattle, WA  98115       (206) 526-6317   main reception
> Chris.Barker at noaa.gov
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion


Travis Oliphant
Continuum Analytics, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140924/f9d7db8c/attachment.html>

More information about the NumPy-Discussion mailing list