@Override public Object combine(final Object lhs, final Object rhs) { final DoublesUnion union = DoublesUnion.builder().setMaxK(k).build(); union.update((DoublesSketch) lhs); union.update((DoublesSketch) rhs); return union.getResultAndReset(); }
@Test public void checkUnionNulls() { final DoublesUnion union = DoublesUnionImpl.heapInstance(128); final DoublesSketch sk1 = union.getResultAndReset(); final DoublesSketch sk2 = union.getResultAndReset(); assertNull(sk1); assertNull(sk2); union.update(sk2); final DoublesSketch sk3 = union.getResultAndReset(); assertNull(sk3); }
@Test public void checkResultAndResetDirect() { final DoublesSketch qs1 = buildAndLoadDQS(256, 0); final DoublesUnion union = DoublesUnion.heapify(qs1); final DoublesSketch qs2 = union.getResultAndReset(); assertEquals(qs2.getK(), 256); }
@Test public void checkResultAndReset() { final DoublesSketch qs1 = buildAndLoadQS(256, 0); final DoublesUnion union = DoublesUnion.heapify(qs1); final DoublesSketch qs2 = union.getResultAndReset(); assertEquals(qs2.getK(), 256); }
@Test public void updateWithDoubleValueOnly() { final DoublesUnion union = DoublesUnion.builder().build(); union.update(123.456); final DoublesSketch qs = union.getResultAndReset(); assertEquals(qs.getN(), 1); }
u.getResultAndReset(); fail(); } catch (SketchesReadOnlyException e) {
@Override public Object combine(final Object lhs, final Object rhs) { final DoublesUnion union = DoublesUnion.builder().setMaxK(k).build(); union.update((DoublesSketch) lhs); union.update((DoublesSketch) rhs); return union.getResultAndReset(); }
public void rotateLatencyCollection() { // Swap current with replacement ThreadLocalAccessor local = current; current = replacement; replacement = local; final DoublesUnion aggregateSuccesss = new DoublesUnionBuilder().build(); final DoublesUnion aggregateFail = new DoublesUnionBuilder().build(); local.map.forEach((localData, b) -> { long stamp = localData.lock.writeLock(); try { aggregateSuccesss.update(localData.successSketch); localData.successSketch.reset(); aggregateFail.update(localData.failSketch); localData.failSketch.reset(); } finally { localData.lock.unlockWrite(stamp); } }); successResult = aggregateSuccesss.getResultAndReset(); failResult = aggregateFail.getResultAndReset(); }