Syntax
#define HH(a, b, c, d, x, s, ac) { \
(a) += H ((b), (c), (d)) + (x) + (ULONG)(ac); \
(a) = LEFT_SHIFT_CIRCULAR ((a), (s)); \
(a) += (b); \
}
![]()
#define HH(a, b, c, d, x, s, ac) { \![]()
#define HH(a, b, c, d, x, s, ac) { \![]()
HH(a, b, c, d, x[5], 4, 0xfffa3942UL);![]()
HH(d, a, b, c, x[8], 11, 0x8771f681UL);![]()
HH(c, d, a, b, x[11], 16, 0x6d9d6122UL);![]()
HH(b, c, d, a, x[14], 23, 0xfde5380cUL);![]()
HH(a, b, c, d, x[1], 4, 0xa4beea44UL);![]()
HH(d, a, b, c, x[4], 11, 0x4bdecfa9UL);![]()
HH(c, d, a, b, x[7], 16, 0xf6bb4b60UL);![]()
HH(b, c, d, a, x[10], 23, 0xbebfbc70UL);![]()
HH(a, b, c, d, x[13], 4, 0x289b7ec6UL);![]()
HH(d, a, b, c, x[0], 11, 0xeaa127faUL);![]()
HH(c, d, a, b, x[3], 16, 0xd4ef3085UL);![]()
HH(b, c, d, a, x[6], 23, 0x04881d05UL);![]()
HH(a, b, c, d, x[9], 4, 0xd9d4d039UL);![]()
HH(d, a, b, c, x[12], 11, 0xe6db99e5UL);![]()
HH(c, d, a, b, x[15], 16, 0x1fa27cf8UL);![]()
HH(b, c, d, a, x[2], 23, 0xc4ac5665UL);![]()
HH(a, b, c, d, x[ 5], 4, 0xfffa3942UL);![]()
HH(d, a, b, c, x[ 8], 11, 0x8771f681UL);![]()
HH(c, d, a, b, x[11], 16, 0x6d9d6122UL);![]()
HH(b, c, d, a, x[14], 23, 0xfde5380cUL);![]()
HH(a, b, c, d, x[ 1], 4, 0xa4beea44UL);![]()
HH(d, a, b, c, x[ 4], 11, 0x4bdecfa9UL);![]()
HH(c, d, a, b, x[ 7], 16, 0xf6bb4b60UL);![]()
HH(b, c, d, a, x[10], 23, 0xbebfbc70UL);![]()
HH(a, b, c, d, x[13], 4, 0x289b7ec6UL);![]()
HH(d, a, b, c, x[ 0], 11, 0xeaa127faUL);![]()
HH(c, d, a, b, x[ 3], 16, 0xd4ef3085UL);![]()
HH(b, c, d, a, x[ 6], 23, 0x04881d05UL);![]()
HH(a, b, c, d, x[ 9], 4, 0xd9d4d039UL);![]()
HH(d, a, b, c, x[12], 11, 0xe6db99e5UL);![]()
HH(c, d, a, b, x[15], 16, 0x1fa27cf8UL);![]()
HH(b, c, d, a, x[ 2], 23, 0xc4ac5665UL);