Sha256: a1df3ba4512092525bed59178bcb90395a84f54557f463eb3c39e055e8b0e45f
Contents?: true
Size: 518 Bytes
Versions: 73
Compression:
Stored size: 518 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
73 entries across 73 versions & 6 rubygems