use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class DoublesUtilTest method checkPrintMemData.
@Test
public void checkPrintMemData() {
final int k = 16;
final int n = 1000;
final DoublesSketch qs = buildAndLoadQS(k, n);
byte[] byteArr = qs.toByteArray(false);
Memory mem = Memory.wrap(byteArr);
println(DoublesUtil.memToString(true, true, mem));
byteArr = qs.toByteArray(true);
mem = Memory.wrap(byteArr);
println(DoublesUtil.memToString(true, true, mem));
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class HeapCompactDoublesSketchTest method checkEmpty.
@Test
public void checkEmpty() {
final int k = PreambleUtil.DEFAULT_K;
final UpdateDoublesSketch qs1 = buildAndLoadQS(k, 0);
final byte[] byteArr = qs1.compact().toByteArray();
final byte[] byteArr2 = qs1.toByteArray(true);
final Memory mem = Memory.wrap(byteArr);
final HeapCompactDoublesSketch qs2 = HeapCompactDoublesSketch.heapifyInstance(mem);
assertTrue(qs2.isEmpty());
assertEquals(byteArr.length, qs1.getStorageBytes());
assertEquals(byteArr, byteArr2);
assertTrue(Double.isNaN(qs2.getQuantile(0.0)));
assertTrue(Double.isNaN(qs2.getQuantile(1.0)));
assertTrue(Double.isNaN(qs2.getQuantile(0.5)));
final double[] quantiles = qs2.getQuantiles(new double[] { 0.0, 0.5, 1.0 });
assertNull(quantiles);
// println(qs1.toString(true, true));
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class HeapCompactDoublesSketchTest method checkMemTooSmall1.
@Test(expectedExceptions = SketchesArgumentException.class)
public void checkMemTooSmall1() {
final Memory mem = Memory.wrap(new byte[7]);
HeapCompactDoublesSketch.heapifyInstance(mem);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class HeapCompactDoublesSketchTest method heapifyFromCompactSketch.
@Test
public void heapifyFromCompactSketch() {
final int k = 8;
final int n = 177;
// assuming reverse ordered inserts
final UpdateDoublesSketch qs = buildAndLoadQS(k, n);
final byte[] qsBytes = qs.compact().toByteArray();
final Memory qsMem = Memory.wrap(qsBytes);
final HeapCompactDoublesSketch compactQs = HeapCompactDoublesSketch.heapifyInstance(qsMem);
DoublesSketchTest.testSketchEquality(qs, compactQs);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class ItemsUnionTest method checkToByteArray.
@Test
public void checkToByteArray() {
final int k = 32;
final ArrayOfLongsSerDe serDe = new ArrayOfLongsSerDe();
ItemsUnion<Long> union = ItemsUnion.getInstance(k, Comparator.naturalOrder());
byte[] bytesOut = union.toByteArray(serDe);
Assert.assertEquals(bytesOut.length, 8);
Assert.assertTrue(union.isEmpty());
final byte[] byteArr = buildIS(k, (2 * k) + 5).toByteArray(serDe);
final Memory mem = Memory.wrap(byteArr);
union = ItemsUnion.getInstance(mem, Comparator.naturalOrder(), serDe);
bytesOut = union.toByteArray(serDe);
Assert.assertEquals(bytesOut.length, byteArr.length);
// assumes consistent internal use of toByteArray()
Assert.assertEquals(bytesOut, byteArr);
}
Aggregations