TurboPFor: Variable byte encode/decode

This commit is contained in:
powturbo
2017-06-13 09:14:19 +02:00
parent 077aa47209
commit bc781964a5

3
vint.c
View File

@ -200,8 +200,9 @@ unsigned TEMPLATE2(vbzgeteq, USIZE)(unsigned char **__restrict in, unsigned n, u
#endif
unsigned char *TEMPLATE2(VBDENC, USIZE)(uint_t *__restrict in, unsigned n, unsigned char *__restrict out, uint_t start) {
unsigned char *op = out; if(!n) return out;
unsigned char *op = out;
uint_t *ip, b=0,v;
if(!n) return out;
#define VBDE { v = (*ip)-start-VDELTA; start = *ip++; TEMPLATE2(_vbput, USIZE)(op, v, ;); b |= (v /*^ x*/); }
for(ip = in; ip != in + (n&~(UN-1)); ) { VBDE;VBDE;VBDE;VBDE;
#if UN > 4