mirror of https://github.com/CGAL/cgal
take CORE into account in Boost mp's arithmetic kernel
This commit is contained in:
parent
a56d1a5f4f
commit
e82ae363b3
|
|
@ -19,6 +19,9 @@
|
||||||
|
|
||||||
#ifdef CGAL_USE_BOOST_MP
|
#ifdef CGAL_USE_BOOST_MP
|
||||||
|
|
||||||
|
// already protected by CGAL_USE_CORE macro
|
||||||
|
#include <CGAL/CORE_arithmetic_kernel.h>
|
||||||
|
|
||||||
//Currently already included in boost_mp.h
|
//Currently already included in boost_mp.h
|
||||||
//#include <boost/multiprecision/cpp_int.hpp>
|
//#include <boost/multiprecision/cpp_int.hpp>
|
||||||
//#ifdef CGAL_USE_GMP
|
//#ifdef CGAL_USE_GMP
|
||||||
|
|
@ -26,20 +29,29 @@
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
// FIXME: the could be several kernels based on Boost.Multiprecision.
|
// FIXME: the could be several kernels based on Boost.Multiprecision.
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
/** \ingroup CGAL_Arithmetic_kernel
|
/** \ingroup CGAL_Arithmetic_kernel
|
||||||
* \brief The Boost.Multiprecision set of exact number types
|
* \brief The Boost.Multiprecision set of exact number types
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(CGAL_USE_CORE) || defined(CGAL_CORE_USE_GMP_BACKEND)
|
||||||
struct BOOST_cpp_arithmetic_kernel : internal::Arithmetic_kernel_base {
|
struct BOOST_cpp_arithmetic_kernel : internal::Arithmetic_kernel_base {
|
||||||
typedef boost::multiprecision::cpp_int Integer;
|
typedef boost::multiprecision::cpp_int Integer;
|
||||||
typedef boost::multiprecision::cpp_rational Rational;
|
typedef boost::multiprecision::cpp_rational Rational;
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
typedef CORE_arithmetic_kernel BOOST_cpp_arithmetic_kernel;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CGAL_USE_GMP
|
#ifdef CGAL_USE_GMP
|
||||||
|
#if !defined(CGAL_USE_CORE) || !defined(CGAL_CORE_USE_GMP_BACKEND)
|
||||||
struct BOOST_gmp_arithmetic_kernel : internal::Arithmetic_kernel_base {
|
struct BOOST_gmp_arithmetic_kernel : internal::Arithmetic_kernel_base {
|
||||||
typedef boost::multiprecision::mpz_int Integer;
|
typedef boost::multiprecision::mpz_int Integer;
|
||||||
typedef boost::multiprecision::mpq_rational Rational;
|
typedef boost::multiprecision::mpq_rational Rational;
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
typedef CORE_arithmetic_kernel BOOST_gmp_arithmetic_kernel;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template <class T1, class T2, class T3, class T4, class T5>
|
template <class T1, class T2, class T3, class T4, class T5>
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
#ifndef _CORE_BIGINT_H_
|
#ifndef _CORE_BIGINT_H_
|
||||||
#define _CORE_BIGINT_H_
|
#define _CORE_BIGINT_H_
|
||||||
|
|
||||||
#include <CGAL/boost_mp.h>
|
#include <CGAL/boost_mp_type.h>
|
||||||
#include <CGAL/CORE/Gmp.h>
|
#include <CGAL/CORE/Gmp.h>
|
||||||
#include <CGAL/CORE/RefCount.h>
|
#include <CGAL/CORE/RefCount.h>
|
||||||
#include <CGAL/CORE/MemoryPool.h>
|
#include <CGAL/CORE/MemoryPool.h>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue