15 #if __FLINT_RELEASE >= 20500
25 int convFlintISingI (fmpz_t
f)
32 void convSingIFlintI(fmpz_t
f,
int p)
39 void convFlintNSingN (mpz_t z, fmpz_t
f)
45 void convSingNFlintN(fmpz_t
f, mpz_t z)
58 fmpz_mat_init(
M, r, c);
61 fmpz_mat_init(Transf,
T->rows(),
T->rows());
71 convSingNFlintN(dummy,n);
73 fmpz_set(fmpz_mat_entry(
M,
i-1,
j-1), dummy);
79 for(
i=
T->rows();
i>0;
i--)
81 for(
j=
T->rows();
j>0;
j--)
84 convSingNFlintN(dummy,n);
86 fmpz_set(fmpz_mat_entry(Transf,
i-1,
j-1), dummy);
92 fmpz_lll_context_init_default(fl);
94 fmpz_lll(
M, Transf, fl);
96 fmpz_lll(
M,
NULL, fl);
101 convFlintNSingN(n, fmpz_mat_entry(
M,
i-1,
j-1));
109 for(
i=
T->rows();
i>0;
i--)
111 for(
j=
T->cols();
j>0;
j--)
113 convFlintNSingN(n, fmpz_mat_entry(Transf,
i-1,
j-1));
129 fmpz_mat_init(
M, r, c);
131 fmpz_mat_init(Transf, r, r);
139 fmpz_set(fmpz_mat_entry(
M,
i-1,
j-1), dummy);
145 for(
i=
T->rows();
i>0;
i--)
147 for(
j=
T->rows();
j>0;
j--)
150 fmpz_set(fmpz_mat_entry(Transf,
i-1,
j-1), dummy);
156 fmpz_lll_context_init_default(fl);
158 fmpz_lll(
M, Transf, fl);
160 fmpz_lll(
M,
NULL, fl);
170 for(
i=Transf->r;
i>0;
i--)
172 for(
j=Transf->r;
j>0;
j--)
174 IMATELEM(*
T,
i,
j)=convFlintISingI(fmpz_mat_entry(Transf,
i-1,
j-1));