Sha256: 53af171f75ceb0d852d11a2478ba9c7b7d46c702e72c24bc23c6add6c827bed5
Contents?: true
Size: 466 Bytes
Versions: 130
Compression:
Stored size: 466 Bytes
Contents
require 'protobuf/field/varint_field' module Protobuf module Field class SignedIntegerField < VarintField def decode(value) if (value & 1).zero? value >> 1 # positive value else ~value >> 1 # negative value end end def encode(value) if value >= 0 VarintField.encode(value << 1) else VarintField.encode(~(value << 1)) end end end end end
Version data entries
130 entries across 130 versions & 1 rubygems