From 67444660c7c2b54ddb683c8eadbc2732af42fc3d Mon Sep 17 00:00:00 2001 From: x Date: Wed, 16 Oct 2019 19:47:31 +0200 Subject: [PATCH] Transform: Byte+Nibble Transpose/Shuffle header --- transpose.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/transpose.h b/transpose.h index 68aec02..b9371ab 100644 --- a/transpose.h +++ b/transpose.h @@ -35,10 +35,21 @@ extern "C" { void tpenc( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); // tranpose void tpdec( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); // reverse transpose +void tp2denc(unsigned char *in, unsigned x, unsigned y, unsigned char *out, unsigned esize); +void tp2ddec(unsigned char *in, unsigned x, unsigned y, unsigned char *out, unsigned esize); +void tp3denc(unsigned char *in, unsigned x, unsigned y, unsigned z, unsigned char *out, unsigned esize); +void tp3ddec(unsigned char *in, unsigned x, unsigned y, unsigned z, unsigned char *out, unsigned esize); +void tp4denc(unsigned char *in, unsigned w, unsigned x, unsigned y, unsigned z, unsigned char *out, unsigned esize); +void tp4ddec(unsigned char *in, unsigned w, unsigned x, unsigned y, unsigned z, unsigned char *out, unsigned esize); + // Nibble transpose void tp4enc( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); void tp4dec( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); +// bit transpose +void tp1enc( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); +void tp1dec( unsigned char *in, unsigned n, unsigned char *out, unsigned esize); + //---------- Low level functions ------------------------------------ void tpenc2( unsigned char *in, unsigned n, unsigned char *out); // scalar void tpenc3( unsigned char *in, unsigned n, unsigned char *out); @@ -66,6 +77,13 @@ void tp4dec128v4( unsigned char *in, unsigned n, unsigned char *out); void tp4enc128v8( unsigned char *in, unsigned n, unsigned char *out); void tp4dec128v8( unsigned char *in, unsigned n, unsigned char *out); +void tp1enc128v2( unsigned char *in, unsigned n, unsigned char *out); +void tp1dec128v2( unsigned char *in, unsigned n, unsigned char *out); +void tp1enc128v4( unsigned char *in, unsigned n, unsigned char *out); +void tp1dec128v4( unsigned char *in, unsigned n, unsigned char *out); +void tp1enc128v8( unsigned char *in, unsigned n, unsigned char *out); +void tp1dec128v8( unsigned char *in, unsigned n, unsigned char *out); + void tpenc256v2( unsigned char *in, unsigned n, unsigned char *out); // avx2 void tpdec256v2( unsigned char *in, unsigned n, unsigned char *out); void tpenc256v4( unsigned char *in, unsigned n, unsigned char *out);