-
Type:
Sub-task
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 0.6.0
-
Component/s: C bindings, Core, Go bindings, Perl bindings
-
Labels:None
At present, InStream, OutStream, and NumberUtils provide an unsigned compressed format called C32/C64 – and when we need signed representations, we just cast.
To get rid of all these casts (and fix some sites missing casts), support signed and unsigned variants:
- Write_CI32
- Read_CI32
- Write_CU32
- Read_CU32
- Write_CI64
- Read_CI64
- Write_CU64
- Read_CU64
Note that the encoding is not well suited for negative numbers, as they always require the maximum of 5 or 10 bytes. However, this change is worthwhile simply for the sake of keeping the signs straight in the code without casting all the time.