@Test public void doubleSum() { ArrayOfDoublesUpdatableSketch sketch = new ArrayOfDoublesUpdatableSketchBuilder().build(); sketch.update(1, new double[] {1.0}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 1.0); sketch.update(1, new double[] {0.7}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 1.7); sketch.update(1, new double[] {0.8}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 2.5); }
@Test public void doubleSum() { ArrayOfDoublesUpdatableSketch sketch = new ArrayOfDoublesUpdatableSketchBuilder(). build(WritableMemory.wrap(new byte[1000000])); sketch.update(1, new double[] {1.0}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 1.0); sketch.update(1, new double[] {0.7}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 1.7); sketch.update(1, new double[] {0.8}); Assert.assertEquals(sketch.getRetainedEntries(), 1); Assert.assertEquals(sketch.getValues()[0][0], 2.5); }
theta_ = Math.min(sketch.getThetaLong(), theta); seedHash_ = Util.computeSeedHash(sketch.getSeed()); final int count = sketch.getRetainedEntries(); if (count > 0) { keys_ = new long[count];
Assert.assertTrue(sketch.getEstimate() >= sketch.getLowerBound(1)); Assert.assertTrue(sketch.getEstimate() < sketch.getUpperBound(1)); Assert.assertTrue(sketch.getRetainedEntries() > 4096); sketch.trim(); Assert.assertEquals(sketch.getRetainedEntries(), 4096);
final long theta, final WritableMemory dstMem) { super(sketch.getNumValues()); checkIfEnoughMemory(dstMem, sketch.getRetainedEntries(), sketch.getNumValues()); mem_ = dstMem; dstMem.putByte(PREAMBLE_LONGS_BYTE, (byte) 1); final boolean isBigEndian = ByteOrder.nativeOrder().equals(ByteOrder.BIG_ENDIAN); isEmpty_ = sketch.isEmpty(); final int count = sketch.getRetainedEntries(); dstMem.putByte(FLAGS_BYTE, (byte) ( (isBigEndian ? 1 << Flags.IS_BIG_ENDIAN.ordinal() : 0) if (count > 0) { int keyOffset = ENTRIES_START; int valuesOffset = keyOffset + (SIZE_OF_KEY_BYTES * sketch.getRetainedEntries()); final ArrayOfDoublesSketchIterator it = sketch.iterator(); int actualCount = 0;
theta_ = Math.min(sketch.getThetaLong(), theta); seedHash_ = Util.computeSeedHash(sketch.getSeed()); final int count = sketch.getRetainedEntries(); if (count > 0) { keys_ = new long[count];
final long theta, final WritableMemory dstMem) { super(sketch.getNumValues()); checkIfEnoughMemory(dstMem, sketch.getRetainedEntries(), sketch.getNumValues()); mem_ = dstMem; dstMem.putByte(PREAMBLE_LONGS_BYTE, (byte) 1); final boolean isBigEndian = ByteOrder.nativeOrder().equals(ByteOrder.BIG_ENDIAN); isEmpty_ = sketch.isEmpty(); final int count = sketch.getRetainedEntries(); dstMem.putByte(FLAGS_BYTE, (byte) ( (isBigEndian ? 1 << Flags.IS_BIG_ENDIAN.ordinal() : 0) if (count > 0) { int keyOffset = ENTRIES_START; int valuesOffset = keyOffset + SIZE_OF_KEY_BYTES * sketch.getRetainedEntries(); final ArrayOfDoublesSketchIterator it = sketch.iterator(); int actualCount = 0;