/** * Returns a new builder * @return a new builder */ public static final DoublesSketchBuilder builder() { return new DoublesSketchBuilder(); }
for (int i = 0; i < 20; i++) { int product = rand.nextInt(10); UpdateDoublesSketch sketch = DoublesSketch.builder().build(); for (int j = 0; j < 20; j++) { double value = rand.nextDouble();
static UpdateDoublesSketch buildDQS(int k, long n) { int cap = DoublesSketch.getUpdatableStorageBytes(k, n); if (cap < (2 * k)) { cap = 2 * k; } DoublesSketchBuilder bldr = new DoublesSketchBuilder(); bldr.setK(k); UpdateDoublesSketch dqs = bldr.build(WritableMemory.wrap(new byte[cap])); return dqs; }
@Test public void checkBuilder() { int k = 256; //default is 128 DoublesSketchBuilder bldr = DoublesSketch.builder(); bldr.setK(k); assertEquals(bldr.getK(), k); //confirms new k println(bldr.toString()); int bytes = DoublesSketch.getUpdatableStorageBytes(k, 0); byte[] byteArr = new byte[bytes]; WritableMemory mem = WritableMemory.wrap(byteArr); DoublesSketch ds = bldr.build(mem); assertTrue(ds.isDirect()); println(bldr.toString()); bldr = DoublesSketch.builder(); assertEquals(bldr.getK(), PreambleUtil.DEFAULT_K); }
private QuantileSketch(int k, Distribution.Type type) { updateSketch = new DoublesSketchBuilder().build(k); unionSketch = new DoublesUnionBuilder().setMaxK(k).build(); this.type = type; }
@Test public void testSerialiseAndDeserialise() { final UpdateDoublesSketch sketch = DoublesSketch.builder().build(); sketch.update(1.0D); sketch.update(2.0D); sketch.update(3.0D); testSerialiser(sketch); final DoublesSketch emptySketch = DoublesSketch.builder().build(); testSerialiser(emptySketch); }
@Test public void testIt() { java.nio.ByteBuffer bb = java.nio.ByteBuffer.allocate(1<<20).order(ByteOrder.nativeOrder()); WritableMemory mem = WritableMemory.wrap(bb); int k = 1024; DoublesSketch qsk = new DoublesSketchBuilder().setK(k).build(); DoublesUnion u1 = DoublesUnion.heapify(qsk); u1.getResult().putMemory(mem); DoublesUnion u2 = DoublesUnion.heapify(mem); DoublesSketch qsk2 = u2.getResult(); assertTrue(qsk2.isEmpty()); }
@Override public synchronized void init(final ByteBuffer buffer, final int position) { final WritableMemory mem = getMemory(buffer); final WritableMemory region = mem.writableRegion(position, maxIntermediateSize); final UpdateDoublesSketch sketch = DoublesSketch.builder().setK(size).build(region); putSketch(buffer, position, sketch); }
/** * Returns a new builder * @return a new builder */ public static final DoublesSketchBuilder builder() { return new DoublesSketchBuilder(); }
try { Double doubleValue = Double.parseDouble(objectString); UpdateDoublesSketch sketch = DoublesSketch.builder().setK(MIN_K).build(); sketch.update(doubleValue); return sketch; UpdateDoublesSketch sketch = DoublesSketch.builder().setK(MIN_K).build(); sketch.update(((Number) object).doubleValue()); return sketch;
public ProducerStatsRecorderImpl(PulsarClientImpl pulsarClient, ProducerConfigurationData conf, ProducerImpl<?> producer) { this.pulsarClient = pulsarClient; this.statsIntervalSeconds = pulsarClient.getConfiguration().getStatsIntervalSeconds(); this.producer = producer; numMsgsSent = new LongAdder(); numBytesSent = new LongAdder(); numSendFailed = new LongAdder(); numAcksReceived = new LongAdder(); totalMsgsSent = new LongAdder(); totalBytesSent = new LongAdder(); totalSendFailed = new LongAdder(); totalAcksReceived = new LongAdder(); ds = DoublesSketch.builder().build(256); init(conf); }
@Override public DoublesSketch compute(final Map<String, Object> combinedAggregators) { final ArrayOfDoublesSketch sketch = (ArrayOfDoublesSketch) getField().compute(combinedAggregators); final UpdateDoublesSketch qs = DoublesSketch.builder().setK(k).build(); final ArrayOfDoublesSketchIterator it = sketch.iterator(); while (it.next()) { qs.update(it.getValues()[column - 1]); // convert 1-based column number to zero-based index } return qs; }
@Test public void emptySketch() { DoublesSketch sketch = DoublesSketch.builder().build(); DoublesSketchIterator it = sketch.iterator(); Assert.assertFalse(it.next()); }
@Test public void wrapEmptyCompactSketch() { final CompactDoublesSketch s1 = DoublesSketch.builder().build().compact(); final Memory mem = Memory.wrap(ByteBuffer.wrap(s1.toByteArray()).order(ByteOrder.nativeOrder())); final DoublesSketch s2 = DoublesSketch.wrap(mem); assertTrue(s2.isEmpty()); assertEquals(s2.getN(), 0); assertTrue(Double.isNaN(s2.getMinValue())); assertTrue(Double.isNaN(s2.getMaxValue())); }
@Test public void wrapEmptyUpdateSketch() { final UpdateDoublesSketch s1 = DoublesSketch.builder().build(); final WritableMemory mem = WritableMemory.wrap(ByteBuffer.wrap(s1.toByteArray()).order(ByteOrder.nativeOrder())); final UpdateDoublesSketch s2 = DirectUpdateDoublesSketch.wrapInstance(mem); assertTrue(s2.isEmpty()); assertEquals(s2.getN(), 0); assertTrue(Double.isNaN(s2.getMinValue())); assertTrue(Double.isNaN(s2.getMaxValue())); s2.reset(); // empty: so should be a no-op assertEquals(s2.getN(), 0); }