Commit Graph

212 Commits

Author SHA1 Message Date
Andreas Fabri 3c763fd33a Remove CoreIO_impl.h 2023-02-09 11:54:14 +00:00
Andreas Fabri 7879e2180d Replace constructor by conversion operator 2023-02-08 07:12:34 +00:00
Andreas Fabri 2184d22c52 WIP [scip ci] 2023-02-07 21:18:31 +00:00
Andreas Fabri fb71e3937e Add numerator() and denominator() 2023-02-07 15:42:49 +00:00
Andreas Fabri 12f5892848 merge master 2023-02-06 14:25:03 +00:00
Andreas Fabri d498154b5f Remove #if 0'ed code 2023-02-06 14:02:51 +00:00
Mael 4d22c90474
Merge branch 'master' into feature/bug_documentation_spell_20221113 2023-01-04 10:06:45 +01:00
Laurent Rineau 2f2d73d195 Merge pull request #7100 from afabri/CORE-EOF-GF
CORE: Use istream.eof()
2022-12-14 10:39:50 +01:00
Mael 0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113 2022-12-06 22:21:06 +01:00
Andreas Fabri 8d4aaa945d Use istream.eof() 2022-11-30 11:55:32 +00:00
Mael Rouxel-Labbé b5c21e1f5d Http -> https + update some dead links 2022-11-23 18:54:37 +01:00
albert-github 7a62583efa spelling corrections
Some spelling corrections (Directories starting with `C`)
2022-11-14 19:14:33 +01:00
Sébastien Loriot bf1f7d74be add missing inline 2022-10-27 14:10:09 +02:00
Andreas Fabri d777cd0218 Deal with expressions 2022-10-27 12:17:49 +01:00
Sébastien Loriot 81dc0a4c60 use GMP if boost less than 1.80 2022-10-27 12:06:44 +02:00
Andreas Fabri 1ba311a602 Prefix macro with CORE_ 2022-10-27 10:41:13 +01:00
Sébastien Loriot e82ae363b3 take CORE into account in Boost mp's arithmetic kernel 2022-10-27 11:40:34 +02:00
Andreas Fabri 27ca0dfb03 BigInt and BigRep are no longer real CORE storage 2022-10-27 09:35:47 +01:00
Andreas Fabri e98692d8b8 WIP: Replace CORE::BigInt and BigRat with the boost::mp classes. Just typedef 2022-10-25 15:32:26 +01:00
Andreas Fabri b32d1f0023 Merge branch 'master' into CORE-boost_mp_number-GF 2022-10-21 13:27:48 +01:00
albert-github 81d78f7969 Some obvious missing quotes and typos
Some obvious missing quotes and typos
2022-09-24 18:47:33 +02:00
Sébastien Loriot 32e89c1b91 add assertions 2022-06-02 15:56:08 +02:00
Sébastien Loriot ee0ec71857 add a template version of the constructor 2022-06-02 15:55:57 +02:00
Sebastien Loriot 65b10f226a
fix function
Co-authored-by: Marc Glisse <marc.glisse@inria.fr>
2022-06-01 20:16:45 +02:00
Laurent Rineau 370217ad28 Merge pull request #6131 from lrineau/CGAL_Core-fix_header_only-GF
CGAL Core: Remove explicit instanciations: CGAL is header-only!
2021-11-23 15:39:26 +01:00
Laurent Rineau a8dbdc3b06 Remove explicit instanciations: CGAL is header-only! 2021-11-16 16:46:52 +01:00
Sébastien Loriot 6680a6e6f9 constructing a string from nullptr is undefined behavior 2021-11-09 16:20:48 +01:00
Sébastien Loriot 4ede33059b add a switch for the gmp backend 2021-10-14 15:14:38 +02:00
Andreas Fabri 64a64e1a8a Add a makeCopy() 2021-10-13 23:11:56 +01:00
Andreas Fabri f13e14994c I think we must call abs(); Someone has to check 2021-10-12 15:50:41 +01:00
Andreas Fabri 74040d9d10 msb(BigInt) is only defined for i > 0 2021-10-12 15:49:26 +01:00
Andreas Fabri ef4b0ca154 Add implementations; Fix getBinExpo() for zero 2021-10-12 10:06:23 +01:00
Andreas Fabri a7b0b30028 Add an assert() 2021-10-12 09:17:52 +01:00
Sébastien Loriot ed41c475f4 remove TWS 2021-10-12 09:07:47 +02:00
Sebastien Loriot 112b633ad6
add tmp assertions 2021-10-11 17:16:04 +02:00
Sébastien Loriot e2f38514ce revert changes 2021-10-11 17:14:05 +02:00
Sébastien Loriot b93c2ce96a fixes while doing a review 2021-10-11 17:12:16 +02:00
Sébastien Loriot dc93a3eccd fix include 2021-10-11 15:40:14 +02:00
Andreas Fabri 945ba57bc1 lsb works ony on positive numbers 2021-10-11 14:39:17 +01:00
Andreas Fabri b801aaa8fe Fix getKaryExpo() 2021-10-07 18:26:17 +01:00
Andreas Fabri f5367709ad Use boost::multiprecision::number API (WIP) 2021-10-07 17:29:09 +01:00
Mael Rouxel-Labbé 625848e629 Fix missing ':' in various namespaces 2021-10-04 13:21:47 +02:00
Andreas Fabri a5a3ffb654 Remove unused variable 2021-09-23 17:00:09 +02:00
Andreas Fabri 0f5ef1065a Use std::to_string() instead of sprinf() 2021-09-23 17:00:09 +02:00
Andreas Fabri b6e2656389 Use std::string in CORE_Expr and CORE_Bigfloat 2021-09-23 17:00:03 +02:00
Andreas Fabri 6a2958bdd7
Update BigFloat_impl.h 2021-09-15 11:36:35 +02:00
Laurent Rineau 59a0da4f13 Merge pull request #5692 from maxGimeno/CGAL_cpp11_atomic_and_threads-maxGimeno
CGAL:: Use std atomic and threads

