Commit Graph

146 Commits

Author SHA1 Message Date
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