use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class SketchTest method checkSerVer.
@SuppressWarnings("static-access")
@Test
public void checkSerVer() {
UpdateSketch sketch = UpdateSketch.builder().setNominalEntries(1024).build();
byte[] sketchArray = sketch.toByteArray();
Memory mem = Memory.wrap(sketchArray);
int serVer = Sketch.getSerializationVersion(mem);
assertEquals(serVer, 3);
WritableMemory wmem = WritableMemory.writableWrap(sketchArray);
UpdateSketch sk2 = UpdateSketch.wrap(wmem);
serVer = sk2.getSerializationVersion(wmem);
assertEquals(serVer, 3);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class SketchTest method checkWrapBadFamily.
@Test(expectedExceptions = SketchesArgumentException.class)
public void checkWrapBadFamily() {
UpdateSketch sketch = UpdateSketch.builder().setFamily(Family.ALPHA).setNominalEntries(1024).build();
byte[] byteArr = sketch.toByteArray();
Memory srcMem = Memory.wrap(byteArr);
Sketch.wrap(srcMem);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class SketchTest method checkHeapifyFamilyExcep.
@Test(expectedExceptions = SketchesArgumentException.class)
public void checkHeapifyFamilyExcep() {
int k = 512;
Union union = SetOperation.builder().setNominalEntries(k).buildUnion();
byte[] byteArray = union.toByteArray();
Memory mem = Memory.wrap(byteArray);
// Improper use
Sketch.heapify(mem);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class HeapifyWrapSerVer1and2Test method checkHeapifyCompactSketchGivenDefaultSeed.
@Test
public void checkHeapifyCompactSketchGivenDefaultSeed() {
final int k = 64;
final long seed = DEFAULT_UPDATE_SEED;
final short seedHash = Util.computeSeedHash(seed);
UpdateSketch sv3usk = UpdateSketch.builder().setNominalEntries(k).setSeed(seed).build();
for (int i = 0; i < k; i++) {
sv3usk.update(i);
}
CompactSketch sv3csk = sv3usk.compact();
Memory sv3cskMem = Memory.wrap(sv3csk.toByteArray());
CompactSketch sv3cskResult;
// SV3 test
sv3cskResult = Sketches.heapifyCompactSketch(sv3cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
// SV2 test
Memory sv2cskMem = BackwardConversions.convertSerVer3toSerVer2(sv3csk, seed);
sv3cskResult = Sketches.heapifyCompactSketch(sv2cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
// SV1 test
Memory sv1cskMem = BackwardConversions.convertSerVer3toSerVer1(sv3csk);
sv3cskResult = Sketches.heapifyCompactSketch(sv1cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class HeapifyWrapSerVer1and2Test method checkHeapifyCompactSketchGivenDifferentSeed.
@Test
public void checkHeapifyCompactSketchGivenDifferentSeed() {
final int k = 64;
final long seed = 128L;
final short seedHash = Util.computeSeedHash(seed);
UpdateSketch sv3usk = UpdateSketch.builder().setNominalEntries(k).setSeed(seed).build();
for (int i = 0; i < k; i++) {
sv3usk.update(i);
}
CompactSketch sv3csk = sv3usk.compact();
Memory sv3cskMem = Memory.wrap(sv3csk.toByteArray());
CompactSketch sv3cskResult;
// SV3 test
sv3cskResult = Sketches.heapifyCompactSketch(sv3cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
// SV2 test
Memory sv2cskMem = BackwardConversions.convertSerVer3toSerVer2(sv3csk, seed);
sv3cskResult = Sketches.heapifyCompactSketch(sv2cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
// SV1 test
Memory sv1cskMem = BackwardConversions.convertSerVer3toSerVer1(sv3csk);
sv3cskResult = Sketches.heapifyCompactSketch(sv1cskMem, seed);
assertEquals(sv3cskResult.getEstimate(), sv3usk.getEstimate());
assertEquals(sv3cskResult.getSeedHash(), seedHash);
}
Aggregations