Sha256: 93c8273db40b1b17d58364b373ad05268f235a56b6624f1cd7a69d406e86aa5a
Contents?: true
Size: 519 Bytes
Versions: 24
Compression:
Stored size: 519 Bytes
Contents
require 'protobuf/field/varint_field' module Protobuf module Field class SignedIntegerField < VarintField ## # Public Instance Methods # 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
24 entries across 24 versions & 2 rubygems