WriteVarint32 writes a signed int32 using zigzag encoding (compatible with Java's writeVarint32).
(value int32)
| 1271 | |
| 1272 | // WriteVarint32 writes a signed int32 using zigzag encoding (compatible with Java's writeVarint32). |
| 1273 | func (b *ByteBuffer) WriteVarint32(value int32) int8 { |
| 1274 | u := uint32((value << 1) ^ (value >> 31)) |
| 1275 | return b.WriteVarUint32(u) |
| 1276 | } |
| 1277 | |
| 1278 | // ReadVarint32 reads a signed int32 using zigzag decoding (compatible with Java's readVarint32). |
| 1279 | func (b *ByteBuffer) ReadVarint32(err *Error) int32 { |