public static ndarray setdiff1d(ndarray ar1, ndarray ar2, bool assume_unique = false) { /* * Find the set difference of two arrays. * * Return the sorted, unique values in `ar1` that are not in `ar2`. * * Parameters * ---------- * ar1 : array_like * Input array. * ar2 : array_like * Input comparison array. * assume_unique : bool * If True, the input arrays are both assumed to be unique, which * can speed up the calculation. Default is False. * * Returns * ------- * setdiff1d : ndarray * Sorted 1D array of values in `ar1` that are not in `ar2`. * * See Also * -------- * numpy.lib.arraysetops : Module with a number of other functions for * performing set operations on arrays. * * Examples * -------- * >>> a = np.array([1, 2, 3, 2, 4, 1]) * >>> b = np.array([3, 4, 5, 6]) * >>> np.setdiff1d(a, b) * array([1, 2]) */ if (assume_unique) { ar1 = ar1.ravel(); } else { ar1 = unique(ar1).data; ar2 = unique(ar2).data; } return(ar1.A(in1d(ar1, ar2, assume_unique: true, invert: true))); }