Lines Matching refs:mmm
97 mp_err s_mp_redc(mp_int *T, mp_mont_modulus *mmm)
102 i = MP_USED(T) + MP_USED(&mmm->N) + 2;
104 for (i = 0; i < MP_USED(&mmm->N); ++i ) {
105 mp_digit m_i = MP_DIGIT(T, i) * mmm->n0prime;
107 MP_CHECKOK( s_mp_mul_d_add_offset(&mmm->N, m_i, T, i) );
112 s_mp_div_2d(T, mmm->b);
114 if ((res = s_mp_cmp(T, &mmm->N)) >= 0) {
116 MP_CHECKOK( s_mp_sub(T, &mmm->N) );
118 if ((res = mp_cmp(T, &mmm->N)) >= 0) {
131 mp_mont_modulus *mmm)
148 ib = MP_USED(a) + MP_MAX(MP_USED(b), MP_USED(&mmm->N)) + 2;
156 m_i = MP_DIGIT(c, 0) * mmm->n0prime;
157 s_mp_mul_d_add_offset(&mmm->N, m_i, c, 0);
167 m_i = MP_DIGIT(c, ib) * mmm->n0prime;
168 s_mp_mul_d_add_offset(&mmm->N, m_i, c, ib);
170 if (usedb < MP_USED(&mmm->N)) {
171 for (usedb = MP_USED(&mmm->N); ib < usedb; ++ib ) {
172 m_i = MP_DIGIT(c, ib) * mmm->n0prime;
173 s_mp_mul_d_add_offset(&mmm->N, m_i, c, ib);
177 s_mp_div_2d(c, mmm->b);
178 if (s_mp_cmp(c, &mmm->N) >= 0) {
179 MP_CHECKOK( s_mp_sub(c, &mmm->N) );