@Override public double similarity(long i1, Long2DoubleMap v1, long i2, Long2DoubleMap v2) { return delegate.similarity(v1, v2); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Override public double similarity(long u1, Long2DoubleMap v1, long u2, Long2DoubleMap v2) { return delegate.similarity(v1, v2); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Override public double similarity(long i1, Long2DoubleMap v1, long i2, Long2DoubleMap v2) { return delegate.similarity(v1, v2); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Override public double similarity(Long2DoubleMap vec1, Long2DoubleMap vec2) { double s = delegate.similarity(vec1, vec2); int n = LongUtils.intersectSize(vec1.keySet(), vec2.keySet()); s *= n; return s / max(n, threshold); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Test public void testEmptyVector() { assertThat(sim.similarity(Long2DoubleMaps.EMPTY_MAP, Long2DoubleMaps.EMPTY_MAP), closeTo(0, EPSILON)); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Test public void testSelfSimilarity() { long keys[] = {1, 5, 7}; double values[] = {1.5, 2.5, 2}; Long2DoubleMap v = Long2DoubleSortedArrayMap.wrapUnsorted(keys, values); assertThat(sim.similarity(v, v), closeTo(1, EPSILON)); assertThat(sim.similarity(v, new Long2DoubleOpenHashMap(v)), closeTo(1, EPSILON)); }
@Override public boolean isSparse() { return delegate.isSparse(); }
@Override public boolean isSymmetric() { return delegate.isSymmetric(); }
@Override public double similarity(long u1, Long2DoubleMap v1, long u2, Long2DoubleMap v2) { return delegate.similarity(v1, v2); }
@Override public boolean isSparse() { return delegate.isSparse(); }