[Numpy-discussion] setmember1d memory leak?
cimrman3 at ntc.zcu.cz
Wed Jan 24 03:45:29 CST 2007
Robert Kern wrote:
> Robert Cimrman wrote:
>> Or you could just call unique1d prior to your call to setmember1d - it
>> was meant to be used that way... you would not loose much speed that
>> way, IMHO.
> But that doesn't do what they want. They want a function that gives the mask
> against their original array of the elements that are in the other array. The
> result of
> setmember1d(unique1d(ar1), unique1d(ar2))
> is a mask against
> as they want.
I see. I was thinking in terms of 'set member' - in set one assumes
unique elements. A good name for this kind of function would be
import numpy as nm
def arraymember1d( ar1, ar2 ):
ar = ar2.copy().sort()
indx = findsorted( ar2, ar1 )
flag = nm.zeros( ar1.shape, dtype = nm.bool )
flag[indx] = True
Note that nm.searchsorted cannot be used here - a new function
('findsorted'?) would be needed.
More information about the Numpy-discussion