private static OnlineSummarizer evaluateStrategy(Matrix testData, BruteSearch ref, LocalitySensitiveHashSearch cut) { OnlineSummarizer t1 = new OnlineSummarizer(); for (int i = 0; i < 100; i++) { final Vector q = testData.viewRow(i); List<WeightedThing<Vector>> v1 = cut.search(q, 150); BitSet b1 = new BitSet(); for (WeightedThing<Vector> v : v1) { b1.set(((WeightedVector)v.getValue()).getIndex()); } List<WeightedThing<Vector>> v2 = ref.search(q, 100); BitSet b2 = new BitSet(); for (WeightedThing<Vector> v : v2) { b2.set(((WeightedVector)v.getValue()).getIndex()); } b1.and(b2); t1.add(b1.cardinality()); } return t1; }