rm IsFinte from concept RealEmbeddable

CGAL::is_finite is documented for float/double/long double
This commit is contained in:
Michael Hemmer 2007-02-15 09:21:25 +00:00
parent e24b2096d6
commit b5d08bdbb6
9 changed files with 65 additions and 57 deletions

View File

@ -68,6 +68,8 @@ In case a functor is not provided, it is set to \ccc{CGAL::Null_functor}.
\ccNestedType{Is_zero}{
A model of \ccc{AlgebraicStructureTraits::IsZero}.\\
Required by the concept \ccc{IntegralDomainWithoutDivision}.
In case \ccc{Type} is also model of \ccc{RealEmbeddable} this is a
model of \ccc{RealEmbeddableTraits::IsZero}.
}
\ccNestedType{Is_one}{

View File

@ -17,7 +17,7 @@
\ccOperations
\ccThree{xxxxxxxxxxx}{xxxxxxxxxxx}{}
\ccCreationVariable{sqrt}
\ccMethod{result_type operator()(argument_type x);}
\ccMethod{result_type operator()(argument_type x) const;}
{ returns $\sqrt{x}$. }
%\ccHasModels

View File

@ -6,20 +6,19 @@ A model of this concepts represents numbers that are embeddable on the real
axis. The type obeys the algebraic structure and compares two values according
to the total order of the real numbers.
Moreover, \ccc{CGAL::Real_embeddable_traits< RealEmebddable >} is a model of
Moreover, \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >} is a model of
\ccc{AlgebraicStructureTraits}\\
with:\\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Is_real_embeddable} set to \ccc{Tag_true} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Is_real_embeddable} set to \ccc{Tag_true} \\
and functors :\\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Is_zero} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Abs} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Sign} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Is_positive} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Is_negative} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Compare} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::To_double} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::To_interval} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmebddable >::Is_finite} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Is_zero} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Abs} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Sign} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Is_positive} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Is_negative} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::Compare} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::To_double} \\
- \ccc{CGAL::Real_embeddable_traits< RealEmbeddable >::To_interval} \\
Remark:\\
If a number type is a model of both IntegralDomainWithoutDivision and

View File

@ -21,7 +21,10 @@ A model of \ccc{RealEmbeddableTraits} is supposed to provide:\\
In case the associated type is \ccc{RealEmbeddable} all functors are provided.\\
In case a functor is not provided, it is set to \ccc{CGAL::Null_functor}.
\ccNestedType{Is_zero}{ A model of \ccc{RealEmbeddableTraits::IsZero} }
\ccNestedType{Is_zero}{
A model of \ccc{RealEmbeddableTraits::IsZero}
In case \ccc{Type} is also model of \ccc{IntegralDomainWithoutDivision}
this is a model of \ccc{AlgebraicStructureTraits::IsZero}.}
\ccNestedType{Abs}{ A model of \ccc{RealEmbeddableTraits::Abs} }
\ccNestedType{Sign}{ A model of \ccc{RealEmbeddableTraits::Sign} }
\ccNestedType{Is_positive}{ A model of \ccc{RealEmbeddableTraits::IsPositive} }
@ -29,7 +32,7 @@ In case a functor is not provided, it is set to \ccc{CGAL::Null_functor}.
\ccNestedType{Compare}{ A model of \ccc{RealEmbeddableTraits::Compare} }
\ccNestedType{To_double}{ A model of \ccc{RealEmbeddableTraits::ToDouble} }
\ccNestedType{To_interval}{ A model of \ccc{RealEmbeddableTraits::ToInterval} }
\ccNestedType{Is_finite}{ A model of \ccc{RealEmbeddableTraits::IsFinite} }
%\ccNestedType{Is_finite}{ A model of \ccc{RealEmbeddableTraits::IsFinite} }
%\ccHasModels

View File

@ -6,11 +6,12 @@
\input{Algebraic_foundations_ref/open.tex}
\section{Classified Reference Pages
\label{caf_ref::classified_refernce_pages} }
\section{Classified Reference Pages}
\label{caf_ref::classified_refernce_pages}
\subsection*{Basics}
\label{caf_ref::basics}
\subsection*{Basics
\label{caf_ref::basics}}
\subsubsection*{Basic Concepts}
\ccRefConceptPage{AdaptableUnaryFunction}\\
\ccRefConceptPage{AdaptableBinaryFunction}\\
@ -37,11 +38,11 @@
\ccRefIdfierPage{CGAL::Coercion_traits<A,B>}\\
\subsection*{Algebraic Structure Hierarchy
\label{caf_ref::algebraic_structure_hierarchy} }
\subsection*{Algebraic Structures}
\label{caf_ref::algebraic_structures}
\subsubsection*{Algebraic Structure Concepts}
\label{af:algebraic_structure_concepts}
\ccRefConceptPage{IntegralDomainWithoutDivision}\\
\ccRefConceptPage{IntegralDomain}\\
\ccRefConceptPage{UniqueFactorizationDomain}\\
@ -97,8 +98,8 @@
\ccRefIdfierPage{CGAL::kth_root}\\
\ccRefIdfierPage{CGAL::root_of}\\
\subsection*{Real Embeddable Concept
\label{caf_ref::real_embeddable_concept} }
\subsection*{Real Embeddable Concept}
\label{caf_ref::real_embeddable_concept}
\subsubsection{Concept RealEmbeddable}
\ccRefConceptPage{RealEmbeddable}\\
@ -113,7 +114,7 @@
\ccRefConceptPage{RealEmbeddableTraits::Compare}\\
\ccRefConceptPage{RealEmbeddableTraits::ToDouble}\\
\ccRefConceptPage{RealEmbeddableTraits::ToInterval}\\
\ccRefConceptPage{RealEmbeddableTraits::IsFinite}\\
%\ccRefConceptPage{RealEmbeddableTraits::IsFinite}\\
%\begin{ccAdvanced}
%\ccRefConceptPage{RealEmbeddableTraits::ToDoubleInterval}\\
%\end{ccAdvanced}
@ -131,7 +132,7 @@
\ccRefIdfierPage{CGAL::compare}\\
\ccRefIdfierPage{CGAL::to_double}\\
\ccRefIdfierPage{CGAL::to_interval}\\
\ccRefIdfierPage{CGAL::is_finite}\\
%\ccRefIdfierPage{CGAL::is_finite}\\
\subsection{Fractions}
\ccRefConceptPage{Fraction}\\

