Added support for Gmp

This commit is contained in:
Efi Fogel 2003-02-27 10:46:38 +00:00
parent b69c3ce161
commit fa666d086f
2 changed files with 84 additions and 59 deletions

View File

@ -38,6 +38,18 @@ ifeq ($(USE_LAZY_QUOTIENT), 1)
LCPPDEFS+= -DUSE_LAZY_QUOTIENT
TARGET0 := $(TARGET0)LazyQuotient
LOBJDIR :=$(LOBJDIR)_lazy_quotient
else
ifeq ($(USE_GMPQ), 1)
LCPPDEFS+= -DUSE_GMPQ
TARGET0 := $(TARGET0)Gmpq
LOBJDIR :=$(LOBJDIR)_gmpq
else
ifeq ($(USE_LAZY_GMPQ), 1)
LCPPDEFS+= -DUSE_LAZY_GMPQ
TARGET0 := $(TARGET0)LazyGmpq
LOBJDIR :=$(LOBJDIR)_lazy_gmpq
endif
endif
endif
endif
endif
@ -82,15 +94,21 @@ cartesian:
leda_kernel:
$(MAKEF) "USE_LEDA_KERNEL=1"
quotient_mp_float:
$(MAKEF) "USE_MP_FLOAT=1"
lazy_rat:
$(MAKEF) "USE_LAZY_RAT=1"
quotient_mp_float:
$(MAKEF) "USE_MP_FLOAT=1"
lazy_quotient_mp_float:
$(MAKEF) "USE_LAZY_QUOTIENT=1"
gmpq:
$(MAKEF) "USE_GMPQ=1"
lazy_gmpq:
$(MAKEF) "USE_LAZY_GMPQ=1"
#
insert_fast:
$(MAKEF) "USE_INSERT_TIGHT=1"
@ -109,26 +127,36 @@ cached_traits:
leda_kernel_cached_traits:
$(MAKEF) "USE_LEDA_KERNEL=1" "USE_CACHED_TRAITS=1"
quotient_mp_float_cached_traits:
$(MAKEF) "USE_MP_FLOAT=1" "USE_CACHED_TRAITS=1"
lazy_rat_cached_traits:
$(MAKEF) "USE_LAZY_RAT=1" "USE_CACHED_TRAITS=1"
quotient_mp_float_cached_traits:
$(MAKEF) "USE_MP_FLOAT=1" "USE_CACHED_TRAITS=1"
lazy_quotient_mp_float_cached_traits:
$(MAKEF) "USE_LAZY_QUOTIENT=1" "USE_CACHED_TRAITS=1"
gmpq_cached_traits:
$(MAKEF) "USE_GMPQ=1" "USE_CACHED_TRAITS=1"
lazy_gmpq_cached_traits:
$(MAKEF) "USE_LAZY_GMPQ=1" "USE_CACHED_TRAITS=1"
all_non_cached: cartesian \
leda_kernel \
quotient_mp_float \
lazy_rat \
lazy_quotient_mp_float
quotient_mp_float \
lazy_quotient_mp_float \
gmpq \
lazy_gmpq
all_cached: cached_traits \
leda_kernel_cached_traits \
quotient_mp_float_cached_traits \
lazy_rat_cached_traits \
lazy_quotient_mp_float_cached_traits
lazy_quotient_mp_float_cached_traits \
gmpq_cached_traits \
lazy_gmpq_cached_traits
# install:
@ -138,15 +166,21 @@ cartesian_inst:
leda_kernel_inst:
$(MAKEF) "USE_LEDA_KERNEL=1" install
quotient_mp_float_inst:
$(MAKEF) "USE_MP_FLOAT=1" install
lazy_rat_inst:
$(MAKEF) "USE_LAZY_RAT=1" install
quotient_mp_float_inst:
$(MAKEF) "USE_MP_FLOAT=1" install
lazy_quotient_mp_float_inst:
$(MAKEF) "USE_LAZY_QUOTIENT=1" install
gmpq_inst:
$(MAKEF) "USE_GMPQ=1" install
lazy_gmpq_inst:
$(MAKEF) "USE_LAZY_GMPQ=1" install
#
insert_fast_inst:
$(MAKEF) "USE_INSERT_TIGHT=1" install
@ -165,23 +199,33 @@ cached_traits_inst:
leda_kernel_cached_traits_inst:
$(MAKEF) "USE_LEDA_KERNEL=1" "USE_CACHED_TRAITS=1" install
quotient_mp_float_cached_traits_inst:
$(MAKEF) "USE_MP_FLOAT=1" "USE_CACHED_TRAITS=1" install
lazy_rat_cached_traits_inst:
$(MAKEF) "USE_LAZY_RAT=1" "USE_CACHED_TRAITS=1" install
quotient_mp_float_cached_traits_inst:
$(MAKEF) "USE_MP_FLOAT=1" "USE_CACHED_TRAITS=1" install
lazy_quotient_mp_float_cached_traits_inst:
$(MAKEF) "USE_LAZY_QUOTIENT=1" "USE_CACHED_TRAITS=1" install
gmpq_cached_traits_inst:
$(MAKEF) "USE_GMPQ=1" "USE_CACHED_TRAITS=1" install
lazy_gmpq_cached_traits_inst:
$(MAKEF) "USE_LAZY_GMPQ=1" "USE_CACHED_TRAITS=1" install
all_non_cached_inst: cartesian_inst \
leda_kernel_inst \
quotient_mp_float_inst \
lazy_rat_inst \
lazy_quotient_mp_float_inst
lazy_quotient_mp_float_inst \
gmpq_inst \
lazy_gmpq_inst
all_cached_inst: cached_traits_inst \
leda_kernel_cached_traits_inst \
quotient_mp_float_cached_traits_inst \
lazy_rat_cached_traits_inst \
lazy_quotient_mp_float_cached_traits_inst
lazy_quotient_mp_float_cached_traits_inst \
gmpq_cached_traits_inst \
lazy_gmpq_cached_traits_inst

