@Override public boolean equals(long[] arg0, long[] arg1) { return equal(arg0, arg1); } };
@Override public boolean equals(Object obj) { if(this == obj) { return true; } if(obj == null) { return false; } if(!(obj instanceof Itemset) || ((Itemset) obj).length() != 1) { return false; } // TODO: allow comparison to DenseItemset? if(getClass() != obj.getClass()) { return false; } return BitsUtil.equal(items, ((DenseItemset) obj).items); }
/** * Compute the common subspace dimensionality of two vectors. * * @param v1 First vector * @param v2 Second vector * @param pv1 First preference * @param pv2 Second preference * @param commonPreferenceVector Common preference * @return Usually, v1.dim - commonPreference.cardinality, unless either pv1 * and pv2 are a subset of the other. */ private int subspaceDimensionality(NumberVector v1, NumberVector v2, long[] pv1, long[] pv2, long[] commonPreferenceVector) { // number of zero values in commonPreferenceVector int subspaceDim = v1.getDimensionality() - BitsUtil.cardinality(commonPreferenceVector); // special case: v1 and v2 are in parallel subspaces if(BitsUtil.equal(commonPreferenceVector, pv1) || BitsUtil.equal(commonPreferenceVector, pv2)) { double d = weightedDistance(v1, v2, commonPreferenceVector); if(d > 2 * epsilon) { subspaceDim++; } } return subspaceDim; }
if(BitsUtil.equal(clusterOrder.getCommonPreferenceVector(pre), clusterOrder.getCommonPreferenceVector(cur))) { continue;