added PT::IsSquareFree and CGAL::is_square_free

This commit is contained in:
Michael Hemmer 2009-06-23 13:51:26 +00:00
parent 7e83de43ba
commit 0c03354117
7 changed files with 63 additions and 0 deletions

1
.gitattributes vendored
View File

@ -3028,6 +3028,7 @@ Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_DegreeVector.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetCoefficient.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetInnermostCoefficient.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_InnermostLeadingCoefficient.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IsSquareFree.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IsZeroAt.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IsZeroAtHomogeneous.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_MonomialRepresentation.tex -text

View File

@ -0,0 +1,36 @@
\begin{ccRefConcept}{PolynomialTraits_d::IsSquareFree}
\ccDefinition
This \ccc{AdaptableBinaryFunction} computes whether the given
a polynomial of type \ccc{PolynomialTraits_d::Polynomial_d}
is square free.
Note that this statement does cover constant factors,
i.e., whether the multivariate content contains a square
\ccRefines
\ccc{AdaptableUnaryFunction}
\ccTypes
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
\ccCreationVariable{fo}
\ccTypedef{typedef bool result_type;}{}\ccGlue
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d argument_type;}{}
\ccOperations
\ccMethod{result_type operator()(argument_type p);}
{ Returns whether the $p$ is square free. }
%\ccHasModels
\ccSeeAlso
\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\
\ccRefIdfierPage{PolynomialTraits_d::SquareFreeFactorize}\\
\ccRefIdfierPage{PolynomialTraits_d::MakeSquareFree}\\
\ccRefIdfierPage{PolynomialTraits_d::MultivariateContent}\\
\end{ccRefConcept}

View File

@ -35,5 +35,7 @@ which is computed by this functor.
\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\
\ccRefIdfierPage{PolynomialTraits_d::Canonicalize}\\
\ccRefIdfierPage{PolynomialTraits_d::SquareFreeFactorize}\\
\ccRefIdfierPage{PolynomialTraits_d::IsSquareFree}\\
\end{ccRefConcept}

View File

@ -51,5 +51,6 @@ OutputIterator operator()(PolynomialTraits_d::Polynomial_d p,
\ccRefIdfierPage{PolynomialTraits_d}\\
\ccRefIdfierPage{PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor}\\
\ccRefIdfierPage{PolynomialTraits_d::MakeSquareFree}\\
\ccRefIdfierPage{PolynomialTraits_d::IsSquareFree}\\
\end{ccRefConcept}

View File

@ -59,6 +59,7 @@
\ccRefConceptPage{PolynomialTraits_d::SquareFreeFactorize}\\
\ccRefConceptPage{PolynomialTraits_d::MakeSquareFree}\\
\ccRefConceptPage{PolynomialTraits_d::IsSquareFree}\\
\ccRefConceptPage{PolynomialTraits_d::PseudoDivision}\\
\ccRefConceptPage{PolynomialTraits_d::PseudoDivisionQuotient}\\

View File

@ -49,6 +49,7 @@
\input{Polynomial_ref/PolynomialTraits_d_SquareFreeFactorize.tex}
\input{Polynomial_ref/PolynomialTraits_d_MakeSquareFree.tex}
\input{Polynomial_ref/PolynomialTraits_d_IsSquareFree.tex}
\input{Polynomial_ref/PolynomialTraits_d_PseudoDivision.tex}
\input{Polynomial_ref/PolynomialTraits_d_PseudoDivisionQuotient.tex}

View File

@ -470,6 +470,7 @@ Adapts \ccc{Polynomial_traits_d<Polynomial_d>::Square_free_factorize}.
\ccRefConceptPage{PolynomialTraits_d}\\
\ccRefConceptPage{PolynomialTraits_d::SquareFreeFactorize}\\
\end{ccRefFunction}
% MakeSquareFree
\begin{ccRefFunction}{make_square_free}
\ccDefinition
@ -490,6 +491,26 @@ Adapts \ccc{Polynomial_traits_d<Polynomial_d>::Make_square_free}.
\ccRefConceptPage{PolynomialTraits_d::MakeSquareFree}\\
\end{ccRefFunction}
% IsSquareFree
\begin{ccRefFunction}{is_square_free}
\ccDefinition
For a given \ccc{Polynomial_d} the function \ccRefName\ adapts the
according functor in \ccc{Polynomial_traits_d<Polynomial_d>}. \\ \\
For more details see the concept \ccc{PolynomialTraits_d::IsSquareFree}. \\ \\
\ccInclude{CGAL/polynomial_utils.h}
\ccFunction{
template <class Polynomial_d>
Polynomial_traits_d<Polynomial_d>::Is_square_free::result_type
is_square_free(const Polynomial_d& p);
}{
Adapts \ccc{Polynomial_traits_d<Polynomial_d>::Is_square_free}.
}
\ccSeeAlso
\ccRefConceptPage{Polynomial_d}\\
\ccRefConceptPage{PolynomialTraits_d}\\
\ccRefConceptPage{PolynomialTraits_d::IsSquareFree}\\
\end{ccRefFunction}
% PseudoDivision
\begin{ccRefFunction}{pseudo_division}
\ccDefinition