void fpe_short_coeffred(fpe_t rop) { mydouble carry11 = round(rop->v[11]/bn_v); rop->v[11] = remround(rop->v[11],bn_v); rop->v[0] = rop->v[0] - carry11; rop->v[3] = rop->v[3] - carry11; rop->v[6] = rop->v[6] - 4*carry11; rop->v[9] = rop->v[9] - carry11; mydouble carry0 = round(rop->v[0]/bn_v6); mydouble carry1 = round(rop->v[1]/bn_v); mydouble carry2 = round(rop->v[2]/bn_v); mydouble carry3 = round(rop->v[3]/bn_v); mydouble carry4 = round(rop->v[4]/bn_v); mydouble carry5 = round(rop->v[5]/bn_v); mydouble carry6 = round(rop->v[6]/bn_v6); mydouble carry7 = round(rop->v[7]/bn_v); mydouble carry8 = round(rop->v[8]/bn_v); mydouble carry9 = round(rop->v[9]/bn_v); mydouble carry10 = round(rop->v[10]/bn_v); rop->v[0] = remround(rop->v[0],bn_v6); rop->v[1] = remround(rop->v[1],bn_v); rop->v[2] = remround(rop->v[2],bn_v); rop->v[3] = remround(rop->v[3],bn_v); rop->v[4] = remround(rop->v[4],bn_v); rop->v[5] = remround(rop->v[5],bn_v); rop->v[6] = remround(rop->v[6],bn_v6); rop->v[7] = remround(rop->v[7],bn_v); rop->v[8] = remround(rop->v[8],bn_v); rop->v[9] = remround(rop->v[9],bn_v); rop->v[10] = remround(rop->v[10],bn_v); rop->v[1] += carry0; rop->v[2] += carry1; rop->v[3] += carry2; rop->v[4] += carry3; rop->v[5] += carry4; rop->v[6] += carry5; rop->v[7] += carry6; rop->v[8] += carry7; rop->v[9] += carry8; rop->v[10] += carry9; rop->v[11] += carry10; }
void fp2e_short_coeffred_c(fp2e_t rop) { mydouble carry11 = round(rop->v[22] / bn_v); mydouble carry11b = round(rop->v[23] / bn_v); rop->v[22] = remround(rop->v[22], bn_v); rop->v[23] = remround(rop->v[23], bn_v); rop->v[0] = rop->v[0] - carry11; rop->v[1] = rop->v[1] - carry11b; rop->v[6] = rop->v[6] - carry11; rop->v[7] = rop->v[7] - carry11b; rop->v[12] = rop->v[12] - 4 * carry11; rop->v[13] = rop->v[13] - 4 * carry11b; rop->v[18] = rop->v[18] - carry11; rop->v[19] = rop->v[19] - carry11b; mydouble carry1 = round(rop->v[2] / bn_v); mydouble carry1b = round(rop->v[3] / bn_v); rop->v[2] = remround(rop->v[2], bn_v); rop->v[3] = remround(rop->v[3], bn_v); rop->v[4] += carry1; rop->v[5] += carry1b; mydouble carry3 = round(rop->v[6] / bn_v); mydouble carry3b = round(rop->v[7] / bn_v); rop->v[6] = remround(rop->v[6], bn_v); rop->v[7] = remround(rop->v[7], bn_v); rop->v[8] += carry3; rop->v[9] += carry3b; mydouble carry5 = round(rop->v[10] / bn_v); mydouble carry5b = round(rop->v[11] / bn_v); rop->v[10] = remround(rop->v[10], bn_v); rop->v[11] = remround(rop->v[11], bn_v); rop->v[12] += carry5; rop->v[13] += carry5b; mydouble carry7 = round(rop->v[14] / bn_v); mydouble carry7b = round(rop->v[15] / bn_v); rop->v[14] = remround(rop->v[14], bn_v); rop->v[15] = remround(rop->v[15], bn_v); rop->v[16] += carry7; rop->v[17] += carry7b; mydouble carry9 = round(rop->v[18] / bn_v); mydouble carry9b = round(rop->v[19] / bn_v); rop->v[18] = remround(rop->v[18], bn_v); rop->v[19] = remround(rop->v[19], bn_v); rop->v[20] += carry9; rop->v[21] += carry9b; mydouble carry0 = round(rop->v[0] / bn_v6); mydouble carry0b = round(rop->v[1] / bn_v6); rop->v[0] = remround(rop->v[0], bn_v6); rop->v[1] = remround(rop->v[1], bn_v6); rop->v[2] += carry0; rop->v[3] += carry0b; mydouble carry2 = round(rop->v[4] / bn_v); mydouble carry2b = round(rop->v[5] / bn_v); rop->v[4] = remround(rop->v[4], bn_v); rop->v[5] = remround(rop->v[5], bn_v); rop->v[6] += carry2; rop->v[7] += carry2b; mydouble carry4 = round(rop->v[8] / bn_v); mydouble carry4b = round(rop->v[9] / bn_v); rop->v[8] = remround(rop->v[8], bn_v); rop->v[9] = remround(rop->v[9], bn_v); rop->v[10] += carry4; rop->v[11] += carry4b; mydouble carry6 = round(rop->v[12] / bn_v6); mydouble carry6b = round(rop->v[13] / bn_v6); rop->v[12] = remround(rop->v[12], bn_v6); rop->v[13] = remround(rop->v[13], bn_v6); rop->v[14] += carry6; rop->v[15] += carry6b; mydouble carry8 = round(rop->v[16] / bn_v); mydouble carry8b = round(rop->v[17] / bn_v); rop->v[16] = remround(rop->v[16], bn_v); rop->v[17] = remround(rop->v[17], bn_v); rop->v[18] += carry8; rop->v[19] += carry8b; mydouble carry10 = round(rop->v[20] / bn_v); mydouble carry10b = round(rop->v[21] / bn_v); rop->v[20] = remround(rop->v[20], bn_v); rop->v[21] = remround(rop->v[21], bn_v); rop->v[22] += carry10; rop->v[23] += carry10b; }