|
|
|
@ -76,6 +76,10 @@ class Sint32Type:
|
|
|
|
|
WIRE_TYPE = 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Sint64Type:
|
|
|
|
|
WIRE_TYPE = 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BoolType:
|
|
|
|
|
WIRE_TYPE = 0
|
|
|
|
|
|
|
|
|
@ -235,6 +239,8 @@ def load_message(reader, msg_type):
|
|
|
|
|
fvalue = ivalue
|
|
|
|
|
elif ftype is Sint32Type:
|
|
|
|
|
fvalue = (ivalue >> 1) ^ ((ivalue << 31) & 0xffffffff)
|
|
|
|
|
elif ftype is Sint64Type:
|
|
|
|
|
fvalue = (ivalue >> 1) ^ ((ivalue << 63) & 0xffffffffffffffff)
|
|
|
|
|
elif ftype is BoolType:
|
|
|
|
|
fvalue = bool(ivalue)
|
|
|
|
|
elif ftype is BytesType:
|
|
|
|
@ -288,6 +294,9 @@ def dump_message(writer, msg):
|
|
|
|
|
elif ftype is Sint32Type:
|
|
|
|
|
dump_uvarint(writer, ((svalue << 1) & 0xffffffff) ^ (svalue >> 31))
|
|
|
|
|
|
|
|
|
|
elif ftype is Sint64Type:
|
|
|
|
|
dump_uvarint(writer, ((svalue << 1) & 0xffffffffffffffff) ^ (svalue >> 63))
|
|
|
|
|
|
|
|
|
|
elif ftype is BoolType:
|
|
|
|
|
dump_uvarint(writer, int(svalue))
|
|
|
|
|
|
|
|
|
|