Skip to content

Commit

Permalink
Merge remote-tracking branch 'cgal/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
sloriot committed Nov 8, 2024
2 parents 53c9987 + db4404f commit 0639b48
Show file tree
Hide file tree
Showing 578 changed files with 4,990 additions and 12,588 deletions.
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ Scripts/developer_scripts/check_svn_keywords text eol=lf
Scripts/developer_scripts/create_cgal_test text eol=lf
Scripts/developer_scripts/create_cgal_test_with_cmake text eol=lf
Scripts/developer_scripts/create_internal_release text eol=lf
Scripts/developer_scripts/create_macosx_installer text eol=lf
Scripts/developer_scripts/create_new_release text eol=lf
Scripts/developer_scripts/detect_files_with_mixed_eol_styles text eol=lf
Scripts/developer_scripts/detect_packages_licenses text eol=lf
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
---
name: Issue
about: Use this template for reporting issues with CGAL
title: ''
labels: ''
assignees: ''
---

_Please use the following template to help us solving your issue._

## Issue Details
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -1058,7 +1058,7 @@ cmake_install.cmake
*~
.#*

# MacOS file https://en.wikipedia.org/wiki/.DS_Store
# macOS file https://en.wikipedia.org/wiki/.DS_Store
.DS_Store

# Binaries:
Expand Down
2 changes: 1 addition & 1 deletion AABB_tree/demo/AABB_tree/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ find_package(Qt6 QUIET COMPONENTS Gui OpenGL)

if(CGAL_Qt6_FOUND AND Qt6_FOUND)

add_definitions(-DQT_NO_KEYWORDS)
add_compile_definitions(QT_NO_KEYWORDS)

# Instruct CMake to run moc/ui/rcc automatically when needed.
set(CMAKE_AUTOMOC ON)
Expand Down
2 changes: 1 addition & 1 deletion AABB_tree/include/CGAL/AABB_tree.h
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ namespace CGAL {
traits.intersection(query, singleton_data());
break;
default: // if(size() >= 2)
root_node()->template traversal_with_priority_and_group_traversal(m_primitives, query, traits, m_primitives.size(), 0, group_traversal_bound);
root_node()->traversal_with_priority_and_group_traversal(m_primitives, query, traits, m_primitives.size(), 0, group_traversal_bound);
}
}

