(let ((idx (encode-uint32 tag buffer index)))
(declare (type fixnum idx))
(ecase type
- ((:int32 :uint32)
- (encode-uint32 (ldb (byte 32 0) val) buffer idx))
- ((:int64 :uint64)
- (encode-uint64 (ldb (byte 64 0) val) buffer idx))
+ ((:int32 :int64)
+ (encode-int val buffer idx))
+ ((:uint32)
+ (encode-uint32 val buffer idx))
+ ((:uint64)
+ (encode-uint64 val buffer idx))
((:sint32)
(encode-uint32 (zig-zag-encode32 val) buffer idx))
((:sint64)
(let ((idx (encode-uint32 ,tag ,buffer ,index)))
(declare (type fixnum idx))
,(ecase type
- ((:int32)
- `(encode-uint32 (ldb (byte 32 0) ,val) ,buffer idx))
- ((:int64)
- `(encode-uint64 (ldb (byte 64 0) ,val) ,buffer idx))
+ ((:int32 :int64)
+ `(encode-int ,val ,buffer idx))
((:uint32)
`(encode-uint32 ,val ,buffer idx))
((:uint64)
(declare (type fixnum len) (ignore full-len))
(setq idx (encode-uint32 len buffer idx)))
(ecase type
- ((:int32 :uint32)
- (map () #'(lambda (val) (setq idx (encode-uint32 (ldb (byte 32 0) val) buffer idx))) values))
- ((:int64 :uint64)
- (map () #'(lambda (val) (setq idx (encode-uint64 (ldb (byte 64 0) val) buffer idx))) values))
+ ((:int32 :int64)
+ (map () #'(lambda (val) (setq idx (encode-int val buffer idx))) values))
+ ((:uint32)
+ (map () #'(lambda (val) (setq idx (encode-uint32 val buffer idx))) values))
+ ((:uint64)
+ (map () #'(lambda (val) (setq idx (encode-uint64 val buffer idx))) values))
((:sint32)
(map () #'(lambda (val) (setq idx (encode-uint32 (zig-zag-encode32 val) buffer idx))) values))
((:sint64)
(setq idx (encode-uint32 len ,buffer idx)))
(,(if vectorp 'dovector 'dolist) (val ,values)
,(ecase type
- ((:int32)
- `(setq idx (encode-uint32 (ldb (byte 32 0) val) ,buffer idx)))
- ((:int64)
- `(setq idx (encode-uint64 (ldb (byte 64 0) val) ,buffer idx)))
+ ((:int32 :int64)
+ `(setq idx (encode-int val ,buffer idx)))
((:uint32)
`(setq idx (encode-uint32 val ,buffer idx)))
((:uint64)
(type fixnum index))
(locally (declare #.$optimize-serialization)
(ecase type
- ((:int32)
- (decode-int32 buffer index))
- ((:int64)
- (decode-int64 buffer index))
+ ((:int32 :int64)
+ (decode-int buffer index))
((:uint32)
(decode-uint32 buffer index))
((:uint64)
(type (simple-array (unsigned-byte 8)) ,buffer)
(type fixnum ,index))
,(ecase type
- ((:int32)
- `(decode-int32 ,buffer ,index))
- ((:int64)
- `(decode-int64 ,buffer ,index))
+ ((:int32 :int64)
+ `(decode-int ,buffer ,index))
((:uint32)
`(decode-uint32 ,buffer ,index))
((:uint64)
(return-from deserialize-packed (values values idx)))
(multiple-value-bind (val nidx)
(ecase type
- ((:int32)
- (decode-int32 buffer idx))
- ((:int64)
- (decode-int64 buffer idx))
+ ((:int32 :int64)
+ (decode-int buffer idx))
((:uint32)
(decode-uint32 buffer idx))
((:uint64)
(return-from deserialize-packed (values values idx)))
(multiple-value-bind (val nidx)
,(ecase type
- ((:int32)
- `(decode-int32 ,buffer idx))
- ((:int64)
- `(decode-int64 ,buffer idx))
+ ((:int32 :int64)
+ `(decode-int ,buffer idx))
((:uint32)
`(decode-uint32 ,buffer idx))
((:uint64)
(type fixnum index))
(locally (declare #.$optimize-serialization)
(multiple-value-bind (val idx)
- (decode-int32 buffer index)
+ (decode-int buffer index)
(let ((val (let ((e (find val enum-values :key #'proto-index)))
(and e (proto-value e)))))
(values val idx)))))
(when (>= idx end)
(return-from deserialize-packed-enum (values values idx)))
(multiple-value-bind (val nidx)
- (decode-int32 buffer idx)
+ (decode-int buffer idx)
(let ((val (let ((e (find val enum-values :key #'proto-index)))
(and e (proto-value e)))))
(collect-value val)