View File

@ -9,82 +9,63 @@
#if defined(USE_CONIC_TRAITS)
#include <CGAL/leda_real.h>
#else
#if defined(USE_LEDA_KERNEL)
#elif defined(USE_LEDA_KERNEL)
#include <CGAL/leda_rational.h>
#else
#if defined(USE_MY_KERNEL)
#elif defined(USE_MY_KERNEL)
#include <CGAL/leda_rational.h>
#else
#if defined(USE_LAZY_RAT)
#elif defined(USE_LAZY_RAT)
#include <CGAL/leda_rational.h>
#include <CGAL/Lazy_exact_nt.h>
#else
#if defined(USE_MP_FLOAT)
#elif defined(USE_GMPQ)
#include <CGAL/Gmpq.h>
#elif defined(USE_LAZY_GMPQ)
#include <CGAL/Gmpq.h>
#include <CGAL/Lazy_exact_nt.h>
#elif defined(USE_MP_FLOAT)
#include <CGAL/MP_Float.h>
#include <CGAL/Quotient.h>
#else
#if defined(USE_LAZY_QUOTIENT)
#elif defined(USE_LAZY_QUOTIENT)
#include <CGAL/MP_Float.h>
#include <CGAL/Quotient.h>
#include <CGAL/Lazy_exact_nt.h>
#else
#include <CGAL/leda_rational.h>
#endif
#endif
#endif
#endif
#endif
#endif
#if defined(USE_CONIC_TRAITS)
typedef leda_real NT;
typedef NT WNT;
#define NUMBER_TYPE "Leda Real"
#else
#if defined(USE_LEDA_KERNEL)
#elif defined(USE_LEDA_KERNEL)
typedef leda_rational NT;
#define NUMBER_TYPE "Leda Rat"
#else
#if defined(USE_MY_KERNEL)
#elif defined(USE_MY_KERNEL)
typedef leda_rational NT;
#define NUMBER_TYPE "Leda Rat"
#else
#if defined(USE_LAZY_RAT)
#elif defined(USE_LAZY_RAT)
typedef leda_rational NT;
typedef CGAL::Lazy_exact_nt<NT> WNT;
#define NUMBER_TYPE "Lazy Leda Rat"
#else
#if defined(USE_MP_FLOAT)
#elif defined(USE_GMPQ)
typedef CGAL::Gmpq NT;
typedef NT WNT;
#define NUMBER_TYPE "Gmpq"
#elif defined(USE_LAZY_GMPQ)
typedef CGAL::Gmpq NT;
typedef CGAL::Lazy_exact_nt<NT> WNT;
#define NUMBER_TYPE "Lazy Gmpq"
#elif defined(USE_MP_FLOAT)
typedef CGAL::Quotient<CGAL::MP_Float> NT;
typedef NT WNT;
#define NUMBER_TYPE "Quotient MP Float"
#else
#if defined(USE_LAZY_QUOTIENT)
#elif defined(USE_LAZY_QUOTIENT)
typedef CGAL::Quotient<CGAL::MP_Float> NT;
typedef CGAL::Lazy_exact_nt<NT> WNT;
#define NUMBER_TYPE "Lazy Quotient MP Float"
#else
typedef leda_rational NT;
typedef NT WNT;
#define NUMBER_TYPE "Leda Rat"
#endif
#endif
#endif
#endif
#endif
#endif
#endif