2 const mpz_t r1,
const mpz_t m1,
3 const mpz_t r2,
const mpz_t m2)
15 mpz_init_set_si(bez1_1,1);
16 mpz_init_set_si(bez1_2,0);
17 mpz_init_set_si(bez2_1,0);
18 mpz_init_set_si(bez2_2,1);
23 mpz_swap(bez1_1,bez2_1);
24 mpz_swap(bez1_2,bez2_2);
27 for(;mpz_cmp_si(b,1);)
31 mpz_submul(bez1_1,bez2_1,q);
32 mpz_submul(bez1_2,bez2_2,q);
35 mpz_swap(bez1_1,bez2_1);
36 mpz_swap(bez1_2,bez2_2);
38 mpz_mul(tmpres,bez2_2,m2);
39 mpz_mul(tmpres,tmpres,r1);
42 mpz_add(tmpres,tmpres,q);
44 mpz_mod(tmpres,tmpres,q);
72 mpz_init_set_ui(t1,1);
76 while(mpz_cmp(r1,N)>0)
100 if(mpz_cmp_si(t1,0)<0)
108 if((mpz_cmp(t1,N)<0) && (mpz_cmp_si(tmp,1)==0))
118 mpq_set_si(res,-0,1);
int reconstruct(mpq_t res, const mpz_t u, const mpz_t m)
Definition: reconstruct.hpp:58
void swap(X *a, X *b)
Definition: Swap.H:5
MSKstreamtypee MSKint32t MSKint32t MSKint32t MSKint32t MSKint32t MSKint32t MSKint32t MSKint32t MSKint32t a
Definition: mosek.h:3833
void chinese(mpz_t res, const mpz_t r1, const mpz_t m1, const mpz_t r2, const mpz_t m2)
Definition: reconstruct.hpp:1