| 3877 | } |
| 3878 | |
| 3879 | Integer CRT(const Integer &xp, const Integer &p, const Integer &xq, |
| 3880 | const Integer &q, const Integer &u) |
| 3881 | { |
| 3882 | // isn't operator overloading great? |
| 3883 | return p * (u * (xq-xp) % q) + xp; |
| 3884 | } |
| 3885 | |
| 3886 | |
| 3887 | #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION |