// Copyright (c) 2006-2008 Max-Planck-Institute Saarbruecken (Germany). // All rights reserved. // // This file is part of CGAL (www.cgal.org) // // $URL: https://github.com/CGAL/cgal/blob/v5.1/Number_types/include/CGAL/Sqrt_extension.h $ // $Id: Sqrt_extension.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Michael Hemmer // Ron Wein #ifndef CGAL_SQRT_EXTENSION_H #define CGAL_SQRT_EXTENSION_H // COMMENTS FROM EXACUS /*! \ingroup NiX_Sqrt_extension \brief represents an extension of a number type by one square root. An instance of this class represents an extension of the type NT by a square root of the type ROOT. In case NT and ROOT do not coincide, NT must be constructible from ROOT. The number type NT must be at least a model of the IntegralDomainWithoutDiv concept. An Sqrt_extension is a model of RealComparable if NT is RealComparable.\n The algebraic type of NiX::Sqrt_extension depends on the algebraic type of NT: - IntegralDomainWithoutDiv -> IntegralDomainWithoutDiv - IntegralDomain -> IntegralDomain - UFDomain -> IntegralDomain - EuclideanRing -> IntegralDomain - Field -> Field - FieldWithSqrt -> Field (not recommended) Note that NT and ROOT can themselves be an instance of NiX::Sqrt_extension, yielding a nested extension.\n Note that the extension of an UFDomain or EuclideanRing is just an IntegralDomain, since the extension in general destroys the unique factorization property. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif // CGAL_SQRT_EXTENSION_H // EOF