@public
def gff_list(f, *gens, **args):
 options.allowed_flags(args, ['polys'])
 try:
  (F, opt) = poly_from_expr(f, *gens, **args)
 except PolificationFailed as exc:
  raise ComputationFailed('gff_list', 1, exc)
 factors = F.gff_list()
 if (not opt.polys):
  return [(g.as_expr(), k) for (g, k) in factors]
 else:
  return factors

@ public def gff_list ( f , * gens , ** args ) : options . allowed_flags ( args , [ 'polys' ] ) try : ( F , opt ) = poly_from_expr ( f , * gens , ** args ) except PolificationFailed as exc : raise ComputationFailed ( 'gff_list' , 1 , exc ) factors = F . gff_list ( ) if ( not opt . polys ) : return [ ( g . as_expr ( ) , k ) for ( g , k ) in factors ] else : return factors
compute a list of greatest factorial factors of f .