gpt4 book ai didi

com.yahoo.memory.WritableMemory.allocate()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-23 22:39:05 27 4
gpt4 key购买 nike

本文整理了Java中com.yahoo.memory.WritableMemory.allocate()方法的一些代码示例,展示了WritableMemory.allocate()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WritableMemory.allocate()方法的具体详情如下:
包路径:com.yahoo.memory.WritableMemory
类名称:WritableMemory
方法名:allocate

WritableMemory.allocate介绍

[英]Creates on-heap WritableMemory with the given capacity and the native byte order. If the given capacityBytes is zero, backing storage, byte order and read-only status of the returned WritableMemory object are unspecified.
[中]创建具有给定容量和本机字节顺序的堆上可写内存。如果给定的capacityBytes为零,则未指定返回的WritableMemory对象的备份存储、字节顺序和只读状态。

代码示例

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkStreamErrors2() {
 WritableMemory wmem = WritableMemory.allocate(4 * 10);
 int[] svStream = { 1 };
 int[] wStream = { 2 };
 try {
  putPinnedSlidingMerged(wmem, 4, 0, 1, 1, 1, 0, (short) 0, svStream, wStream);
  fail();
 } catch (SketchesStateException e) { }
 assertTrue(PreambleUtil.isCompressed(wmem));
}

代码示例来源:origin: DataSketches/sketches-core

/**
 * Return this sketch as a compressed byte array.
 * @return this sketch as a compressed byte array.
 */
public byte[] toByteArray() {
 final CompressedState state = CompressedState.compress(this);
 final long cap = state.getRequiredSerializedBytes();
 final WritableMemory wmem = WritableMemory.allocate((int) cap);
 state.exportToMemory(wmem);
 return (byte[]) wmem.getArray();
}

代码示例来源:origin: DataSketches/sketches-core

@SuppressWarnings("unused")
@Test
public void checkMemoryNotLargeEnough() {
 int bytes = getMaxUpdatableSerializationBytes(8, TgtHllType.HLL_8);
 WritableMemory wmem = WritableMemory.allocate(bytes -1);
 try {
  HllSketch sk = new HllSketch(8, TgtHllType.HLL_8, wmem);
  fail();
 } catch (SketchesArgumentException e) {
  //OK
 }
}

代码示例来源:origin: DataSketches/sketches-core