# Conflicts:
#	Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h
2021-05-19 17:23:53 +02:00
Maxime Gimeno 3e03d50b8a replace usages of CGAL::cpp11::atomic and thread by std:: calls 2021-05-07 11:10:30 +02:00
Maxime Gimeno e9b7595fff Deprecate CGAL headers for threads, atomic and result_of, and move their content to config.h as fallback 2021-05-07 11:09:24 +02:00
Ahmed Essam 12fd01defd Fix eating extra whitespace in CORE::BigRat 2020-09-21 08:54:29 +02:00
Ahmed Essam 6d949cd14f Fix bug with self intersecting bezier curves 2020-08-08 17:29:55 +02:00
Laurent Rineau 10e99cb400 Untabify: I wrote init_CORE() in MS devenv 2020-07-22 09:51:07 +02:00
Laurent Rineau 642078f65d Missing #include <CGAL/use.h> 2020-07-22 09:47:43 +02:00
Laurent Rineau 8a7d3fa21e CGAL_Core no longer needs Boost.Thread 2020-07-21 17:32:30 +02:00
Laurent Rineau bd172e5aa4 Call init_CORE() before any thread_local CORE static variables
The reason is actually simple:
  - `ExprRep::approx` may have to create a `Real` variable of a `double`,
  - that variable needs `MemoryPool<RealDouble>`.

If, for example, `Expr::getZero()` is called first, then the static
variable representing that zero is created first, and will be
destroyed last.

But if, during the computation, CORE needs to call `approx` on that
zero, then the `MemoryPool<RealDouble>` is created. At the end of the
program execution, at the destruction of static variables, the static
variable for `MemoryPool<RealDouble>` is destroyed. The static
variable of `Expr::getZero()` is destroyed last. ... But, as its
`approx` function was called, the destructor of that variable may need
`MemoryPool<RealDouble>` to call `free`, but that pool has already
been destroyed!

The function `init_CORE()`, if called *before* any thread-local local
static variable is created, ensured that `MemoryPool<RealDouble>` is
created first, and then destroyed last during the execution of the
program (or thread).
2020-07-21 17:15:45 +02:00
Sébastien Loriot 6c94c1501e Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-05-05 14:40:55 +02:00
Sébastien Loriot 0ebe5350db fix interval
Fix suggested by Stefan Schirra following recommendation in Stefan Funke's Diplomarbeit
2020-04-30 11:12:12 +02:00
Maxime Gimeno 627a7b29be Fix warnings 2020-04-27 17:20:50 +02:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Sébastien Loriot 26fb266410 Remove license notice in CORE headers
also fix some SPDX tags
2019-10-19 16:28:33 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Laurent Rineau d3b9d89596 Merge pull request #4013 from lrineau/CGAL_Core-no_need_for_Boost.Thread-GF
Remove the need for Boost.Thread (but for CGAL_Core and gcc<9.1)
2019-07-10 14:22:53 +02:00
Laurent Rineau c0ba28f80a Merge branch 'releases/CGAL-4.14-branch' 2019-07-03 11:18:20 +02:00
Laurent Rineau e79bfd5d03 Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-07-03 11:10:03 +02:00
Laurent Rineau dca6b5c19e Strange patch that fixes the remaining bugs
https://github.com/CGAL/cgal/pull/4013#issuecomment-507291311

Because of two constructions in Algebraic_curve_kernel_2 and
Hyperbolic_octagon_translation, the assertion "!blocks.empty()" from
`<CGAL/CORE/MemoryPool.h>` was triggered during the destruction of
thread-local objects.

