IcBench App: External libs
This commit is contained in:
Submodule ext/FastPFor updated: 4e484a8d6f...bae51c0f8f
@ -11,7 +11,13 @@
|
||||
#include "FastPFor/headers/simdfastpfor.h"
|
||||
#include "FastPFor/headers/optpfor.h"
|
||||
#include "FastPFor/headers/simdoptpfor.h"
|
||||
//#include "ext/FastPFor/headers/compositecodec.h"
|
||||
#ifndef min
|
||||
#define min(x,y) (((x)<(y)) ? (x) : (y))
|
||||
#endif
|
||||
#define _mm_store_si128 _mm_storeu_si128
|
||||
#define _mm_load_si128 _mm_loadu_si128
|
||||
#include "FastPFor/headers/simdgroupsimple.h"
|
||||
#undef min
|
||||
#endif
|
||||
|
||||
#if C_SIMPLE8B
|
||||
|
||||
@ -36,6 +36,17 @@
|
||||
}
|
||||
ctou32(out) = nvalue;
|
||||
return out+4+nvalue*4;
|
||||
}
|
||||
case FP_GROUPSIMPLE: {
|
||||
size_t nvalue = outsize/4;
|
||||
FastPForLib::SIMDGroupSimple<false,false> ic; ic.encodeArray((const int32_t *)in, n & (~127), (uint32_t *)(out+4), nvalue);
|
||||
if(n & 127) {
|
||||
size_t nvalue2 = outsize/4 - nvalue;
|
||||
FastPForLib::VariableByte vc; vc.encodeArray((const int32_t *)(in + (n & (~127))), n & 127, (uint32_t *)(out + 4 + nvalue*4), nvalue2);
|
||||
nvalue += nvalue2;
|
||||
}
|
||||
ctou32(out) = nvalue;
|
||||
return out+4+nvalue*4;
|
||||
}
|
||||
case FP_VBYTE: { size_t nvalue=outsize/4; FastPForLib::VariableByte ic; ic.encodeArray((const int32_t *)in, (const size_t)n, (uint32_t *)(out+4), nvalue); ctou32(out)=nvalue; return out+4+nvalue*4; }
|
||||
case FP_SIMPLE8BRLE:{ size_t nvalue=outsize/4; FastPForLib::Simple8b_RLE<true> ic; ic.encodeArray((const int32_t *)in, (const size_t)n, (uint32_t *)(out+4), nvalue); ctou32(out)=nvalue; return out+4+nvalue*4; }
|
||||
|
||||
@ -38,6 +38,16 @@
|
||||
}
|
||||
return (unsigned char *)ip;
|
||||
}
|
||||
case FP_GROUPSIMPLE: {
|
||||
size_t nvalue = n;
|
||||
FastPForLib::SIMDGroupSimple<false,false> ic; const uint32_t *ip = ic.decodeArray((const int32_t *)(in+4), ctou32(in), out, nvalue);
|
||||
if(n & 127) {
|
||||
nvalue = n - nvalue;
|
||||
FastPForLib::VariableByte vc;
|
||||
return (unsigned char *)vc.decodeArray(ip, (const uint32_t *)in+1+ctou32(in) - ip, out + (n&(~127)), nvalue); //return vbdec32((unsigned char *)ip, n & 127, out + mynvalue1);
|
||||
}
|
||||
return (unsigned char *)ip;
|
||||
}
|
||||
|
||||
case FP_VBYTE: //return vbytedec( in, n, out);
|
||||
{ size_t nvalue=n; FastPForLib::VariableByte ic; return (unsigned char *)ic.decodeArray((const int32_t *)(in+4), ctou32(in), (uint32_t *)out, nvalue); }
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
{ FP_SIMDOPTPFOR, "FP_SIMDOptPFor", C_FASTPFOR, 0, 0,"","OptPFor SIMD" },
|
||||
{ FP_VBYTE, "FP_VByte", C_FASTPFOR, 0, 0,"","Variable byte" },
|
||||
{ FP_SIMPLE8BRLE, "FP_Simple8bRLE", C_FASTPFOR, 0, 0,"","Simple-8b + rle" },
|
||||
{ FP_GROUPSIMPLE, "FP_GROUPSIMPLE", C_FASTPFOR, 0, 0,"","Group Simple" },
|
||||
|
||||
{ SC_SIMDPACK128, "SC_SIMDPack128", C_SIMDCOMP, BLK_V128,0,"","Bit packing (SSE4.1)"},
|
||||
{ SC_SIMDPACK256, "SC_SIMDPack256", C_SIMDCOMP, BLK_V256,0,"","Bit packing (SSE4.1)"},
|
||||
|
||||
2
ext/lz4
2
ext/lz4
Submodule ext/lz4 updated: d18084c655...1525fd1f52
Reference in New Issue
Block a user