Ooops, wasn't encoding numbers right at all, that's embarassing

This commit is contained in:
Nathan Braswell
2021-04-20 01:49:39 -04:00
parent f254f11f8d
commit d3dd37c60e

View File

@@ -4,10 +4,10 @@
; Bytes encode themselves ; Bytes encode themselves
encode_u_LEB128 (rec-lambda recurse (x) encode_u_LEB128 (rec-lambda recurse (x)
(cond (< x 0x80) [x] (cond (< x 0x80) [x]
true (cons (| (& x 0x7F) 0x1) (recurse (>> x 8)))) true (cons (| (& x 0x7F) 0x80) (recurse (>> x 7))))
) )
encode_s8_LEB128 (lambda (x) (encode_u_LEB128 (& x 255))) encode_s8_LEB128 (lambda (x) (encode_u_LEB128 (& x 0xFF)))
encode_s32_LEB128 (lambda (x) (encode_u_LEB128 (& x 255))) encode_s32_LEB128 (lambda (x) (encode_u_LEB128 (& x 0xFFFFFFFF)))
encode_vector (lambda (enc v) encode_vector (lambda (enc v)
(concat (encode_u_LEB128 (len v)) (flat_map enc v) ) (concat (encode_u_LEB128 (len v)) (flat_map enc v) )
) )