This strange patch ensures that the order of creation of thread-local
object is right, so the order of destruction is right as well.
2019-07-02 10:53:09 +02:00
Laurent Rineau 9eed06477d Use the function-local thread_local memPool, but for gcc<9.1 2019-06-26 15:52:39 +02:00
Laurent Rineau aa0a9c848d Remove 'using namespace std' from namespaces 2019-06-26 15:16:36 +02:00
Laurent Rineau 2ce7800239 Unfortunately gcc < 9.1 has bug with thread_local that impact CGAL 2019-06-24 14:27:20 +02:00
Laurent Rineau e260ea1dd4 C++11: remove the need for Boost.Thread, even with CGAL_Core 2019-06-18 15:06:23 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Laurent Rineau 8e872081fc Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau
Mesh_3 `Protect_edges_sizing_field`: handle the `stop` Boolean

# Conflicts:
#	.travis/build_package.sh
#	Installation/cmake/modules/CGALConfig_binary.cmake.in
#	Installation/cmake/modules/CGALConfig_install.cmake.in
#	Installation/cmake/modules/CGAL_SetupCGAL_CoreDependencies.cmake
#	Installation/lib/cmake/CGAL/CGALConfig.cmake
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h
#	Polyhedron/demo/Polyhedron/Plugins/Classification/CMakeLists.txt
#	Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt
2019-05-14 16:18:24 +02:00
Laurent Rineau 870ff45168 Merge pull request #3886 from lrineau/CGAL-Adapt_to_Boost_1.70-GF
Adapt to Boost 1.70
2019-05-07 15:48:03 +02:00
Laurent Rineau aebb058b58 Merge pull request #3886 from lrineau/CGAL-Adapt_to_Boost_1.70-GF
Adapt to Boost 1.70
2019-05-07 15:45:00 +02:00
Laurent Rineau 5e65027d46 I did not know clang defines __GNUC__
The patch now uses `BOOST_GCC`, to avoid including clang in the
conditional.
2019-04-29 09:52:14 +02:00
Sébastien Loriot 5bac189dc3 remove cpp11 workaround for CORE 2019-03-29 10:41:50 +01:00
Andreas Fabri f1e1b57fa4 Remove call of setprecision() as it has no effect 2019-01-31 19:00:14 +01:00
Sébastien Loriot cbe02d40e7 rename ilogb macro 2018-11-06 10:59:54 +01:00
Laurent Rineau 2d7dcb0c39 Merge pull request #3166 from sloriot/Core-bigfloat_from_ui
Add missing constructor for unsigned int
2018-06-14 17:36:49 +02:00
Sébastien Loriot 7511b3e1b2 add missing constructor for unsigned int 2018-06-12 12:59:51 +02:00
Sébastien Loriot ef09d971e2 undo unwanted change in 777d305 2018-06-11 22:09:37 +02:00
Andreas Fabri 777d3057d9 Undef the macros at the end, as they are not identical (one has an EXPORT) 2018-05-23 11:48:58 +02:00
Andreas Fabri b33ab791e1 Disable a warning. Fix an allocator call 2018-05-15 15:37:51 +02:00
Laurent Rineau 78e7060525 Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
Andreas Fabri d38fea5ffe Add missing #include 2018-02-12 09:44:10 +00:00
Andreas Fabri abe933a684 Address the warning concerning SCL_SECURE for VC++ 2018-02-09 15:00:14 +00:00
Andreas Fabri c9728abdee build CORE lib without warnings 2018-02-01 10:52:44 +00:00
Andreas Fabri 6cc385c6ec Number_types 2018-01-17 15:47:18 +00:00
Andreas Fabri cbf3a16471 libs compile without warning 2018-01-17 15:02:32 +00:00
Laurent Rineau 3c6640bf59 Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
Renewal of CMake scripts: header-only, ctest, CMake>=3.1

# Conflicts:
#	Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +01:00
Laurent Rineau 26fe3df693 Try to fix link errors on Windows 2017-11-29 11:22:30 +01:00
Laurent Rineau bfc654c929 Change the exports of CGAL_Core, to fix a link error 2017-11-28 17:59:18 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot 6b568a8f62 add SPDX identifiers for Core 2017-11-12 10:21:35 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau 8dfa4f4dc8 Fix link error of demo/Polyhedron, in Debug and CGAL_HEADER_ONLY 2017-07-27 17:28:21 +02:00
Andreas Fabri cc3c4c93ba CGAL_Core: make it less verbose to fix #1915 2017-04-03 12:36:43 +02:00
Laurent Rineau 6d79ebdaf8 Merge pull request #1916 from sloriot/Core-bug_fix_large_MSB
Fix Expr computation when a Node in the tree has a large MSB bound
2017-02-21 17:50:21 +01:00