private static Union newUnion(int lgK) {
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgK, TgtHllType.HLL_8);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 return new Union(lgK, wmem);
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkDirectGetCouponIntArr() {
 int lgK = 8;
 TgtHllType type = TgtHllType.HLL_8;
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgK, type);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(lgK, type, wmem);
 AbstractCoupons absCoup = (AbstractCoupons)sk.hllSketchImpl;
 assertNull(absCoup.getCouponIntArr());
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkDirectCompactSingleItemSketch() {
 UpdateSketch sk = Sketches.updateSketchBuilder().build();
 CompactSketch csk = sk.compact(true, WritableMemory.allocate(16));
 assertEquals(csk.getCurrentBytes(true), 8);
 sk.update(1);
 csk = sk.compact(true, WritableMemory.allocate(16));
 assertEquals(csk.getCurrentBytes(true), 16);
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkStreamErrors() {
 WritableMemory wmem = WritableMemory.allocate(4 * 10);
 putEmptyMerged(wmem, (byte) 12, defaultSeedHash);
 try { getSvStreamOffset(wmem); fail(); } catch (SketchesArgumentException e) { }
 wmem.putByte(5, (byte) (7 << 2));
 try { getSvStreamOffset(wmem); fail(); } catch (SketchesStateException e) { }
 wmem.putByte(5, (byte) 0);
 try { getWStreamOffset(wmem); fail(); } catch (SketchesArgumentException e) { }
 wmem.putByte(5, (byte) (7 << 2));
 try { getWStreamOffset(wmem); fail(); } catch (SketchesStateException e) { }
}

代码示例来源:origin: DataSketches/sketches-core

@SuppressWarnings("unused")
@Test
public void checkExtractFlags() {
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(4, TgtHllType.HLL_4);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 Object memObj = wmem.getArray();
 long memAdd = wmem.getCumulativeOffset(0L);
 HllSketch sk = new HllSketch(4, TgtHllType.HLL_4, wmem);
 int flags = extractFlags(wmem);
 assertEquals(flags, EMPTY_FLAG_MASK);
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkEmptyMemory() {
 WritableMemory wmem = WritableMemory.allocate(4 * 10);
 wmem.putByte(2, (byte) 16); //legal Family
 wmem.putByte(5, (byte) (1 << 2)); //select NONE
 println(CpcSketch.toString(wmem, false));
}

代码示例来源:origin: DataSketches/sketches-core

private Union buildUnion(int lgMaxK, int n) {
 final int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgMaxK, TgtHllType.HLL_8);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 Union u = new Union(lgMaxK, wmem);
 for (int i = 0; i < n; i++) { u.update(i + v); }
 v += n;
 return u;
}

代码示例来源:origin: DataSketches/sketches-core

private HllSketch build(int lgK, TgtHllType tgtHllType, int n) {
 final int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgK, tgtHllType);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(lgK, tgtHllType, wmem);
 for (int i = 0; i < n; i++) { sk.update(i + v); }
 v += n;
 return sk;
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void offsetChecks() {
 long seed = 12345;
 int blocks = 6;
 int cap = blocks * 16;
 long[] hash1 = new long[2];
 long[] hash2;
 WritableMemory wmem = WritableMemory.allocate(cap);
 for (int i = 0; i < cap; i++) { wmem.putByte(i, (byte)(-128 + i)); }
 for (int offset = 0; offset < 16; offset++) {
  int arrLen = cap - offset;
  hash1 = MurmurHash3v2.hash(wmem, offset, arrLen, seed, hash1);
  byte[] byteArr2 = new byte[arrLen];
  wmem.getByteArray(offset, byteArr2, 0, arrLen);
  hash2 = MurmurHash3.hash(byteArr2, seed);
  assertEquals(hash1, hash2);
 }
}

代码示例来源:origin: DataSketches/sketches-core

private static void noWriteAccess(TgtHllType tgtHllType, int n) {
 int lgConfigK = 8;
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(lgConfigK, tgtHllType, wmem);
 for (int i = 0; i < n; i++) { sk.update(i); }
 HllSketch sk2 = HllSketch.wrap(wmem);
 try {
  sk2.update(1);
  fail();
 } catch (SketchesArgumentException e) {
  //expected
 }
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkToCompactByteArr() {
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(4, TgtHllType.HLL_4);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(4, TgtHllType.HLL_4, wmem);
 for (int i = 0; i < 8; i++) { sk.update(i); }
 byte[] compByteArr = sk.toCompactByteArray();
 Memory compMem = Memory.wrap(compByteArr);
 HllSketch sk2 = HllSketch.wrap(compMem);
 byte[] compByteArr2 = sk2.toCompactByteArray();
 assertEquals(compByteArr2, compByteArr);
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkHeapifyGetLgCouponArrInts() {
 int lgK = 8;
 TgtHllType type = TgtHllType.HLL_8;
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgK, type);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(lgK, type, wmem);
 for (int i = 0; i < 8; i++) { sk.update(i); }
 assertEquals(sk.getCurMode(), CurMode.SET);
 double est1 = sk.getEstimate();
 wmem.putByte(LG_ARR_BYTE, (byte) 0); //corrupt to 0
 HllSketch sk2 = HllSketch.heapify(wmem);
 double est2 = sk2.getEstimate();
 assertEquals(est2, est1, 0.0);
 //println(sk2.toString(true, true, true, true));
 //println(PreambleUtil.toString(wmem));
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkToUpdatableByteArr() {
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(4, TgtHllType.HLL_4);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = new HllSketch(4, TgtHllType.HLL_4, wmem);
 for (int i = 0; i < 8; i++) { sk.update(i); }
 byte[] udByteArr = sk.toUpdatableByteArray();
 byte[] compByteArr = sk.toCompactByteArray();
 Memory compMem = Memory.wrap(compByteArr);
 HllSketch sk2 = HllSketch.wrap(compMem);
 byte[] udByteArr2 = sk2.toUpdatableByteArray();
 assertEquals(udByteArr2, udByteArr);
}

代码示例来源:origin: DataSketches/sketches-core

@Test
public void checkCopies() {
 runCheckCopy(14, HLL_4, null);
 runCheckCopy(8, HLL_6, null);
 runCheckCopy(8, HLL_8, null);
 int bytes = getMaxUpdatableSerializationBytes(14, TgtHllType.HLL_8);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 runCheckCopy(14, HLL_4, wmem);
 runCheckCopy(8, HLL_6, wmem);
 runCheckCopy(8, HLL_8, wmem);
}

代码示例来源:origin: DataSketches/sketches-core

public void setUp() {
 final int maxSharedUpdateBytes = Sketch.getMaxUpdateSketchBytes(sharedK);
 wmem = WritableMemory.allocate(maxSharedUpdateBytes); //on-heap
 //must build shared first
 sharedSketch = builder.build(wmem);
 localSketch = builder.build();
 seqSketch = Sketches.updateSketchBuilder().setNominalEntries(sharedK).build();
}

代码示例来源:origin: DataSketches/sketches-core

@Test(expectedExceptions = SketchesArgumentException.class)
public void checkCompactFlagCorruption() {
 int k = 1 << 12;
 int bytes = Sketch.getMaxUpdateSketchBytes(k);
 WritableMemory wmem1 = WritableMemory.allocate(bytes);
 UpdateSketch sk = Sketches.updateSketchBuilder().setNominalEntries(k).build(wmem1);
 for (int i = 0; i < k; i++) { sk.update(i); }
 sk.compact(true, wmem1); //corrupt the wmem1 to be a compact sketch
 Union union = SetOperation.builder().buildUnion();
 union.update(sk); //update the union with the UpdateSketch object
 CompactSketch csk1 = union.getResult();
 println(""+csk1.getEstimate());
}

代码示例来源:origin: DataSketches/sketches-core

private static void checkIterator(boolean direct) {
 int lgConfigK = 8;
 TgtHllType tgtHllType = TgtHllType.HLL_4;
 int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
 WritableMemory wmem = WritableMemory.allocate(bytes);
 HllSketch sk = (direct) ? new HllSketch(lgConfigK, tgtHllType, wmem) : new HllSketch(8);
 for (int i = 0; i < 7; i++) { sk.update(i); }
 PairIterator itr = sk.iterator();
 println(itr.getHeader());
 while (itr.nextAll()) {
  int key = itr.getKey();
  int val = itr.getValue();
  int idx = itr.getIndex();
  int slot = itr.getSlot();
  println("Idx: " + idx + ", Key: " + key + ", Val: " + val + ", Slot: " + slot);
 }
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com