# ModularDistinctDegreeFactorizer U¶

ddFact(f, p) computes a distinct degree factorization of the polynomial f modulo the prime p, i.e. such that each factor is a product of irreducibles of the same degrees. The input polynomial f is assumed to be square-free modulo p.
gcd(f1, f2, p) computes the gcd of the univariate polynomials f1 and f2 modulo the integer prime p.
separateFactors(ddl, p) refines the distinct degree factorization produced by ddFact to give a complete list of factors.