Generate precomputed tables as sources in `precomps/'.
[u/mdw/catacomb] / symm / whirlpool.c
index 4543287..ff517ce 100644 (file)
@@ -33,7 +33,6 @@
 #include "ghash-def.h"
 #include "hash.h"
 #include "whirlpool.h"
-#include "whirlpool-tab.h"
 
 #if defined(HAVE_UINT64)
 #  define USE64
 
 /*----- Static variables --------------------------------------------------*/
 
-static const kludge64 C[10] = WHIRLPOOL_C;
+extern const kludge64 whirlpool_c[10];
 
 #ifdef USE64
-static const kludge64 T[8][256] = WHIRLPOOL_T;
+extern const kludge64 whirlpool_t[8][256];
 #else
-static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V;
+extern const uint32 whirlpool_u[4][256], whirlpool_v[4][256];
 #endif
 
 /*----- Main code ---------------------------------------------------------*/
@@ -69,7 +68,7 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V;
     (LO64(x) >> ((j) * 8)) :                                           \
     (HI64(x) >> ((j) * 8 - 32)))
 
-#define TT(v, i, j) T[j][BYTE(v[OFFSET(i, j)], j)]
+#define TT(v, i, j) whirlpool_t[j][BYTE(v[OFFSET(i, j)], j)]
 
 #define XROW(vv, v, i) do {                                            \
   XOR64(vv[i], vv[i], TT(v, i, 1));                                    \
@@ -96,10 +95,10 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V;
 
 #define BYTE(x, j) U8((x) >> (((j) & 3) * 8))
 
-#define UUL(v, i, j) U[j & 3][BYTE(v[OFFSET(i, j)].lo, j)]
-#define VVL(v, i, j) V[j & 3][BYTE(v[OFFSET(i, j)].lo, j)]
-#define UUH(v, i, j) U[j & 3][BYTE(v[OFFSET(i, j)].hi, j)]
-#define VVH(v, i, j) V[j & 3][BYTE(v[OFFSET(i, j)].hi, j)]
+#define UUL(v, i, j) whirlpool_u[j & 3][BYTE(v[OFFSET(i, j)].lo, j)]
+#define VVL(v, i, j) whirlpool_v[j & 3][BYTE(v[OFFSET(i, j)].lo, j)]
+#define UUH(v, i, j) whirlpool_u[j & 3][BYTE(v[OFFSET(i, j)].hi, j)]
+#define VVH(v, i, j) whirlpool_v[j & 3][BYTE(v[OFFSET(i, j)].hi, j)]
 
 #define XROW(vv, v, i) do {                                            \
   vv[i].lo ^= UUL(v, i, 1); vv[i].hi ^= VVL(v, i, 1);                  \
@@ -138,7 +137,7 @@ static const uint32 U[4][256] = WHIRLPOOL_U, V[4][256] = WHIRLPOOL_V;
 void whirlpool_compress(whirlpool_ctx *ctx, const void *sbuf)
 {
   kludge64 m[8], k[8], kk[8], v[8], vv[8];
-  const kludge64 *c = C;
+  const kludge64 *c = whirlpool_c;
   const octet *s = sbuf;
   int i;