[SciPy-Dev] Enhancements to scipy.spatial.cKDTree
Thu Jul 12 18:34:44 CDT 2012
Alright, I've uploaded the last bit of cKDTree that was missing for it to
be functionally equivalent to KDTree. As it stands, I think it's a useful
addition in its own right, so it would be nice if someone else could look
the code over and see if it can be merged in.
Over the coming weeks, I will look into the issues that Sturla has brought
up and see if I can make some progress on these.
All the best,
On Thu, Jul 12, 2012 at 5:42 PM, Sturla Molden <email@example.com> wrote:
> On 12.07.2012 00:26, Patrick Varilly wrote:
> > On Tue, Jul 10, 2012 at 12:01 PM, Sturla Molden <firstname.lastname@example.org
> > <mailto:email@example.com>> wrote:
> > At least cKDTree have to be fixed, it will break as soon as the move
> > PyArray_DATA is mandatory.
> > Preferably we should use Cython memoryviews and multidimensional
> > in the code, instead of just C pointer artithmetics (which is harder
> > understand). That will make the Cython code more readable to NumPy
> > users.
> > The GIL issue should also be fixed, as searching might take a while.
> > I'm relatively new to Cython. Could you tell me where I could read up
> > on these issues?
> The main issue is the use of the .data attribute. See here:
> Another is that Cython's ndarray interface is (more or less) deprecated
> in favour of typed memoryviews:
> So preferably the cKDTree code should use these, but I my experience
> they can generate compile-time warnings.
> There is also a 64-bit issue with cKDTree if I remember correctly. And
> the only dtype it supports is float64. We should replace the current
> pointer artimetics with multidimensional arrays. It had (or still has)
> non-portable code like dependency on unions and binary layout (tree and
> heap nodes). And there the issue of making it release the GIL whenever
> it should. So several things needs be fixed.
> SciPy-Dev mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-Dev