| 3829 | } |
| 3830 | |
| 3831 | Integer MontgomeryRepresentation::ConvertOut(const Integer &a) const |
| 3832 | { |
| 3833 | word *const T = workspace.begin(); |
| 3834 | word *const R = result.reg_.begin(); |
| 3835 | const unsigned int N = modulus.reg_.size(); |
| 3836 | |
| 3837 | CopyWords(T, a.reg_.get_buffer(), a.reg_.size()); |
| 3838 | SetWords(T+a.reg_.size(), 0, 2*N-a.reg_.size()); |
| 3839 | MontgomeryReduce(R, T+2*N, T, modulus.reg_.get_buffer(), |
| 3840 | u.reg_.get_buffer(), N); |
| 3841 | return result; |
| 3842 | } |
| 3843 | |
| 3844 | const Integer& MontgomeryRepresentation::MultiplicativeInverse( |
| 3845 | const Integer &a) const |
no test coverage detected