Files
TurboPFor-Integer-Compression/ext/simdcomp/include/simdcomputil.h
2015-01-05 23:13:49 +01:00

30 lines
652 B
C

/**
* This code is released under a BSD License.
*/
#ifndef SIMDCOMPUTIL_H_
#define SIMDCOMPUTIL_H_
#include <emmintrin.h>// SSE2 is required
#include <stdint.h> // use a C99-compliant compiler, please
// returns the integer logarithm of v (bit width)
uint32_t bits(const uint32_t v);
// max integer logarithm over a range of SIMDBlockSize integers (128 integer)
uint32_t maxbits(const uint32_t * begin);
enum{ SIMDBlockSize = 128};
// like maxbit over 128 integers (SIMDBlockSize) with provided initial value
// and using differential coding
uint32_t simdmaxbitsd1(uint32_t initvalue, const uint32_t * in);
#endif /* SIMDCOMPUTIL_H_ */