gpt4 book ai didi

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

转载 作者:知者 更新时间:2024-03-23 21:01:05 31 4
gpt4 key购买 nike

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

WritableMemory.clear介绍

[英]Clears all bytes of this Memory to zero
[中]将此内存的所有字节清除为零

代码示例

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

@Override
DirectCouponList reset() {
 if (wmem == null) {
  throw new SketchesArgumentException("Cannot reset a read-only sketch");
 }
 final int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
 wmem.clear(0, bytes);
 return DirectCouponList.newInstance(lgConfigK, tgtHllType, wmem);
}

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

@Override
 HllSketchImpl reset() {
  if (wmem == null) {
   throw new SketchesArgumentException("Cannot reset a read-only sketch");
  }
  final int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
  wmem.clear(0, bytes);
  return DirectCouponList.newInstance(lgConfigK, tgtHllType, wmem);
 }
}

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

/**
 * Constructs a new sketch with the type of HLL sketch to configure and the given
 * WritableMemory as the destination for the sketch. This WritableMemory is usually configured
 * for off-heap memory. What remains on the java heap is a thin wrapper object that reads and
 * writes to the given WritableMemory.
 *
 * <p>The given <i>dstMem</i> is checked for the required capacity as determined by
 * {@link #getMaxUpdatableSerializationBytes(int, TgtHllType)}.
 * @param lgConfigK The Log2 of K for the target HLL sketch. This value must be
 * between 4 and 21 inclusively.
 * @param tgtHllType the desired Hll type.
 * @param dstMem the destination memory for the sketch.
 */
public HllSketch(final int lgConfigK, final TgtHllType tgtHllType, final WritableMemory dstMem) {
 final long minBytes = getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
 final long capBytes = dstMem.getCapacity();
 HllUtil.checkMemSize(minBytes, capBytes);
 dstMem.clear(0, minBytes);
 hllSketchImpl = DirectCouponList.newInstance(lgConfigK, tgtHllType, dstMem);
}

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

DirectAuxHashMap(final DirectHllArray host, final boolean initialize) {
 this.host = host;
 final int initLgArrInts = HllUtil.LG_AUX_ARR_INTS[host.lgConfigK];
 if (initialize) {
  insertLgArr(host.wmem, initLgArrInts);
  host.wmem.clear(host.auxStart, 4 << initLgArrInts);
 } else {
  if (extractLgArr(host.mem) < initLgArrInts) {
   final int lgArr =
     PreambleUtil.computeLgArr(host.wmem, host.auxHashMap.getAuxCount(), host.lgConfigK);
   insertLgArr(host.wmem, lgArr);
  }
 }
}

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

@Override
protected void rebuild(final int newCapacity) {
 final int numValues = getNumValues();
 checkIfEnoughMemory(mem_, newCapacity, numValues);
 final int currCapacity = getCurrentCapacity();
 final long[] keys = new long[currCapacity];
 final double[] values = new double[currCapacity * numValues];
 mem_.getLongArray(keysOffset_, keys, 0, currCapacity);
 mem_.getDoubleArray(valuesOffset_, values, 0, currCapacity * numValues);
 mem_.clear(keysOffset_,
   ((long) SIZE_OF_KEY_BYTES * newCapacity) + ((long) SIZE_OF_VALUE_BYTES * newCapacity * numValues));
 mem_.putInt(RETAINED_ENTRIES_INT, 0);
 mem_.putByte(LG_CUR_CAPACITY_BYTE, (byte)Integer.numberOfTrailingZeros(newCapacity));
 valuesOffset_ = keysOffset_ + (SIZE_OF_KEY_BYTES * newCapacity);
 lgCurrentCapacity_ = Integer.numberOfTrailingZeros(newCapacity);
 for (int i = 0; i < keys.length; i++) {
  if ((keys[i] != 0) && (keys[i] < theta_)) {
   insert(keys[i], Arrays.copyOfRange(values, i * numValues, (i + 1) * numValues));
  }
 }
 setRebuildThreshold();
}

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

private static final void growHashSet(final WritableMemory wmem, final int tgtLgCouponArrSize) {
 final int tgtArrSize = 1 << tgtLgCouponArrSize;
 final int[] tgtCouponIntArr = new int[tgtArrSize];
 final int oldLen = 1 << extractLgArr(wmem);
 for (int i = 0; i < oldLen; i++) {
  final int fetched = extractInt(wmem, HASH_SET_INT_ARR_START + (i << 2));
  if (fetched != EMPTY) {
   final int idx = find(tgtCouponIntArr, tgtLgCouponArrSize, fetched);
   if (idx < 0) { //found EMPTY
    tgtCouponIntArr[~idx] = fetched; //insert
    continue;
   }
   throw new SketchesStateException("Error: found duplicate.");
  }
 }
 wmem.clear(HASH_SET_INT_ARR_START, tgtArrSize << 2);
 wmem.putIntArray(HASH_SET_INT_ARR_START, tgtCouponIntArr, 0, tgtArrSize);
}

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

