* on, and rotates are much kinder to the top and bottom bits, so I used
* rotates.
*/
-#define mix(a, b, c) \
- { \
- a -= c; \
- a ^= rot(c, 4); \
- c += b; \
- b -= a; \
- b ^= rot(a, 6); \
- a += c; \
- c -= b; \
- c ^= rot(b, 8); \
- b += a; \
- a -= c; \
- a ^= rot(c, 16); \
- c += b; \
- b -= a; \
- b ^= rot(a, 19); \
- a += c; \
- c -= b; \
- c ^= rot(b, 4); \
- b += a; \
+#define mix(a, b, c) \
+ { \
+ (a) -= (c); \
+ (a) ^= rot(c, 4); \
+ (c) += (b); \
+ (b) -= (a); \
+ (b) ^= rot(a, 6); \
+ (a) += (c); \
+ (c) -= (b); \
+ (c) ^= rot(b, 8); \
+ (b) += (a); \
+ (a) -= (c); \
+ (a) ^= rot(c, 16); \
+ (c) += (b); \
+ (b) -= (a); \
+ (b) ^= rot(a, 19); \
+ (a) += (c); \
+ (c) -= (b); \
+ (c) ^= rot(b, 4); \
+ (b) += (a); \
}
/*
* 10 8 15 26 3 22 24
* 11 8 15 26 3 22 24
*/
-#define final(a, b, c) \
- { \
- c ^= b; \
- c -= rot(b, 14); \
- a ^= c; \
- a -= rot(c, 11); \
- b ^= a; \
- b -= rot(a, 25); \
- c ^= b; \
- c -= rot(b, 16); \
- a ^= c; \
- a -= rot(c, 4); \
- b ^= a; \
- b -= rot(a, 14); \
- c ^= b; \
- c -= rot(b, 24); \
+#define final(a, b, c) \
+ { \
+ (c) ^= (b); \
+ (c) -= rot(b, 14); \
+ (a) ^= (c); \
+ (a) -= rot(c, 11); \
+ (b) ^= (a); \
+ (b) -= rot(a, 25); \
+ (c) ^= (b); \
+ (c) -= rot(b, 16); \
+ (a) ^= (c); \
+ (a) -= rot(c, 4); \
+ (b) ^= (a); \
+ (b) -= rot(a, 14); \
+ (c) ^= (b); \
+ (c) -= rot(b, 24); \
}
/*