| 2172 | } |
| 2173 | |
| 2174 | Integer ModularArithmetic::Subtract(const Integer &a, const Integer &b) const |
| 2175 | { |
| 2176 | if (a.reg.size==modulus.reg.size && b.reg.size==modulus.reg.size) |
| 2177 | { |
| 2178 | if (::Subtract(result.reg.ptr, a.reg, b.reg, a.reg.size)) |
| 2179 | ::Add(result.reg.ptr, result.reg, modulus.reg, a.reg.size); |
| 2180 | return result; |
| 2181 | } |
| 2182 | else |
| 2183 | return Add(a, Inverse(b)); |
| 2184 | } |
| 2185 | |
| 2186 | Integer& ModularArithmetic::Reduce(Integer &a, const Integer &b) const |
| 2187 | { |
nothing calls this directly
no test coverage detected