Expand Down
2 changes: 1 addition & 1 deletion AABB_tree/include/CGAL/AABB_tree/internal/AABB_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class AABB_node
/**
* @brief General traversal query
* @param query the query
* @param traits the traversal traits that define the traversal behaviour
* @param traits the traversal traits that define the traversal behavior
* @param nb_primitives the number of primitive
*
* General traversal query. The traits class allows using it for the various
Expand Down
44 changes: 5 additions & 39 deletions Algebraic_kernel_d/doc/Algebraic_kernel_d/Algebraic_kernel_d.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace CGAL {
\section Algebraic_kernel_dIntroduction Introduction

Real solving of polynomials is a fundamental problem with a wide application range.
This package is targeted at providing black-box implementations of state-of-the-art
This package provides black-box implementations of
algorithms to determine, compare, and approximate real roots of univariate polynomials
and bivariate polynomial systems. Such a black-box is called an *Algebraic Kernel*.
Since this package is aimed at providing more than one implementation, the interface of
Expand Down Expand Up @@ -283,41 +283,6 @@ is not stored internally in terms of an `Algebraic_real_1` object.
Querying such a representation by calling `Compute_y_2` is a
time-consuming step, and should be avoided for efficiency reasons if possible.

\subsection Algebraic_kernel_dAlgebraicKernelsBasedon Algebraic Kernels Based on RS

The package offers two univariate algebraic kernels that are based on
the library RS \cgalCite{cgal:r-rs}, namely `Algebraic_kernel_rs_gmpz_d_1`
and `Algebraic_kernel_rs_gmpq_d_1`. As the names indicate,
the kernels are based on the library RS \cgalCite{cgal:r-rs} and support univariate
polynomials over `Gmpz` or `Gmpq`, respectively.

In general we encourage to use `Algebraic_kernel_rs_gmpz_d_1`
instead of `Algebraic_kernel_rs_gmpq_d_1`. This is caused by
the fact that the most efficient way to compute operations (such as gcd)
on polynomials with rational coefficients is to use the corresponding
implementation for polynomials with integer coefficients. That is,
the `Algebraic_kernel_rs_gmpq_d_1` is slightly slower due to
overhead caused by the necessary conversions. However, since this may
not always be a major issue, the `Algebraic_kernel_rs_gmpq_d_1`
is provided for convenience.

The core of both kernels is the implementation of the interval Descartes
algorithm \cgalCite{cgal:rz-jcam-04} of the library RS \cgalCite{cgal:r-rs},
which is used to isolate the roots of the polynomial.
The RS library restricts its attention to univariate integer
polynomials and some substantial gain of efficiency can be made by using a kernel
that does not follow the generic programming paradigm, by avoiding
interfaces between layers. Specifically, working with
only one number type allows to optimize some polynomial operations
as well as memory handling. The implementation of these kernels
make heavy use of the \mpfr \cgalCite{cgal:mt-mpfr} and \mpfi \cgalCite{cgal:r-mpfi}
libraries, and of their \cgal interfaces, `Gmpfr` and `Gmpfi`.
The algebraic numbers (roots of the polynomials) are represented
in the two RS kernels by a `Gmpfi` interval and a pointer to
the polynomial of which they are roots. See \cgalCite{cgal:lpt-wea-09}
for more details on the implementation, tests of these kernels,
comparisons with other algebraic kernels and discussions about the
efficiency.

\section Algebraic_kernel_dExamples Examples

Expand Down Expand Up @@ -376,12 +341,13 @@ Michael Hemmer and Michael Kerber, respectively. Notwithstanding, the authors al
contribution of all authors of the \exacus project,
particularly the contribution of Arno Eigenwillig, Sebastian Limbach and Pavel Emeliyanenko.

The two univariate kernels that interface the library RS \cgalCite{cgal:r-rs} were
written by Luis Peñaranda and Sylvain Lazard.
In 2010, two univariate kernels that interface the library RS \cgalCite{cgal:r-rs} were
written by Luis Peñaranda and Sylvain Lazard \cgalCite{cgal:2009-ESA}.
Both models interface the library RS \cgalCite{cgal:r-rs} by Fabrice Rouillier.
The authors want to thank Fabrice Rouillier and Elias Tsigaridas for
strong support and many useful discussions that lead to the integration of RS.
Due to lack of maintenance, these kernels have been removed in 2024.


*/
} /* namespace CGAL */

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ algebraic functionalities on univariate polynomials of general degree \f$ d\f$.
\cgalRefines{CopyConstructible,Assignable}
\cgalHasModelsBegin
\cgalHasModels{CGAL::Algebraic_kernel_rs_gmpz_d_1}
\cgalHasModels{CGAL::Algebraic_kernel_rs_gmpq_d_1}
\cgalHasModels{CGAL::Algebraic_kernel_d_1}
\cgalHasModelsEnd
\sa `AlgebraicKernel_d_2`
Expand Down Expand Up @@ -172,4 +171,3 @@ AlgebraicKernel_d_1::Bound_between_1 bound_between_1_object() const;
/// @}

}; /* end AlgebraicKernel_d_1 */

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ for solving and handling bivariate polynomial systems of general degree \f$ d\f$
\cgalRefines{AlgebraicKernel_d_1,CopyConstructible,Assignable}
\cgalHasModelsBegin
\cgalHasModels{CGAL::Algebraic_kernel_d_2}
\cgalHasModelsEnd
\sa `AlgebraicKernel_d_1`
*/
Expand Down Expand Up @@ -176,4 +181,3 @@ AlgebraicKernel_d_2::Bound_between_x_2 bound_between_x_2_object() const;
/// @}

}; /* end AlgebraicKernel_d_2 */

Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,11 @@
\cgalPkgPicture{Algebraic_kernel_d.png}
\cgalPkgSummaryBegin
\cgalPkgAuthors{Eric Berberich, Michael Hemmer, Michael Kerber, Sylvain Lazard, Luis Peñaranda, and Monique Teillaud}
\cgalPkgDesc{Real solving of polynomials is a fundamental problem with a wide application range. This package is targeted to provide black-box implementations of state-of-the-art algorithms to determine, compare and approximate real roots of univariate polynomials and bivariate polynomial systems. Such a black-box is called an *Algebraic %Kernel*. So far the package only provides models for the univariate kernel. Nevertheless, it already defines concepts for the bivariate kernel, since this settles the interface for upcoming implementations.}
\cgalPkgDesc{Real solving of polynomials is a fundamental problem with a wide application range. This package is targeted to provide black-box implementation algorithms to determine, compare and approximate real roots of univariate polynomials and bivariate polynomial systems. Such a black-box is called an *Algebraic %Kernel*. So far the package only provides models for the univariate kernel. Nevertheless, it already defines concepts for the bivariate kernel, since this settles the interface for upcoming implementations.}
\cgalPkgManuals{Chapter_Algebraic_Kernel,PkgAlgebraicKernelDRef}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
\cgalPkgSince{3.6}
\cgalPkgDependsOn{Some models depend on \ref thirdpartyRS3.}
\cgalPkgBib{cgal:bht-ak}
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
Expand Down Expand Up @@ -100,8 +99,4 @@
- `CGAL::Algebraic_kernel_d_1<Coeff>`
- `CGAL::Algebraic_kernel_d_2<Coeff>`

