mirror of https://github.com/CGAL/cgal
59 lines
2.5 KiB
TeX
59 lines
2.5 KiB
TeX
\section{Overview - TODO - OPEN Questions for Release 3.3}
|
|
|
|
\subsection{Overview}
|
|
{\em this section is for the reviewer and to be removed for the release. }
|
|
|
|
We introduced four traits classes and related concepts, for more details see
|
|
section \ref{caf_ref::classified_refernce_pages}
|
|
\begin{itemize}
|
|
\item \ccc{Algebraic_structure_traits} reflects the algebraic concepts of a
|
|
type. e.g. \ccc{Field}, \ccc{EuclideanRing}
|
|
\item \ccc{Real_embeddable_traits} is use for number types that are embedded on
|
|
the real axis.
|
|
\item \ccc{Coercion_traits}, reflects interoperability of types.
|
|
\item \ccc{Fraction_traits}, more general than \ccc{Rational_traits}.
|
|
\end{itemize}
|
|
|
|
Number types, polynomials and linear algebra are not part of this package.
|
|
|
|
\subsection{Changes}
|
|
\begin{itemize}
|
|
\item added concept \ccc{FromDoubleConstructible}
|
|
\item \ccc{FromSmallIntConstructible} -> \ccc{FromIntConstructible}
|
|
\item rm IsFinite from \ccc{RealEmbeddable} concept
|
|
function \ccc{CGAL::is_finite} for float, double, long double
|
|
\item Moved Max/Min/Is\_valid/Boolean\_tag.. to STL-extension
|
|
\item mv \ccc{AdaptableUnaryFunction} and \ccc{AdaptableBinaryFunction}
|
|
to STL-extension
|
|
\item \ccc{Coercion_traits} replaces \ccc{Binary_operator_result}
|
|
\item \ccc{Algebraic_structure_traits} replaces \ccc{Number_type_traits}
|
|
\item \ccc{Fraction_traits} should be used instead of \ccc{Rational_traits}\\
|
|
\ccc{Rational_traits} is kept for backward compatibility.
|
|
\item gcd(0,0)=0, in particular gcd(x,0) is allowed now and is the unit normal
|
|
of x. For more details see \ccc{AlgebraicStructureTraits::Gcd}. \\
|
|
\end{itemize}
|
|
|
|
TODO:
|
|
\begin{itemize}
|
|
\item add a new entry in the globally maintained Bib file.
|
|
\end{itemize}
|
|
|
|
Keep in mind:
|
|
\begin{itemize}
|
|
\item Should we add Ipower? motivation see introduction of Square.
|
|
\item generic interoperable operators via Coercion Traits
|
|
\item may add arithmetic functors as Add, Sub to Algebraic Structure Traits
|
|
\item may add more fundamental concepts, such as Abelian Group.
|
|
\item The second operator of \ccc{AlgebraicStructureTraits::RootOf} is not
|
|
part of the concept, since the difference in the interface of the
|
|
according function provided by the two possible models \ccc{leda::real}
|
|
and \ccc{CORE::Expr} is to large.
|
|
\item can we do better for \ccc{mpz_class}, \ccc{mpq_class }
|
|
\item ToDoubleInterval etc.
|
|
\item what about namespace of leda types ?
|
|
\ccc{leda_integer} vs. \ccc{leda::integer}
|
|
\item We had a quick look at \ccc{Nef_polynomial}. \\
|
|
is it \ccc{RealEmbeddable}?
|
|
\end{itemize}
|
|
|