public int fastSerializeForHiveDecimal(Decimal128FastBuffer scratch, byte signum) { int bufferUsed = this.count; ByteBuffer buf = scratch.getByteBuffer(bufferUsed); buf.put(0, (byte) (signum == 1 ? 0 : signum)); int pos = 1; int firstNonZero = 0; while(firstNonZero < this.count && v[firstNonZero] == 0) { ++firstNonZero; } switch(this.count) { case 4: fastSerializeIntPartForHiveDecimal(buf, pos, v[3], signum, firstNonZero == 3); pos+=4; // intentional fall through case 3: fastSerializeIntPartForHiveDecimal(buf, pos, v[2], signum, firstNonZero == 2); pos+=4; // intentional fall through case 2: fastSerializeIntPartForHiveDecimal(buf, pos, v[1], signum, firstNonZero == 1); pos+=4; // intentional fall through case 1: fastSerializeIntPartForHiveDecimal(buf, pos, v[0], signum, true); } return bufferUsed; }
public int fastSerializeForHiveDecimal(Decimal128FastBuffer scratch, byte signum) { int bufferUsed = this.count; ByteBuffer buf = scratch.getByteBuffer(bufferUsed); buf.put(0, (byte) (signum == 1 ? 0 : signum)); int pos = 1; int firstNonZero = 0; while(firstNonZero < this.count && v[firstNonZero] == 0) { ++firstNonZero; } switch(this.count) { case 4: fastSerializeIntPartForHiveDecimal(buf, pos, v[3], signum, firstNonZero == 3); pos+=4; // intentional fall through case 3: fastSerializeIntPartForHiveDecimal(buf, pos, v[2], signum, firstNonZero == 2); pos+=4; // intentional fall through case 2: fastSerializeIntPartForHiveDecimal(buf, pos, v[1], signum, firstNonZero == 1); pos+=4; // intentional fall through case 1: fastSerializeIntPartForHiveDecimal(buf, pos, v[0], signum, true); } return bufferUsed; }
public int fastSerializeForHiveDecimal(Decimal128FastBuffer scratch, byte signum) { int bufferUsed = this.count; ByteBuffer buf = scratch.getByteBuffer(bufferUsed); buf.put(0, (byte) (signum == 1 ? 0 : signum)); int pos = 1; int firstNonZero = 0; while(firstNonZero < this.count && v[firstNonZero] == 0) { ++firstNonZero; } switch(this.count) { case 4: fastSerializeIntPartForHiveDecimal(buf, pos, v[3], signum, firstNonZero == 3); pos+=4; // intentional fall through case 3: fastSerializeIntPartForHiveDecimal(buf, pos, v[2], signum, firstNonZero == 2); pos+=4; // intentional fall through case 2: fastSerializeIntPartForHiveDecimal(buf, pos, v[1], signum, firstNonZero == 1); pos+=4; // intentional fall through case 1: fastSerializeIntPartForHiveDecimal(buf, pos, v[0], signum, true); } return bufferUsed; }