public static <S extends MessageSchema<S>> long readPackedLong(DataInputBlobReader<S> that) { byte v = that.backing[that.byteMask & that.position++]; long accumulator = (~((long)(((v>>6)&1)-1)))&0xFFFFFFFFFFFFFF80l; return (v >= 0) ? readPackedLong((accumulator | v) << 7,that.backing,that.byteMask,that, 0) : (accumulator) |(v & 0x7F); }
public static <S extends MessageSchema<S>> long readPackedLong(byte[] backing, int byteMask, int[] position) { byte v = backing[byteMask & position[0]++]; long accumulator = (~((long)(((v>>6)&1)-1)))&0xFFFFFFFFFFFFFF80l; return (v >= 0) ? readPackedLong((accumulator | v) << 7,backing,byteMask,position, 0) : (accumulator) |(v & 0x7F); }
private static <S extends MessageSchema<S>> long readPackedLongB(long a, byte[] buf, int mask, int[] pos, byte v, int depth) { assert(depth<11) : "Error malformed data"; if (depth<11) { //Not checking for this assert because we use NaN for business logic, assert(a!=0 || v!=0) : "malformed data"; return (v >= 0) ? readPackedLong((a | v) << 7, buf, mask, pos, depth) : a | (v & 0x7Fl); } else { logger.warn("malformed data"); return 0; } }
private static <S extends MessageSchema<S>> long readPackedLongB(long a, byte[] buf, int mask, DataInputBlobReader<S> that, byte v, int depth) { assert(depth<11) : "Error malformed data"; if (depth<11) { //Not checking for this assert because we use NaN for business logic, assert(a!=0 || v!=0) : "malformed data"; return (v >= 0) ? readPackedLong((a | v) << 7, buf, mask, that, depth) : a | (v & 0x7Fl); } else { logger.warn("malformed data"); return 0; } }
public long dequeue() { c.decrementAndGet(); // System.out.println("left starts: "+c); assert (tail.get()!=head.get()); temp[0]=tail.get(); long value = lastOutputValue+DataInputBlobReader.readPackedLong(data, mask, temp); tail.set(temp[0]&mask); lastOutputValue = value; return value; }
/** * Parse a 64 bit signed value */ @Override public long readPackedLong() { long result = readPackedLong(this); assert(storeMostRecentPacked(result)); return result; }
private void visitSingleDouble(StructDoubleListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { double value = Double.longBitsToDouble(channelReader.readPackedLong()); visitor.value(value, Double.isNaN(value), curPos, curSize, c, totalCount); } /**
private void visitSingleRational(StructRationalListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long numerator = channelReader.readPackedLong(); long denominator = channelReader.readPackedLong(); boolean isNull = false; if (0==numerator) { isNull = channelReader.wasPackedNull(); } visitor.value(numerator, denominator, isNull, curPos, curSize, c, totalCount); }
private void visitSingleRational(StructRationalListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long numerator = channelReader.readPackedLong(); long denominator = channelReader.readPackedLong(); boolean isNull = false; if (0==numerator) { isNull = channelReader.wasPackedNull(); } visitor.value(numerator, denominator, isNull, curPos, curSize, c, totalCount); }
private void visitSingleDouble(StructDoubleListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { double value = Double.longBitsToDouble(channelReader.readPackedLong()); visitor.value(value, Double.isNaN(value), curPos, curSize, c, totalCount); } /**
@Override public <A extends Appendable> A readRationalAsText(A target) { try { return (A) Appendables.appendValue( Appendables.appendValue(target, readPackedLong()) .append("/"), readPackedLong()); } catch (IOException e) { throw new RuntimeException(e); } }
private void visitSingleRational(StructRationalListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long numerator = channelReader.readPackedLong(); long denominator = channelReader.readPackedLong(); boolean isNull = false; if (0==numerator) { isNull = channelReader.wasPackedNull(); } visitor.value(numerator, denominator, isNull, curPos, curSize, c, totalCount); }
@Override public long readPackedLong() { checkLimit(this,1); return super.readPackedLong(); }
/** * Parse a 64 bit signed value */ @Override public long readPackedLong() { long result = readPackedLong(this); assert(storeMostRecentPacked(result)); return result; }
private void visitSingleLong(StructLongListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long readPackedLong = channelReader.readPackedLong(); boolean isNull = false; if (0==readPackedLong) { isNull = channelReader.wasPackedNull(); } visitor.value(readPackedLong, isNull, curPos, curSize, c, totalCount); }
private void visitSingleLong(StructLongListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long readPackedLong = channelReader.readPackedLong(); boolean isNull = false; if (0==readPackedLong) { isNull = channelReader.wasPackedNull(); } visitor.value(readPackedLong, isNull, curPos, curSize, c, totalCount); }
@Override public <A extends Appendable> A readDecimalAsText(A target) { long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Appendables.appendDecimalValue(target, m, readByte()); }
@Override public double readDecimalAsDouble() { long m = readPackedLong(); assert(storeMostRecentPacked(m)); if (0!=m) { return Decimal.asDouble(m, readByte()); } else { position++;//must consume last byte (not needed); return wasPackedNull() ? Double.NaN: 0; } }
@Override public double readDecimalAsDouble() { long m = readPackedLong(); assert(storeMostRecentPacked(m)); if (0!=m) { return Decimal.asDouble(m, readByte()); } else { position++;//must consume last byte (not needed); return wasPackedNull() ? Double.NaN: 0; } }
public static <S extends MessageSchema<S>> long readPackedLong(DataInputBlobReader<S> that) { byte v = that.backing[that.byteMask & that.position++]; long accumulator = (~((long)(((v>>6)&1)-1)))&0xFFFFFFFFFFFFFF80l; IntArrayPool temp = IntArrayPoolLocal.get(); int id = IntArrayPool.lockInstance(temp, 1); int[] pos = IntArrayPool.getArray(IntArrayPoolLocal.get(), 1, id); //thread local wrapper pos[0] = that.position; long result = (v >= 0) ? readPackedLong((accumulator | v) << 7,that.backing,that.byteMask,pos, 0) : (accumulator) |(v & 0x7F); that.position = pos[0]; IntArrayPool.releaseLock(temp, 1, id); return result; }