From 16bacb420666f9788864f304eb77960d9d92551e Mon Sep 17 00:00:00 2001 From: powturbo Date: Thu, 11 Jun 2015 20:40:09 +0200 Subject: [PATCH] Elias Fano --- eliasfano.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eliasfano.h b/eliasfano.h index 5a730d4..2220492 100644 --- a/eliasfano.h +++ b/eliasfano.h @@ -25,13 +25,20 @@ #ifdef __cplusplus extern "C" { #endif +#include // compress/decompress integer array with n values to the buffer out. Return value = end of output/input buffer unsigned char *efanoenc32( unsigned *__restrict in, unsigned n, unsigned char *__restrict out, unsigned start); +unsigned char *efanoenc64( uint64_t *__restrict in, unsigned n, unsigned char *__restrict out, uint64_t start); + unsigned char *efanodec32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned start); +unsigned char *efanodec64( unsigned char *__restrict in, unsigned n, uint64_t *__restrict out, uint64_t start); unsigned char *efano1enc32( unsigned *__restrict in, unsigned n, unsigned char *__restrict out, unsigned start); +unsigned char *efano1enc64( uint64_t *__restrict in, unsigned n, unsigned char *__restrict out, uint64_t start); + unsigned char *efano1dec32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned start); +unsigned char *efano1dec64( unsigned char *__restrict in, unsigned n, uint64_t *__restrict out, uint64_t start); unsigned char *efanoencv32( unsigned *__restrict in, unsigned n, unsigned char *__restrict out, unsigned start); unsigned char *efanodecv32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned start);