View File

@ -63,7 +63,7 @@
\input{Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToInterval.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsFinite.tex}
%\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsFinite.tex}
%\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToDoubleInterval.tex}
%include classes
@ -101,7 +101,7 @@
\input{Algebraic_foundations_ref/compare.tex}
\input{Algebraic_foundations_ref/to_double.tex}
\input{Algebraic_foundations_ref/to_interval.tex}
\input{Algebraic_foundations_ref/is_finite.tex}
%\input{Algebraic_foundations_ref/is_finite.tex}
%FractionTraits
\input{Algebraic_foundations_ref/Fraction.tex}

View File

@ -1,4 +1,4 @@
\section{Overview - TODO - OPEN Questions}
\section{Overview - TODO - OPEN Questions for Release 3.3}
\subsection{Overview}
@ -18,27 +18,6 @@ types, in particular polynomials, that are valid algebraic structures,
but should not be considered as a number type.\\
Note that Polynomials are not part of this package.
\subsubsection{for Release 3.3}
TODO:
\begin{itemize}
\item find a place for basic stuff. see section remarks
\item what about old concepts and functors that we keep for back ward
compatibility, do we need a documentation for them ? \\
they can be found in {\tt Algebraic\_foundations\_ref/Deprecated}
\item add links in \ccc{IsZero}s
\item 'built-in' types -> 'fundamental' types
\item add a new entry in the globally maintained Bib file.
\item there is a problem with io stream operators for CORE types \\
This may also be related to the problem that gmpxx.h must be included
befor CORE types.
\item document \ccc{Boolean_tag}, rm function \ccc{check_tag}?.
\item document rounding mode for Div/Mod.
\item revise doc of NTs
\item No proper documentation of \ccc{Root_of_2} and related traits class
and functions.
\end{itemize}
DONE:
\begin{itemize}
@ -53,26 +32,49 @@ DONE:
typedef \ccc{Tag_true}, \ccc{Tag_false}.
\item added concept \ccc{FromDoubleConstructible}
\item rm support for io mode: BENCHMARK
\item added \ccc{Boolean_tag}, rm doc of function \ccc{check_tag}.
\item added AST tag \ccc{is\_exact}
\item added AST tag \ccc{is\_numerical\_sensitive}
\item rm IsFinite from \ccc{RealEmeddable} concept
function \ccc{CGAL::is_finite} for float, double, long double
\end{itemize}
CONJECTURE:
TODO:
\begin{itemize}
\item rm \ccc{IsFinite} from Real Embeddable (after merge)
\item keep name \ccc{IntegralDomainWithoutDivision} and \ccc{IntegralDomain}.
\item consider \ccc{Interval_nt} as exact
\item find a place for basic stuff. Max/Min/Is\_valid/Boolean\_tag..
basic concepts...
\item what about old concepts and functors that we keep for back ward
compatibility, do we need a documentation for them ? \\
they can be found in {\tt Algebraic\_foundations\_ref/Deprecated}
\item 'built-in' types -> 'fundamental' types
\item add a new entry in the globally maintained Bib file.
\item there is a problem with io stream operators for CORE types \\
This may also be related to the problem that gmpxx.h must be included
before CORE types.
\item document rounding mode for Div/Mod.
\item revise doc of NTs
\item extra review of \ccc{Sqrt_extension}
\item extra review of \ccc{Root_of_2}
\end{itemize}
Remarks:
\begin{itemize}
\item keep name \ccc{IntegralDomainWithoutDivision} and \ccc{IntegralDomain}.
\item consider \ccc{Interval_nt} as not exact
\item io support: keep \ccc{Output_rep}
\end{itemize}
OPEN:
\begin{itemize}
\item \ccc{mpf_class} is not supported yet. why not? is it possbible?
\item \ccc{mpf_class} is not supported yet. why not? is it possible?
\item split \ccc{MP_float} into two types.
\item What about the Small in \ccc{FromSmallIntConstructible}?
\item Should we add Ipower? motivation see introduction of Square.
\item rm \ccc{Output_rep} etc. ?
\item Should we add Ipower? motivation see introduction of Square.
\end{itemize}
\subsubsection{planed: for Release 3.5}
\subsubsection{planed: for Release 3.4}
\begin{itemize}
\item \ccc{Modular_traits} for concept \ccc{Modularizable}\\
new package \ccc{Modular_arithmetic}?
@ -85,6 +87,7 @@ OPEN:
Keep in mind:
\begin{itemize}
\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.