/* Template for compress method; run through cpp. */ #define ROUND1_STEP(a, b, c, d, e, T) e += s1(a,b,c,d,w[T]); b = rotateLeft(b, 30) #define ROUND2_STEP(a, b, c, d, e, T) e += s2(a,b,c,d,w[T]); b = rotateLeft(b, 30) #define ROUND3_STEP(a, b, c, d, e, T) e += s3(a,b,c,d,w[T]); b = rotateLeft(b, 30) #define ROUND4_STEP(a, b, c, d, e, T) e += s4(a,b,c,d,w[T]); b = rotateLeft(b, 30) ROUND1_STEP(a, b, c, d, e, 0); ROUND1_STEP(e, a, b, c, d, 1); ROUND1_STEP(d, e, a, b, c, 2); ROUND1_STEP(c, d, e, a, b, 3); ROUND1_STEP(b, c, d, e, a, 4); ROUND1_STEP(a, b, c, d, e, 5); ROUND1_STEP(e, a, b, c, d, 6); ROUND1_STEP(d, e, a, b, c, 7); ROUND1_STEP(c, d, e, a, b, 8); ROUND1_STEP(b, c, d, e, a, 9); ROUND1_STEP(a, b, c, d, e, 10); ROUND1_STEP(e, a, b, c, d, 11); ROUND1_STEP(d, e, a, b, c, 12); ROUND1_STEP(c, d, e, a, b, 13); ROUND1_STEP(b, c, d, e, a, 14); ROUND1_STEP(a, b, c, d, e, 15); ROUND1_STEP(e, a, b, c, d, 16); ROUND1_STEP(d, e, a, b, c, 17); ROUND1_STEP(c, d, e, a, b, 18); ROUND1_STEP(b, c, d, e, a, 19); ROUND2_STEP(a, b, c, d, e, 20); ROUND2_STEP(e, a, b, c, d, 21); ROUND2_STEP(d, e, a, b, c, 22); ROUND2_STEP(c, d, e, a, b, 23); ROUND2_STEP(b, c, d, e, a, 24); ROUND2_STEP(a, b, c, d, e, 25); ROUND2_STEP(e, a, b, c, d, 26); ROUND2_STEP(d, e, a, b, c, 27); ROUND2_STEP(c, d, e, a, b, 28); ROUND2_STEP(b, c, d, e, a, 29); ROUND2_STEP(a, b, c, d, e, 30); ROUND2_STEP(e, a, b, c, d, 31); ROUND2_STEP(d, e, a, b, c, 32); ROUND2_STEP(c, d, e, a, b, 33); ROUND2_STEP(b, c, d, e, a, 34); ROUND2_STEP(a, b, c, d, e, 35); ROUND2_STEP(e, a, b, c, d, 36); ROUND2_STEP(d, e, a, b, c, 37); ROUND2_STEP(c, d, e, a, b, 38); ROUND2_STEP(b, c, d, e, a, 39); ROUND3_STEP(a, b, c, d, e, 40); ROUND3_STEP(e, a, b, c, d, 41); ROUND3_STEP(d, e, a, b, c, 42); ROUND3_STEP(c, d, e, a, b, 43); ROUND3_STEP(b, c, d, e, a, 44); ROUND3_STEP(a, b, c, d, e, 45); ROUND3_STEP(e, a, b, c, d, 46); ROUND3_STEP(d, e, a, b, c, 47); ROUND3_STEP(c, d, e, a, b, 48); ROUND3_STEP(b, c, d, e, a, 49); ROUND3_STEP(a, b, c, d, e, 50); ROUND3_STEP(e, a, b, c, d, 51); ROUND3_STEP(d, e, a, b, c, 52); ROUND3_STEP(c, d, e, a, b, 53); ROUND3_STEP(b, c, d, e, a, 54); ROUND3_STEP(a, b, c, d, e, 55); ROUND3_STEP(e, a, b, c, d, 56); ROUND3_STEP(d, e, a, b, c, 57); state58.save(a, b, c, d, e); ROUND3_STEP(c, d, e, a, b, 58); ROUND3_STEP(b, c, d, e, a, 59); ROUND4_STEP(a, b, c, d, e, 60); ROUND4_STEP(e, a, b, c, d, 61); ROUND4_STEP(d, e, a, b, c, 62); ROUND4_STEP(c, d, e, a, b, 63); ROUND4_STEP(b, c, d, e, a, 64); state65.save(a, b, c, d, e); ROUND4_STEP(a, b, c, d, e, 65); ROUND4_STEP(e, a, b, c, d, 66); ROUND4_STEP(d, e, a, b, c, 67); ROUND4_STEP(c, d, e, a, b, 68); ROUND4_STEP(b, c, d, e, a, 69); ROUND4_STEP(a, b, c, d, e, 70); ROUND4_STEP(e, a, b, c, d, 71); ROUND4_STEP(d, e, a, b, c, 72); ROUND4_STEP(c, d, e, a, b, 73); ROUND4_STEP(b, c, d, e, a, 74); ROUND4_STEP(a, b, c, d, e, 75); ROUND4_STEP(e, a, b, c, d, 76); ROUND4_STEP(d, e, a, b, c, 77); ROUND4_STEP(c, d, e, a, b, 78); ROUND4_STEP(b, c, d, e, a, 79);