use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.
the class CpcCBinariesTest method checkEmptyBin.
@Test
public void checkEmptyBin() {
final String fileName = "cpc-empty.sk";
final File file = getResourceFile(fileName);
try (MapHandle mh = Memory.map(file)) {
final Memory wmem = mh.get();
println(PreambleUtil.toString(wmem, true));
final CpcSketch sk = CpcSketch.heapify(wmem);
assertEquals(sk.getFlavor(), Flavor.EMPTY);
} catch (final Exception e) {
e.printStackTrace();
}
}
use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.
the class CpcCBinariesTest method checkHybridBin.
@Test
public void checkHybridBin() {
final String fileName = "cpc-hybrid.sk";
final File file = getResourceFile(fileName);
try (MapHandle mh = Memory.map(file)) {
final Memory mem = mh.get();
println("CPP GENERATED SKETCH FROM BINARY FILE LgK=11, U0 to U199");
println("PreambleUtil.toString(mem, true)" + LS);
println(PreambleUtil.toString(mem, true));
println(LS + LS + "################");
println("CpcSketch sk = CpcSketch.heapify(mem);");
println("sk.toString(true)" + LS);
final CpcSketch sk = CpcSketch.heapify(mem);
println(sk.toString(true));
assertEquals(sk.getFlavor(), Flavor.HYBRID);
final double est1 = sk.getEstimate();
assertEquals(est1, 200, 200 * .02);
for (long i = 0; i < 200; i++) {
sk.update(i);
}
final double est2 = sk.getEstimate();
// assert no change
assertEquals(est2, est1, 0);
} catch (final Exception e) {
e.printStackTrace();
}
}
use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.
the class CpcCBinariesTest method checkSparseBin.
@Test
public void checkSparseBin() {
final String fileName = "cpc-sparse.sk";
final File file = getResourceFile(fileName);
try (MapHandle mh = Memory.map(file)) {
final Memory mem = mh.get();
println("CPP GENERATED SKETCH FROM BINARY FILE LgK=11, U0 to U99");
println("PreambleUtil.toString(mem, true)" + LS);
println(PreambleUtil.toString(mem, true));
println(LS + LS + "################");
println("CpcSketch sk = CpcSketch.heapify(mem);");
println("sk.toString(true)" + LS);
final CpcSketch sk = CpcSketch.heapify(mem);
println(sk.toString(true));
assertEquals(sk.getFlavor(), Flavor.SPARSE);
final double est1 = sk.getEstimate();
assertEquals(est1, 100, 100 * .02);
for (int i = 0; i < 100; i++) {
sk.update(i);
}
final double est2 = sk.getEstimate();
// assert no change
assertEquals(est2, est1, 0);
} catch (final Exception e) {
e.printStackTrace();
}
}
use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.
the class CpcCBinariesTest method checkSlidingImages.
@Test
public void checkSlidingImages() {
final String fileName = "cpc-sliding.sk";
final File file = getResourceFile(fileName);
try (MapHandle mh = Memory.map(file)) {
final Memory mem = mh.get();
final int cap = (int) mem.getCapacity();
final byte[] memByteArr = new byte[cap];
mem.getByteArray(0, memByteArr, 0, cap);
final CpcSketch sk = new CpcSketch(11);
for (int i = 0; i < 20000; i++) {
sk.update(i);
}
final byte[] mem2ByteArr = sk.toByteArray();
final Memory mem2 = Memory.wrap(mem2ByteArr);
assertEquals(mem.getCapacity(), mem2.getCapacity());
assertEquals(memByteArr, mem2ByteArr);
} catch (final Exception e) {
e.printStackTrace();
}
}
use of org.apache.datasketches.memory.MapHandle in project sketches-core by DataSketches.
the class CpcCBinariesTest method checkHybridImages.
@Test
public void checkHybridImages() {
final String fileName = "cpc-hybrid.sk";
final File file = getResourceFile(fileName);
try (MapHandle mh = Memory.map(file)) {
final Memory mem = mh.get();
final int cap = (int) mem.getCapacity();
final byte[] memByteArr = new byte[cap];
mem.getByteArray(0, memByteArr, 0, cap);
final CpcSketch sk = new CpcSketch(11);
for (int i = 0; i < 200; i++) {
sk.update(i);
}
final byte[] mem2ByteArr = sk.toByteArray();
final Memory mem2 = Memory.wrap(mem2ByteArr);
assertEquals(mem.getCapacity(), mem2.getCapacity());
assertEquals(memByteArr, mem2ByteArr);
} catch (final Exception e) {
e.printStackTrace();
}
}
Aggregations