IcBench: Integer Compression codecs

This commit is contained in:
powturbo
2017-06-13 10:01:08 +02:00
parent 00ae40e2f3
commit 21e83b3d25

View File

@ -203,7 +203,9 @@ enum {
}; };
#define PAD8(_x_) ( (((_x_)+8-1)/8) ) #define PAD8(_x_) ( (((_x_)+8-1)/8) )
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplug_.h" // external libs #include "ext/beplug_.h" // external libs
#endif
#if C_TURBOPFOR #if C_TURBOPFOR
#include "vint.h" #include "vint.h"
@ -307,7 +309,9 @@ struct plugs plugs[] = {
{ TB_FPFFOR64, "FP_FCM64", C_TURBOPFOR, BLK_SIZE,0,"","Floating point PFOR (FCM)" }, { TB_FPFFOR64, "FP_FCM64", C_TURBOPFOR, BLK_SIZE,0,"","Floating point PFOR (FCM)" },
{ TB_FPDFOR64, "FP_DFCM64", C_TURBOPFOR, BLK_SIZE,0,"","Floating point PFOR (DFCM)" }, { TB_FPDFOR64, "FP_DFCM64", C_TURBOPFOR, BLK_SIZE,0,"","Floating point PFOR (DFCM)" },
{ TB_PF64, "TurboPFor64", C_TURBOPFOR, BLK_V128,0,"","PFOR 64" }, { TB_PF64, "TurboPFor64", C_TURBOPFOR, BLK_V128,0,"","PFOR 64" },
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugr_.h" // external libs #include "ext/beplugr_.h" // external libs
#endif
{ -1 } { -1 }
}; };
@ -334,7 +338,9 @@ unsigned char sbuf[BLK_SIZE*2+64];
int codini(size_t insize, int codec) { int codini(size_t insize, int codec) {
switch(codec) { switch(codec) {
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugi_.c" #include "ext/beplugi_.c"
#endif
} }
return 0; return 0;
} }
@ -407,7 +413,9 @@ unsigned char *codcomps(unsigned char *_in, unsigned _n, unsigned char *out, int
case TB_DELTA32: bitdienc32(in, n, (unsigned *)out, -mdelta, mdelta); return out + _n; case TB_DELTA32: bitdienc32(in, n, (unsigned *)out, -mdelta, mdelta); return out + _n;
case TB_XOR32: bitxenc32( in, n, (unsigned *)out, -mdelta); return out + _n; case TB_XOR32: bitxenc32( in, n, (unsigned *)out, -mdelta); return out + _n;
#endif #endif
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugcs_.c" #include "ext/beplugcs_.c"
#endif
} }
return out; return out;
} }
@ -475,7 +483,9 @@ unsigned char *coddecomps(unsigned char *in, unsigned _n, unsigned char *_out, i
case TB_DELTA32: memcpy(out, in, outlen); mdelta?bitd1dec32(out, n, -mdelta):bitddec32(out, n, 0); return in + outlen; case TB_DELTA32: memcpy(out, in, outlen); mdelta?bitd1dec32(out, n, -mdelta):bitddec32(out, n, 0); return in + outlen;
case TB_XOR32: memcpy(out, in, outlen); bitxdec32(out, n, -mdelta); return in + outlen; case TB_XOR32: memcpy(out, in, outlen); bitxdec32(out, n, -mdelta); return in + outlen;
#endif #endif
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugds_.c" #include "ext/beplugds_.c"
#endif
} }
return in; return in;
} }
@ -580,7 +590,9 @@ unsigned char *codcomp(unsigned char *_in, unsigned _n, unsigned char *out, int
case TB_FPFFOR64: ctou64(out) = ctou64(_in); return fpfcmenc64( (uint64_t *)(_in+8), PAD8(_n)-1, out+8, ctou64(_in)); case TB_FPFFOR64: ctou64(out) = ctou64(_in); return fpfcmenc64( (uint64_t *)(_in+8), PAD8(_n)-1, out+8, ctou64(_in));
case TB_FPDFOR64: ctou64(out) = ctou64(_in); return fpdfcmenc64((uint64_t *)(_in+8), PAD8(_n)-1, out+8, ctou64(_in)); case TB_FPDFOR64: ctou64(out) = ctou64(_in); return fpdfcmenc64((uint64_t *)(_in+8), PAD8(_n)-1, out+8, ctou64(_in));
case TB_PF64: return p4enc64((uint64_t *)in, PAD8(_n), out); case TB_PF64: return p4enc64((uint64_t *)in, PAD8(_n), out);
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugc_.c" #include "ext/beplugc_.c"
#endif
} }
return out; return out;
} }
@ -633,7 +645,9 @@ unsigned char *coddecomp(unsigned char *in, unsigned _n, unsigned char *_out, in
case TB_FPFFOR64: ctou64(_out) = ctou64(in); return fpfcmdec64( in+8, PAD8(outlen)-1, (uint64_t *)(_out+8), ctou64(in));; case TB_FPFFOR64: ctou64(_out) = ctou64(in); return fpfcmdec64( in+8, PAD8(outlen)-1, (uint64_t *)(_out+8), ctou64(in));;
case TB_FPDFOR64: ctou64(_out) = ctou64(in); return fpdfcmdec64(in+8, PAD8(outlen)-1, (uint64_t *)(_out+8), ctou64(in)); case TB_FPDFOR64: ctou64(_out) = ctou64(in); return fpdfcmdec64(in+8, PAD8(outlen)-1, (uint64_t *)(_out+8), ctou64(in));
case TB_PF64: return p4dec64( in, PAD8(outlen), (uint64_t *)out); case TB_PF64: return p4dec64( in, PAD8(outlen), (uint64_t *)out);
#if !defined(NCODEC1) && !defined(NCODEC2)
#include "ext/beplugd_.c" #include "ext/beplugd_.c"
#endif
} }
return in; return in;
} }