@Test public void checkGrowCombBuf() { final int k = 128; final int u = (2 * k) - 1; //just to fill the BB final int initBytes = ((2 * k) + 4) << 3; //just room for BB try (WritableDirectHandle memHandler = WritableMemory.allocateDirect(initBytes)) { //final MemoryManager memMgr = new MemoryManager(); //final WritableMemory mem1 = memMgr.request(initBytes); final WritableMemory mem1 = memHandler.get(); println("Initial mem size: " + mem1.getCapacity()); final UpdateDoublesSketch usk1 = DoublesSketch.builder().setK(k).build(mem1); for (int i = 1; i <= u; i++) { usk1.update(i); } final int currentSpace = usk1.getCombinedBufferItemCapacity(); println("curCombBufItemCap: " + currentSpace); final double[] newCB = usk1.growCombinedBuffer(currentSpace, 3 * k); final int newSpace = usk1.getCombinedBufferItemCapacity(); println("newCombBurItemCap: " + newSpace); assertEquals(newCB.length, 3 * k); //memMgr.free(mem1); } }
final int currCap = s2.getCombinedBufferItemCapacity(); s2.growCombinedBuffer(currCap, 2 * currCap); fail();
@Test public void checkGrowBaseBuf() { final int k = 128; final int u = 32; // don't need the BB to fill here final int initBytes = (4 + (u / 2)) << 3; // not enough to hold everything try (WritableDirectHandle memHandler = WritableMemory.allocateDirect(initBytes)) { //final MemoryManager memMgr = new MemoryManager(); //final WritableMemory mem1 = memMgr.request(initBytes); final WritableMemory mem1 = memHandler.get(); println("Initial mem size: " + mem1.getCapacity()); final UpdateDoublesSketch usk1 = DoublesSketch.builder().setK(k).build(mem1); for (int i = 1; i <= u; i++) { usk1.update(i); } final int currentSpace = usk1.getCombinedBufferItemCapacity(); println("curCombBufItemCap: " + currentSpace); assertEquals(currentSpace, 2 * k); } }
final int tgtCombBufItemCap = tgt.getCombinedBufferItemCapacity(); if (spaceNeeded > tgtCombBufItemCap) { //copies base buffer plus current levels tgt.growCombinedBuffer(tgtCombBufItemCap, spaceNeeded);
final int curCombBufCap = tgt.getCombinedBufferItemCapacity(); if (spaceNeeded > curCombBufCap) { //copies base buffer plus current levels tgt.growCombinedBuffer(curCombBufCap, spaceNeeded);
final int tgtCombBufItemCap = tgt.getCombinedBufferItemCapacity(); if (spaceNeeded > tgtCombBufItemCap) { //copies base buffer plus current levels tgt.growCombinedBuffer(tgtCombBufItemCap, spaceNeeded);
final int curCombBufCap = tgt.getCombinedBufferItemCapacity(); if (spaceNeeded > curCombBufCap) { //copies base buffer plus current levels tgt.growCombinedBuffer(curCombBufCap, spaceNeeded);