class Protobuf::Field::SignedIntegerField
Public Instance Methods
decode(value)
click to toggle source
Public Instance Methods
# File lib/protobuf/field/signed_integer_field.rb, line 11 def decode(value) if (value & 1).zero? value >> 1 # positive value else ~value >> 1 # negative value end end
encode(value)
click to toggle source
# File lib/protobuf/field/signed_integer_field.rb, line 19 def encode(value) if value >= 0 VarintField.encode(value << 1) else VarintField.encode(~(value << 1)) end end