IcBench: Integer Compression codecs
This commit is contained in:
14
plugins.cc
14
plugins.cc
@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user