Commit 6bb942ffe5870f83a7691bad4e0c8e885268dbee

Con Kolivas 2013-02-21T21:34:48

Use constants for endian swap macros.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/scrypt121016.cl b/scrypt121016.cl
index f677211..94cc79c 100644
--- a/scrypt121016.cl
+++ b/scrypt121016.cl
@@ -28,11 +28,13 @@
  * online backup system.
  */
 
+__constant uint ES[2] = { 0x00FF00FF, 0xFF00FF00 };
+
 #define rotl(x,y) rotate(x,y)
 #define Ch(x,y,z) bitselect(z,y,x)
 #define Maj(x,y,z) Ch((x^z),y,z)
 
-#define EndianSwap(n) (rotl(n&0x00FF00FF,24U)|rotl(n&0xFF00FF00,8U))
+#define EndianSwap(n) (rotl(n & ES[0], 24U)|rotl(n & ES[1], 8U))
 
 #define Tr2(x)		(rotl(x, 30U) ^ rotl(x, 19U) ^ rotl(x, 10U))
 #define Tr1(x)		(rotl(x, 26U) ^ rotl(x, 21U) ^ rotl(x, 7U))