Anne Archibald wrote: > 2009/6/4 <josef.p...@gmail.com>: > >> intersect1d should throw a domain error if you give it arrays with >> non-unique elements, which is not done for speed reasons > > It seems to me that this is the basic source of the problem. Perhaps > this can be addressed? I realize maintaining compatibility with the > current behaviour is necessary, so how about a multistage deprecation: > > 1. add a keyword argument to intersect1d "assume_unique"; if it is not > present, check for uniqueness and emit a warning if not unique > 2. change the warning to an exception > Optionally: > 3. change the meaning of the function to that of intersect1d_nu if the > keyword argument is not present > > One could do something similar with setmember1d. > > This would remove the pitfall of the 1d assumption and the wart of the > _nu names without hampering performance for people who know they have > unique arrays and are in a hurry.
You mean something like: def intersect1d(ar1, ar2, assume_unique=False): if not assume_unique: return intersect1d_nu(ar1, ar2) else: ... # the current code intersect1d_nu could be still exported to numpy namespace, or not. I like this. I do not undestand, however, what you mean by "remove the pitfall of the 1d assumption"? cheers, r. _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion