proposal for Solve_2 (with a question left in footnote)

This commit is contained in:
Monique Teillaud 2007-08-08 12:33:30 +00:00
parent df7c6842b3
commit aa1f0714e5
3 changed files with 20 additions and 13 deletions

View File

@ -2,7 +2,8 @@
\ccDefinition \ccDefinition
\ccc{AdaptableFunction} that computes the real roots of a univariate polynomial. \ccc{AdaptableFunction} that computes the real roots of a univariate
polynomial.
\ccCreationVariable{fo} \ccCreationVariable{fo}
@ -13,15 +14,17 @@ A model of this type must provide:
operator()(const AlgebraicKernel_d_1::Polynomial_1 &p, operator()(const AlgebraicKernel_d_1::Polynomial_1 &p,
OutputIterator res, bool known_to_be_square_free=false);} OutputIterator res, bool known_to_be_square_free=false);}
{Copies in the output iterator the roots of \ccc{p} as objects of type {Copies in the output iterator the roots of \ccc{p} as objects of type
\ccc{Algebraic_real_1}. The boolean indicates whether \ccc{p} is known \ccc{AlgebraicKernel_d_1::Algebraic_real_1}. The boolean indicates
to be square free or if this information is not known.} whether \ccc{p} is known to be square free or if this information is
not known.}
\ccMethod{template < class OutputIteratorRoots, class OutputIteratorMult > \ccMethod{template < class OutputIteratorRoots, class OutputIteratorMult >
std::pair< OutputIteratorRoots, OutputIteratorMult > std::pair< OutputIteratorRoots, OutputIteratorMult >
operator()(const AlgebraicKernel_d_1::Polynomial_1 &p, operator()(const AlgebraicKernel_d_1::Polynomial_1 &p,
OutputIteratorRoots roots, OutputIteratorMult mult);} OutputIteratorRoots roots, OutputIteratorMult mult);}
{Copies in the output iterator \ccc{roots} the roots of \ccc{p} as {Copies in the output iterator \ccc{roots} the roots of \ccc{p} as
\ccc{Algebraic_real_1}s and copies in the output iterator \ccc{mult} \ccc{AlgebraicKernel_d_1::Algebraic_real_1}s and copies in the output
their respective multiplicity as \ccc{int}s, in the same order.} iterator \ccc{mult} their respective multiplicity as \ccc{int}s, in
the same order.}
\end{ccRefConcept} \end{ccRefConcept}

View File

@ -2,15 +2,20 @@
\ccDefinition \ccDefinition
\footnote{Remark: It should be similar to Solve\_1 as we discussed at the CGAL
Dev Meeting.}
\ccCreationVariable{fo} \ccCreationVariable{fo}
A model \ccVar\ of this type must provide: A model \ccVar\ of this type must provide:
\ccMethod{template < class OutputIteratorRoots, class OutputIteratorMult >
std::pair< OutputIteratorRoots, OutputIteratorMult >
\footnote{TBD, I am getting tired... what about the case of 1-dimensional components? a choice must be made} operator()(const AlgebraicKernel_d_2::Polynomial_2 & p1,
const AlgebraicKernel_d_2::Polynomial_2 & p2,
OutputIteratorRoots roots, OutputIteratorMult mult);}
{Copies in the output iterator \ccc{roots} the common roots of $p_1$
and $p_2$ as \ccc{AlgebraicKernel_d_2::Algebraic_real_2}s and copies
in the output iterator \ccc{mult} their respective multiplicity as
\ccc{int}s, in the same order.
\ccPrecond{The set of solutions of the system is a 0-dimensional.}}
\footnote{what if it is not 0-dimensional??}
\end{ccRefConcept} \end{ccRefConcept}

View File

@ -3,8 +3,7 @@
\subsection{open} \subsection{open}
\begin{itemize} \begin{itemize}
\item Missing Doc for IsSquareFree\_2, IsCoprime\_2, MakeSquareFree\_2, \item Missing Doc for IsSquareFree\_2, IsCoprime\_2, MakeSquareFree\_2
MakeCoprime\_2, Solve\_2
\item Move methods from AlgebraicReal\_2 to a traits class. \item Move methods from AlgebraicReal\_2 to a traits class.
\item AlgebraicReal\_2 - Add GetX() and GetY() functors. \item AlgebraicReal\_2 - Add GetX() and GetY() functors.
\end{itemize} \end{itemize}