@Override
public void reset() {
 if (!isEmpty_) {
  isEmpty_ = true;
  mem_.setBits(FLAGS_BYTE, (byte) (1 << Flags.IS_EMPTY.ordinal()));
 }
 final int lgResizeFactor = mem_.getByte(LG_RESIZE_FACTOR_BYTE);
 final float samplingProbability = mem_.getFloat(SAMPLING_P_FLOAT);
 final int startingCapacity = Util.getStartingCapacity(getNominalEntries(), lgResizeFactor);
 theta_ = (long) (Long.MAX_VALUE * (double) samplingProbability);
 mem_.putLong(THETA_LONG, theta_);
 mem_.putByte(LG_CUR_CAPACITY_BYTE, (byte) Integer.numberOfTrailingZeros(startingCapacity));
 mem_.putInt(RETAINED_ENTRIES_INT, 0);
 keysOffset_ = ENTRIES_START;
 valuesOffset_ = keysOffset_ + (SIZE_OF_KEY_BYTES * startingCapacity);
 mem_.clear(keysOffset_, (long) SIZE_OF_KEY_BYTES * startingCapacity); // clear keys only
 lgCurrentCapacity_ = Integer.numberOfTrailingZeros(startingCapacity);
 setRebuildThreshold();
}

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

@Override
public void reset() {
 //clear hash table
 //hash table size and hashTableThreshold stays the same
 //lgArrLongs stays the same
 //thetaLongs resets to p
 final int arrLongs = 1 << getLgArrLongs();
 final int preambleLongs = mem_.getByte(PREAMBLE_LONGS_BYTE) & 0X3F;
 final int preBytes = preambleLongs << 3;
 mem_.clear(preBytes, arrLongs * 8L); //clear data array
 //flags: bigEndian = readOnly = compact = ordered = false; empty = true.
 mem_.putByte(FLAGS_BYTE, (byte) EMPTY_FLAG_MASK);
 mem_.putInt(RETAINED_ENTRIES_INT, 0);
 final float p = mem_.getFloat(P_FLOAT);
 final long thetaLong = (long) (p * MAX_THETA_LONG_AS_DOUBLE);
 mem_.putLong(THETA_LONG, thetaLong);
}

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

