CGAL 5.5.1  Polynomial

This Functor
computes a squarefree factorization of a PolynomialTraits_d::Polynomial_d
.
A polynomial \( p\) is factored into squarefree and pairwise coprime nonconstant factors \( g_i\) with multiplicities \( m_i\) and a constant factor \( a\), such that \( p = a \cdot g_1^{m_1} \cdot ... \cdot g_n^{m_n}\).
The pairs \( (g_i,m_i)\) are written into the given output iterator.
This functor is well defined if PolynomialTraits_d::Polynomial_d
is a UniqueFactorizationDomain
.
Operations  
template<class OutputIterator >  
OutputIterator  operator() (PolynomialTraits_d::Polynomial_d p, OutputIterator it, PolynomialTraits_d::Innermost_coefficient_type &a) 
Computes the squarefree factorization of \( p\) and returns the pasttheend iterator of the written range. More...  
template<class OutputIterator >  
OutputIterator  operator() (PolynomialTraits_d::Polynomial_d p, OutputIterator it) 
As the first operator, just not computing the factor \( a\).  
OutputIterator PolynomialTraits_d::SquareFreeFactorize::operator()  (  PolynomialTraits_d::Polynomial_d  p, 
OutputIterator  it,  
PolynomialTraits_d::Innermost_coefficient_type &  a  
) 
Computes the squarefree factorization of \( p\) and returns the pasttheend iterator of the written range.
std::iterator_traits< OutputIterator >::value_type
must be constructible from std::pair<PolynomialTraits_d::Polynomial_d,int>
.