mirror of https://github.com/CGAL/cgal
rm IsFinte from concept RealEmbeddable
CGAL::is_finite is documented for float/double/long double
This commit is contained in:
parent
e24b2096d6
commit
b5d08bdbb6
|
|
@ -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}{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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}\\
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue