"""Advanced tools for sparse polynomials in `K[x]` or `K[X]`. """

def smp_clear_denoms(f, u, ord, K, convert=False):
    pass

def smp_lift(f, u, ord, K):
    pass

def smp_eval_in(f, a, j, u, ord, K):
    pass

def smp_half_gcdex(f, g, ord, K):
    pass

def smp_gcdex(f, g, u, ord, K):
    pass

def smp_invert(f, g, u, ord, K):
    pass

def smp_resultant(f, g, u, ord, K):
    pass

def smp_discriminant(f, u, ord, K):
    pass

def smp_cofactors(f, g, u, ord, K):
    pass

def smp_gcd(f, g, u, ord, K):
    pass

def smp_lcm(f, g, u, ord, K):
    pass

def smp_ground_trunc(f, p, u, ord, K):
    pass

def smp_ground_monic(f, u, ord, K):
    pass

def smp_ground_content(f, u, ord, K):
    pass

def smp_ground_primitive(f, u, ord, K):
    pass

def smp_compose(f, g, u, ord, K):
    pass

def smp_decompose(f, u, ord, K):
    pass

def smp_sturm(f, u, ord, K):
    pass

def smp_sqf_norm(f, u, ord, K):
    pass

def smp_sqf_part(f, u, ord, K):
    pass

def smp_sqf_list(f, u, ord, K, all=False):
    pass

def smp_sqf_list_include(f, u, ord, K, all=False):
    pass

def smp_factor_list(f, u, ord, K):
    pass

def smp_factor_list_include(f, u, ord, K):
    pass

def smp_real_intervals(f, u, ord, K, eps, inf, sup, fast):
    pass

def smp_complex_intervals(f, u, ord, K, eps, inf, sup, fast):
    pass

def smp_refine_real_root(f, s, t, u, ord, K, eps, steps, fast):
    pass

def smp_refine_complex_root(f, s, t, u, ord, K, eps, steps, fast):
    pass

def smp_count_real_roots(f, u, ord, K, inf, sup):
    pass

def smp_count_complex_roots(f, u, ord, K, inf, sup):
    pass

def smp_zero_p(f, u):
    pass

def smp_one_p(f, u, K):
    pass

def smp_ground_p(f, u):
    pass

def smp_sqf_p(f, u, ord, K):
    pass

def smp_monic_p(f, u, ord, K):
    pass

def smp_primitive_p(f, u, ord, K):
    pass

def smp_linear_p(f, u, ord, K):
    pass

def smp_homogeneous_p(f, u, ord, K):
    pass
