diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Div.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Div.tex index b1881d0fb20..e1f3c0e77f6 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Div.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Div.tex @@ -27,7 +27,7 @@ with remainder. second_argument_type y);}{} \ccMethod{template result_type operator()(NT1 x, NT2 y);} - {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} + {This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_DivMod.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_DivMod.tex index b3ff235a170..658082c1cb3 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_DivMod.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_DivMod.tex @@ -106,7 +106,7 @@ The following table illustrates the behavior for integers: \ccMethod{template result_type operator()(NT1 x, NT2 y, third_argument_type q, fourth_argument_type r);} - {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} + {This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Gcd.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Gcd.tex index a271ce70729..2d776d9172c 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Gcd.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Gcd.tex @@ -37,7 +37,7 @@ Thus, $0$ is divided by every element of the Ring, in particular by itself. { returns $gcd(x,y)$. } \ccMethod{template result_type operator()(NT1 x, NT2 y);} - {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} + {This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IntegralDivision.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IntegralDivision.tex index 7417616d863..8556d40c565 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IntegralDivision.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IntegralDivision.tex @@ -34,7 +34,7 @@ $z$ is uniquely defined if it exists. \ccMethod{template result_type operator()(NT1 x, NT2 y);} - {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} + {This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Mod.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Mod.tex index 79be7d5bfb1..49202999924 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Mod.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Mod.tex @@ -26,7 +26,7 @@ second_argument_type y);}{} \ccMethod{template result_type operator()(NT1 x, NT2 y);} - {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} + {This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex index 05c15866e8b..a47c5d62fa9 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex @@ -27,7 +27,7 @@ \ccMethod{template result_type operator()(NT1 x, NT2 y);}{ - This operator is well defined if \ccc{NT1} and \ccc{NT2} are + This operator is defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{RealEmbeddableTraits::Type}. } diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex index 0293b6eb16d..821c4461eef 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex @@ -4,6 +4,9 @@ \ccc{AdaptableUnaryFunction} computes a double approximation of a real embeddable number. + +Remark: In order to control the quality of approximation one has to resort +to methods that are specific to NT. There are no general guarantees whatsoever. \ccRefines diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/abs.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/abs.tex index ad239bddefc..f01f3aed767 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/abs.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/abs.tex @@ -4,7 +4,7 @@ The template function \ccRefName\ returns the absolute value of a number. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/compare.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/compare.tex index c718673db56..5cedf78483c 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/compare.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/compare.tex @@ -8,7 +8,7 @@ the second, i.e. it returns \ccc{CGAL::LARGER} if $x$ is larger then $y$. In case the argument types \ccc{NT1} and \ccc{NT2} differ, \ccRefName\ is performed with the semantic of the type determined via \ccc{Coercion_traits}. -The function is guaranteed to be well defined in case this type +The function is defined if this type is a model of the \ccc{RealEmbeddable} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div.tex index d9322d63c95..c160498b413 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div.tex @@ -11,7 +11,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2} are a model of \ccc{ExplicitInteroperable}. \\ The actual \ccRefName\ is performed with the semantic of that type. -The function is guaranteed to be well defined in case \ccc{result_type} +The function is defined if \ccc{result_type} is a model of the \ccc{EuclideanRing} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div_mod.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div_mod.tex index 1ccf391e49e..86709e41926 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div_mod.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/div_mod.tex @@ -11,7 +11,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2} are a model of \ccc{ExplicitInteroperable}. \\ The actual \ccRefName\ is performed with the semantic of that type. -The function is guaranteed to be well defined in case \ccc{result_type} +The function is defined if \ccc{result_type} is a model of the \ccc{EuclideanRing} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/gcd.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/gcd.tex index a9442fd17bf..eccee3741fa 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/gcd.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/gcd.tex @@ -10,7 +10,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2} are a model of \ccc{ExplicitInteroperable}. \\ The actual \ccRefName\ is performed with the semantic of that type. -The function is guaranteed to be well defined in case \ccc{result_type} +The function is defined if \ccc{result_type} is a model of the \ccc{UniqueFactorizationDomain} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/integral_division.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/integral_division.tex index 860a153d6db..61875a94888 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/integral_division.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/integral_division.tex @@ -14,7 +14,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2} are a model of \ccc{ExplicitInteroperable}. \\ The actual \ccRefName\ is performed with the semantic of that type. -The function is guaranteed to be well defined in case \ccc{result_type} +The function is defined if \ccc{result_type} is a model of the \ccc{IntegralDomain} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex index cf233c2abd6..ba69261decb 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex @@ -4,7 +4,7 @@ The function \ccRefName\ returns the inverse element with respect to multiplication. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{Field} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_negative.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_negative.tex index 048c4e21061..abbd0c22230 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_negative.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_negative.tex @@ -3,7 +3,7 @@ \ccDefinition The template function \ccRefName\ determines if a value is negative or not. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_one.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_one.tex index 26229886445..611cb423714 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_one.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_one.tex @@ -3,7 +3,7 @@ \ccDefinition The function \ccRefName\ determines if a value is equal to 1 or not.\\ -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{IntegralDomainWithoutDivision} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_positive.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_positive.tex index 21e175caaf8..06e0a66d42e 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_positive.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_positive.tex @@ -3,7 +3,7 @@ \ccDefinition The template function \ccRefName\ determines if a value is positive or not. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_zero.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_zero.tex index e770859ad42..07c845422db 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_zero.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/is_zero.tex @@ -3,7 +3,7 @@ \ccDefinition The function \ccRefName\ determines if a value is equal to 0 or not.\\ -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} or of the \ccc{IntegralDomainWithoutDivision} concept. diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/kth_root.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/kth_root.tex index 671332d80fd..b31d7e559c8 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/kth_root.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/kth_root.tex @@ -4,7 +4,7 @@ The function \ccRefName\ returns the k-th root of a value. -The function is guaranteed to be well defined in case the second argument type +The function is defined if the second argument type is a model of the \ccc{FieldWithKthRoot} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/mod.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/mod.tex index 7896ecdd825..15487173a0c 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/mod.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/mod.tex @@ -10,7 +10,7 @@ Thus, the \ccc{result_type} is well defined if \ccc{NT1} and \ccc{NT2} are a model of \ccc{ExplicitInteroperable}. \\ The actual \ccRefName\ is performed with the semantic of that type. -The function is guaranteed to be well defined in case \ccc{result_type} +The function is defined if \ccc{result_type} is a model of the \ccc{EuclideanRing} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex index ca52c9f4c42..07fb85f56ee 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex @@ -5,7 +5,7 @@ The function \ccRefName\ computes a real root of a square-free univariate polynomial. -The function is guaranteed to be well defined in case the value type, \ccc{NT}, +The function is defined if the value type, \ccc{NT}, of the iterator range is a model of the \ccc{FieldWithRootOf} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sign.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sign.tex index 9099a636061..5822797857f 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sign.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sign.tex @@ -4,7 +4,7 @@ The template function \ccRefName\ returns the sign of a number. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/simplify.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/simplify.tex index 4934ecf757b..75be1c00e7f 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/simplify.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/simplify.tex @@ -4,7 +4,7 @@ The function \ccRefName\ may simplify a given object. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{IntegralDomainWithoutDivision} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sqrt.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sqrt.tex index d7a43c9410e..835db295f7d 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sqrt.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/sqrt.tex @@ -4,7 +4,7 @@ The function \ccRefName\ returns the square root of a value. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{FieldWithSqrt} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/square.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/square.tex index 3419d6554ef..6df8a7fa9fc 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/square.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/square.tex @@ -3,7 +3,7 @@ \ccDefinition The function \ccRefName\ returns the square of a number.\\ -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{IntegralDomainWithoutDivision} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_double.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_double.tex index a6a9a2f072b..d87337ee350 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_double.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_double.tex @@ -3,9 +3,11 @@ \ccDefinition The template function \ccRefName\ returns an double approximation of a number. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. +Remark: In order to control the quality of approximation one has to resort to methods that are specific to NT. There are no general guarantees whatsoever. + \ccInclude{CGAL/number_utils.h} \ccFunction{template double to_double(const NT& x);} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_interval.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_interval.tex index ee1475a548a..ed7f79984bf 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_interval.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/to_interval.tex @@ -5,7 +5,7 @@ The template function \ccRefName\ computes for a given real embeddable number $x$ a double interval containing $x$. This interval is represented by a \ccc{std::pair}. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{RealEmbeddable} concept. \ccInclude{CGAL/number_utils.h} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/unit_part.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/unit_part.tex index 6aac3063ab1..8fec3558ee4 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/unit_part.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/unit_part.tex @@ -5,7 +5,7 @@ The function \ccRefName\ computes the unit part of a given ring element. -The function is guaranteed to be well defined in case the argument type +The function is defined if the argument type is a model of the \ccc{IntegralDomainWithoutDivision} concept. \ccInclude{CGAL/number_utils.h}