public static void writeIntArrayDeltaEncoded(int[] values, DataOutput out) throws IOException { final int length = values.length; writeLength(values, out); int prev = 0; for (int i = 0; i < length; i++) { int value = values[i]; int delta = value - prev; prev = value; writeSignedVarInt(delta, out); } }
public static void writeLongArrayDeltaEncoded(long[] values, DataOutput out) throws IOException { final int length = writeLength(values, out); long prev = 0; for (int i = 0; i < length; i++) { long value = values[i]; long delta = value - prev; prev = value; writeSignedVarLong(delta, out); } }
public static long[] readSignedLongArray(DataInput in) throws IOException { final int length = readLength(in); long[] values = new long[length]; for (int i = 0; i < length; i++) { values[i] = readSignedVarLong(in); } return values; }
@Override public String[] readStringArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); String[] strings = new String[len]; for (int i = 0; i < len; i++) { strings[i] = readString(in); } return strings; }
public static int[] readUnsignedIntArray(DataInput in, AtomicInteger outBytesRead) throws IOException { final int length = readLength(in); int[] values = new int[length]; for (int i = 0; i < length; i++) { values[i] = readUnsignedVarInt(in); } return values; }
protected DataStreamRevObjectSerializerV2(FormatCommonV2 format) { Preconditions.checkNotNull(format); this.format = format; serializers[TYPE.COMMIT.ordinal()] = new CommitSerializer(format); serializers[TYPE.FEATURE.ordinal()] = new FeatureSerializer(format); serializers[TYPE.FEATURETYPE.ordinal()] = new FeatureTypeSerializer(format); serializers[TYPE.TAG.ordinal()] = new TagSerializer(format); serializers[TYPE.TREE.ordinal()] = new TreeSerializer(format); }
private static Envelope readBounds(DataInput in) throws IOException { // directly use the default encoding int[] serializedForm = new int[] { readSignedVarInt(in), readSignedVarInt(in), readSignedVarInt(in), readSignedVarInt(in) }; return Float32BoundsSerializer.deserialize(serializedForm); }
public static void writeUnsignedLongArray(long[] values, DataOutput out) throws IOException { final int length = writeLength(values, out); for (int i = 0; i < length; i++) { writeUnsignedVarLong(values[i], out); } }
public static long[] readUnsignedLongArray(DataInput in) throws IOException { final int length = readLength(in); long[] values = new long[length]; for (int i = 0; i < length; i++) { values[i] = readUnsignedVarLong(in); } return values; }
public void writePointBoundingBox(double x, double y, DataOutput data) throws IOException { long x1 = toFixedPrecision(x); long y1 = toFixedPrecision(y); writeSignedVarLong(x1, data); writeSignedVarLong(y1, data); }
public static int[] readIntArrayDeltaEncoded(DataInput in) throws IOException { final int length = readLength(in); int[] values = new int[length]; int prev = 0; for (int i = 0; i < length; i++) { int delta = readSignedVarInt(in); int value = prev + delta; values[i] = value; prev = value; } return values; }
private static Envelope readBounds(DataInput in) throws IOException { //directly use the default encoding int[] serializedForm = new int[] { readSignedVarInt(in),readSignedVarInt(in),readSignedVarInt(in),readSignedVarInt(in)}; return Float32BoundsSerializer.deserialize(serializedForm); }
public static void writeIntArrayDeltaEncoded(int[] values, DataOutput out) throws IOException { final int length = values.length; writeLength(values, out); int prev = 0; for (int i = 0; i < length; i++) { int value = values[i]; int delta = value - prev; prev = value; writeSignedVarInt(delta, out); } }
public static void writeSignedLongArray(long[] values, DataOutput out) throws IOException { final int length = writeLength(values, out); for (int i = 0; i < length; i++) { writeSignedVarLong(values[i], out); } }
private static void writeBoundingBox(double minx, double maxx, double miny, double maxy, DataOutput data) throws IOException { long x1 = toFixedPrecision(minx, RoundingMode.HALF_DOWN); long y1 = toFixedPrecision(miny, RoundingMode.HALF_DOWN); long x2 = toFixedPrecision(maxx, RoundingMode.HALF_UP); long y2 = toFixedPrecision(maxy, RoundingMode.HALF_UP); writeSignedVarLong(x1, data); writeSignedVarLong(y1, data); writeSignedVarLong(x2, data); writeSignedVarLong(y2, data); }
public static long[] readLongArrayDeltaEncoded(DataInput in) throws IOException { final int length = readLength(in); long[] values = new long[length]; long prev = 0; for (int i = 0; i < length; i++) { long delta = readSignedVarLong(in); long value = prev + delta; values[i] = value; prev = value; } return values; }
public static int[] readIntArrayDeltaEncoded(DataInput in) throws IOException { final int length = readLength(in); int[] values = new int[length]; int prev = 0; for (int i = 0; i < length; i++) { int delta = readSignedVarInt(in); int value = prev + delta; values[i] = value; prev = value; } return values; }
public static void writeSignedIntArray(int[] values, DataOutput out) throws IOException { final int length = values.length; writeLength(values, out); for (int i = 0; i < length; i++) { writeSignedVarInt(values[i], out); } }
public static void writeLongArrayDeltaEncoded(long[] values, DataOutput out) throws IOException { final int length = writeLength(values, out); long prev = 0; for (int i = 0; i < length; i++) { long value = values[i]; long delta = value - prev; prev = value; writeSignedVarLong(delta, out); } }
private static void writeBoundingBox(double minx, double maxx, double miny, double maxy, DataOutput data) throws IOException { long x1 = toFixedPrecision(minx, RoundingMode.HALF_DOWN); long y1 = toFixedPrecision(miny, RoundingMode.HALF_DOWN); long x2 = toFixedPrecision(maxx, RoundingMode.HALF_UP); long y2 = toFixedPrecision(maxy, RoundingMode.HALF_UP); writeSignedVarLong(x1, data); writeSignedVarLong(y1, data); writeSignedVarLong(x2, data); writeSignedVarLong(y2, data); }