insertCurCount(mem_, matchSetCount);
 insertLgArrLongs(mem_, lgArrLongs_);
 mem_.clear(CONST_PREAMBLE_LONGS << 3, 8 << lgArrLongs_); //clear for rebuild
} else {
 Arrays.fill(hashTable_, 0, 1 << lgArrLongs_, 0L); //clear for rebuild

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

keysOffset_ = ENTRIES_START;
valuesOffset_ = keysOffset_ + (SIZE_OF_KEY_BYTES * startingCapacity);
mem_.clear(keysOffset_, (long) SIZE_OF_KEY_BYTES * startingCapacity); // clear keys only
lgCurrentCapacity_ = Integer.numberOfTrailingZeros(startingCapacity);
setRebuildThreshold();

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

assertEquals(csk.getClass().getSimpleName(), "DirectCompactUnorderedSketch");
mem2.clear();
csk = usk.compact(true, mem2);
assertEquals(csk.getEstimate(), uskEst);

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

assertEquals(csk.getClass().getSimpleName(), "DirectCompactUnorderedSketch");
mem2.clear();
csk = shared.compactShared(true, mem2);
assertEquals(csk.getEstimate(), uskEst);

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

assertEquals(comp3.getClass().getSimpleName(), "DirectCompactUnorderedSketch");
mem2.clear();
comp4 = usk.compact(true, mem2);

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

assertEquals(comp3.getClass().getSimpleName(), "DirectCompactUnorderedSketch");
mem2.clear();
comp4 = usk.compact(true, mem2);

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

private static final void grow(final DirectHllArray host, final int oldLgAuxArrInts) {
 final int oldAuxArrInts = 1 << oldLgAuxArrInts;
 final int[] oldIntArray = new int[oldAuxArrInts]; //buffer old aux data
 host.wmem.getIntArray(host.auxStart, oldIntArray, 0, oldAuxArrInts);
 insertLgArr(host.wmem, oldLgAuxArrInts + 1); //update LgArr field
 final long newAuxBytes = oldAuxArrInts << 3;
 final long requestBytes = host.auxStart + newAuxBytes;
 final long oldCapBytes = host.wmem.getCapacity();
 if (requestBytes > oldCapBytes) {
  final MemoryRequestServer svr = host.wmem.getMemoryRequestServer();
  final WritableMemory newWmem = svr.request(requestBytes);
  host.wmem.copyTo(0, newWmem, 0, host.auxStart);
  newWmem.clear(host.auxStart, newAuxBytes); //clear space for new aux data
  svr.requestClose(host.wmem, newWmem); //old host.wmem is now invalid
  host.updateMemory(newWmem);
 }
 //rehash into larger aux array
 final int configKmask = (1 << host.lgConfigK) - 1;
 for (int i = 0; i < oldAuxArrInts; i++) {
  final int fetched = oldIntArray[i];
  if (fetched != EMPTY) {
   //find empty in new array
   final int index = find(host, fetched & configKmask);
   host.wmem.putInt(host.auxStart + (~index << 2), fetched);
  }
 }
}

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

private static void putFirst8(final WritableMemory wmem, final byte preInts, final byte lgK,
  final byte fiCol, final byte flags, final short seedHash) {
 wmem.clear(0L, 4L * preInts);
 wmem.putByte(getLoFieldOffset(LoField.PRE_INTS), preInts);
 wmem.putByte(getLoFieldOffset(LoField.SER_VERSION), SER_VER);
 wmem.putByte(getLoFieldOffset(LoField.FAMILY), (byte) Family.CPC.getID());
 wmem.putByte(getLoFieldOffset(LoField.LG_K), lgK);
 wmem.putByte(getLoFieldOffset(LoField.FI_COL), fiCol);
 wmem.putByte(getLoFieldOffset(LoField.FLAGS), flags);
 wmem.putShort(getLoFieldOffset(LoField.SEED_HASH), seedHash);
}

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

wmem.clear(LIST_INT_ARR_START, maxBytes - LIST_INT_ARR_START); //clear all past first 8

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

private static double directUnionTrial2(
  WritableMemory heapMem, int[] heapLayout, int sketchNomEntries, int unionNomEntries) {
 WritableMemory unionMem = heapMem.writableRegion(heapLayout[0], heapLayout[1]-heapLayout[0]);
 WritableMemory sketch1mem = heapMem.writableRegion(heapLayout[1], heapLayout[2]-heapLayout[1]);
 WritableMemory sketch2mem = heapMem.writableRegion(heapLayout[2], heapLayout[3]-heapLayout[2]);
 WritableMemory sketch3mem = heapMem.writableRegion(heapLayout[3], heapLayout[4]-heapLayout[3]);
 WritableMemory resultMem = heapMem.writableRegion(heapLayout[4], heapLayout[5]-heapLayout[4]);
 //Recover the 3 sketches
 UpdateSketch sk1 = (UpdateSketch) Sketch.wrap(sketch1mem);
 UpdateSketch sk2 = (UpdateSketch) Sketch.wrap(sketch2mem);
 UpdateSketch sk3 = (UpdateSketch) Sketch.wrap(sketch3mem);
 //confirm that each of these 3 sketches is exact.
 assertEquals(sk1.getEstimate(), sketchNomEntries, 0.0);
 assertEquals(sk2.getEstimate(), sketchNomEntries, 0.0);
 assertEquals(sk3.getEstimate(), sketchNomEntries, 0.0);
 //Create a new union in the same space with a smaller size.
 unionMem.clear();
 Union union = SetOperation.builder().setNominalEntries(unionNomEntries).buildUnion(unionMem);
 union.update(sk1);
 union.update(sk2);
 union.update(sk3);
 Sketch resSk = union.getResult(true, resultMem);
 double est = resSk.getEstimate();
 return est;
}

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

insertLgArrLongs(mem_, lgArrLongs_);
if (requiredLgArrLongs <= maxLgArrLongs_) { //OK
 mem_.clear(CONST_PREAMBLE_LONGS << 3, 8 << lgArrLongs_); //clear only what required

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

wmem.clear(LIST_INT_ARR_START, maxBytes - LIST_INT_ARR_START); //clear all past first 8
insertNumAtCurMin(wmem, 1 << lgConfigK); //set numAtCurMin
insertKxQ0(wmem, 1 << lgConfigK);

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