| 2236 | } |
| 2237 | |
| 2238 | MontgomeryRepresentation::MontgomeryRepresentation(const Integer &m) // modulus must be odd |
| 2239 | : ModularArithmetic(m), |
| 2240 | u((word)0, modulus.reg.size), |
| 2241 | workspace(5*modulus.reg.size) |
| 2242 | { |
| 2243 | assert(modulus.IsOdd()); |
| 2244 | RecursiveInverseModPower2(u.reg, workspace, modulus.reg, modulus.reg.size); |
| 2245 | } |
| 2246 | |
| 2247 | Integer MontgomeryRepresentation::Multiply(const Integer &a, const Integer &b) const |
| 2248 | { |
nothing calls this directly
no test coverage detected