2#ifndef LIBPOLYS_POLYS_FLINT_MPOLY_H
3#define LIBPOLYS_POLYS_FLINT_MPOLY_H
12#include <flint/flint.h>
15#if __FLINT_RELEASE >= 20503
16#include <flint/fmpq.h>
17#include <flint/fmpq_poly.h>
18#include <flint/fmpq_mpoly.h>
20BOOLEAN convSingRFlintR(fmpq_mpoly_ctx_t ctx,
const ring r);
21void convSingPFlintMP(fmpq_mpoly_t
res, fmpq_mpoly_ctx_t ctx, poly
p,
int lp,
const ring r);
22poly convFlintMPSingP(fmpq_mpoly_t
p, fmpq_mpoly_ctx_t ctx,
const ring r);
24BOOLEAN convSingRFlintR(nmod_mpoly_ctx_t ctx,
const ring r);
25void convSingPFlintMP(nmod_mpoly_t
res, nmod_mpoly_ctx_t ctx, poly
p,
int lp,
const ring r);
26poly convFlintMPSingP(nmod_mpoly_t
p, nmod_mpoly_ctx_t ctx,
const ring r);
28BOOLEAN convSingRFlintR(fmpz_mpoly_ctx_t ctx,
const ring r);
29void convSingPFlintMP(fmpz_mpoly_t
res, fmpq_mpoly_ctx_t ctx, poly
p,
int lp,
const ring r);
30poly convFlintMPSingP(fmpz_mpoly_t
p, fmpq_mpoly_ctx_t ctx,
const ring r);
32poly Flint_Mult_MP(poly
p,
int lp,poly q,
int lq,fmpq_mpoly_ctx_t ctx,
const ring r);
33poly Flint_Mult_MP(poly
p,
int lp,poly q,
int lq,nmod_mpoly_ctx_t ctx,
const ring r);
34poly Flint_Mult_MP(poly
p,
int lp,poly q,
int lq,fmpz_mpoly_ctx_t ctx,
const ring r);
35poly Flint_Divide_MP(poly
p,
int lp, poly q,
int lq, fmpq_mpoly_ctx_t ctx,
const ring r);
36poly Flint_Divide_MP(poly
p,
int lp, poly q,
int lq, nmod_mpoly_ctx_t ctx,
const ring r);
37poly Flint_GCD_MP(poly
p,
int lp,poly q,
int lq,fmpq_mpoly_ctx_t ctx,
const ring r);
38poly Flint_GCD_MP(poly
p,
int lp,poly q,
int lq,nmod_mpoly_ctx_t ctx,
const ring r);
39poly Flint_GCD_MP(poly
p,
int lp,poly q,
int lq,fmpz_mpoly_ctx_t ctx,
const ring r);