sha512module.c
マクロを分割および関数化に変更
#ifdef PLAN9 void RND(SHA_INT64 *a,SHA_INT64 *b,SHA_INT64 *c,SHA_INT64 *d,SHA_INT64 *e,SHA_INT64 *f,SHA_INT64 *g,SHA_INT64 *h, int i,SHA_INT64 ki, SHA_INT64 W[80]) { SHA_INT64 t0,t1; t0 = *h + Sigma1(*e) + Ch(*e, *f, *g) + ki + W[i]; t1 = Sigma0(*a); t1 += Maj((*a), (*b), (*c)); *d += t0; *h = t0 + t1; } #endif ... for (i = 16; i < 80; ++i) { W[i] = Gamma1(W[i - 2]); W[i] += W[i - 7]; W[i] += Gamma0(W[i - 15]); W[i] += W[i - 16]; }