@public
def pquo(f, g, *gens, **args):
 options.allowed_flags(args, ['polys'])
 try:
  ((F, G), opt) = parallel_poly_from_expr((f, g), *gens, **args)
 except PolificationFailed as exc:
  raise ComputationFailed('pquo', 2, exc)
 try:
  q = F.pquo(G)
 except ExactQuotientFailed:
  raise ExactQuotientFailed(f, g)
 if (not opt.polys):
  return q.as_expr()
 else:
  return q

@ public def pquo ( f , g , * gens , ** args ) : options . allowed_flags ( args , [ 'polys' ] ) try : ( ( F , G ) , opt ) = parallel_poly_from_expr ( ( f , g ) , * gens , ** args ) except PolificationFailed as exc : raise ComputationFailed ( 'pquo' , 2 , exc ) try : q = F . pquo ( G ) except ExactQuotientFailed : raise ExactQuotientFailed ( f , g ) if ( not opt . polys ) : return q . as_expr ( ) else : return q
compute polynomial pseudo-quotient of f and g .