00001 /* 00002 * groebner_defs.h 00003 * PolyBoRi 00004 * 00005 * Created by Michael Brickenstein on 19.04.06. 00006 * Copyright 2006 The PolyBoRi Team. See LICENSE file. 00007 * 00008 */ 00009 00010 #include <polybori.h> 00011 #include <boost/integer.hpp> 00012 #ifndef PBORI_GB_DEFS_H 00013 #define PBORI_GB_DEFS_H 00014 #ifndef PBORI_NO_NAMESPACES 00015 #define BEGIN_NAMESPACE_PBORIGB namespace PBORINAME { namespace groebner{ 00016 #define END_NAMESPACE_PBORIGB }} // end of namespace 00017 #define USING_NAMESPACE_PBORIGB using namespace PBORINAME::groebner; 00018 #else 00019 #endif 00020 00021 // algorithmic variants 00022 #define EXP_FOR_PAIRS 00023 00024 BEGIN_NAMESPACE_PBORIGB 00025 00026 class GBTypes{ 00027 typedef polybori::BoolePolynomial poly_type; 00028 typedef polybori::BooleMonomial monom_type; 00029 }; 00030 typedef polybori::BoolePolynomial Polynomial; 00031 typedef polybori::BooleMonomial Monomial; 00032 typedef polybori::BooleVariable Variable; 00033 typedef polybori::BooleExponent Exponent; 00034 typedef std::vector<Polynomial> PolynomialVector; 00035 00036 #ifdef PBORI_HAVE_LONG_LONG 00037 typedef long long wlen_type; 00038 #else 00039 typedef long wlen_type; 00040 #endif 00041 typedef long len_type; 00042 typedef int deg_type; 00043 00044 typedef polybori::CTypes::idx_type idx_type; 00045 typedef polybori::BooleSet MonomialSet; 00046 END_NAMESPACE_PBORIGB 00047 00048 #endif