#include "fmpz_mod_mpoly_factor.h"
void _fmpz_mod_mpoly_get_lead0(
fmpz_mod_mpoly_t c,
const fmpz_mod_mpoly_t A,
const fmpz_mod_mpoly_ctx_t ctx)
{
fmpz_mod_mpolyl_lead_coeff(c, A, 1, ctx);
}
void _fmpz_mod_mpoly_set_lead0(
fmpz_mod_mpoly_t A,
const fmpz_mod_mpoly_t B,
const fmpz_mod_mpoly_t c,
const fmpz_mod_mpoly_ctx_t ctx)
{
slong deg;
fmpz_mod_mpoly_t t, g;
fmpz_mod_mpoly_init(t, ctx);
fmpz_mod_mpoly_init(g, ctx);
deg = fmpz_mod_mpoly_degree_si(B, 0, ctx);
FLINT_ASSERT(deg >= 0);
fmpz_mod_mpoly_gen(g, 0, ctx);
fmpz_mod_mpoly_pow_ui(g, g, deg, ctx);
_fmpz_mod_mpoly_get_lead0(t, B, ctx);
fmpz_mod_mpoly_sub(t, c, t, ctx);
fmpz_mod_mpoly_mul(t, t, g, ctx);
fmpz_mod_mpoly_add(A, B, t, ctx);
fmpz_mod_mpoly_clear(t, ctx);
fmpz_mod_mpoly_clear(g, ctx);
}