- `CGAL::Algebraic_kernel_rs_gmpz_d_1`
- `CGAL::Algebraic_kernel_rs_gmpq_d_1`

*/

Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class Bitstream_descartes;


/*
* \brief Thrown whenever a non-specialised virtual member function is called
* \brief Thrown whenever a non-specialized virtual member function is called
*/
class Virtual_method_exception {};

Expand Down Expand Up @@ -128,7 +128,7 @@ class Generic_descartes_rep

/*!
* Constructor computing an interval containing all real roots of \c f,
* and initialising the Bitstream Descartes tree
* and initializing the Bitstream Descartes tree
*/
Generic_descartes_rep(Bitstream_descartes_type type,
Polynomial f,
Expand Down Expand Up @@ -170,7 +170,7 @@ class Generic_descartes_rep

/*!
* Constructor that copies the Bitstream tree given from outside
* and initialising the Bitstream Descartes tree
* and initializing the Bitstream Descartes tree
* The tree must "fit" to the polynomial
*/
Generic_descartes_rep(Bitstream_descartes_type type,
Expand Down Expand Up @@ -367,7 +367,7 @@ class Generic_descartes_rep
/*!
* \brief When does the isolation algorithm terminate?
*
* This method must be specialised by derived classes
* This method must be specialized by derived classes
*/
virtual bool termination_condition() {
throw Virtual_method_exception();
Expand All @@ -378,7 +378,7 @@ class Generic_descartes_rep
* \brief gives an opportunity to process the nodes after
* the subdivision steps are finished
*
* This method must be specialised by derived classes, but can
* This method must be specialized by derived classes, but can
* remain empty in many cases.
*/
virtual void process_nodes() {
Expand All @@ -389,7 +389,7 @@ class Generic_descartes_rep
/*! \brief returns whether the \c i th root is definitely a simple root
* of the isolated polynomial
*
* Must be specialised by derived class
* Must be specialized by derived class
*/
virtual bool is_certainly_simple_root(int) const {
throw Virtual_method_exception();
Expand All @@ -399,7 +399,7 @@ class Generic_descartes_rep
/*! \brief returns whether the \c i th root is definitely a multiple root
* of the isolated polynomial
*
* Must be specialised by derived class
* Must be specialized by derived class
*/
virtual bool is_certainly_multiple_root(int) const {
throw Virtual_method_exception();
Expand Down Expand Up @@ -1082,7 +1082,7 @@ class Vert_line_adapter_descartes_rep
* variant of the Bitstream Descartes method: The Square_free_descartes_tag
* starts the usual Bitstream method for square free integer polynomials.
* With the M_k_descartes tag, it is able to handle one multiple root in
* favourable situations, the Backshear_descartes_tag allows to isolate
* favorable situations, the Backshear_descartes_tag allows to isolate
* even more complicated polynomials, if the multiple roots with even
* multiplicity can be refined from outside. See the corresponding
* constructors for more information.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ class Bitstream_descartes_rndl_tree_rep {
by trying randomly and checking. This randomization means
the same polynomial and same initial interval may give rise
to different intervals each time this class is used.
As indicated in the paper, we favour subdivision ratios
As indicated in the paper, we favor subdivision ratios
with a small denominator. Hence we first try denominator
2 (subdivision at midpoint), then denominator 16, and
only then the "proper" denominator prescribed by theory.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ class Curve_analysis_2 : public ::CGAL::Handle_with_policy< Rep_ > {
* (\c SHEAR_ONLY_AT_IRRATIONAL_STRATEGY)
* is to \c shear the curve
* if a degenerate situation is detected during the analysis,
* except at rational x-coordinates where the curve can be analysed
* except at rational x-coordinates where the curve can be analyzed
* more directly. The analysis
* is then performed in the sheared system, and finally translated back
* into the original system.
Expand Down Expand Up @@ -520,7 +520,7 @@ class Curve_analysis_2 : public ::CGAL::Handle_with_policy< Rep_ > {
void set_event_lines(InputIterator1 event_begin,
InputIterator1 event_end,
InputIterator2 intermediate_begin,
InputIterator2 CGAL_precondition_code(intermediate_end)) const {
InputIterator2 CGAL_assertion_code(intermediate_end)) const {

if(! this->ptr()->event_coordinates) {

Expand Down
Loading

0 comments on commit 0639b48

Please sign in to comment.