Gröbner basis project
Codebase for research into Gröbner basis computation
system_constants.hpp
1
#ifndef __CONSTANTS_HPP_
2
#define __CONSTANTS_HPP_
3
4
/*****************************************************************************\
5
* This file is part of DynGB. *
6
* *
7
* DynGB is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 2 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* Foobar is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with DynGB. If not, see <http://www.gnu.org/licenses/>. *
19
\*****************************************************************************/
20
23
#include <cstdint>
24
#include <gmpxx.h>
25
26
// for coefficients
27
28
#define COEF_TYPE int64_t
29
#define UCOEF_TYPE uint64_t
30
#define MPQCOEF_TYPE mpq_class
31
#define MPZCOEF_TYPE mpz_class
32
33
// for monomials
34
#define EXP_TYPE uint32_t
35
#define NVAR_TYPE uint64_t
36
37
// size of a degree
38
#define DEG_TYPE uint64_t
39
40
// entries in a ray
41
#define RAYENT_TYPE uint64_t
42
43
// entries in a constraint
44
#define CONSTR_TYPE int32_t
45
46
// size of dot product
47
#define DOTPROD_TYPE int64_t
48
49
// entries in a weighted monomial ordering -- needs to be the same as RAY_TYPE
50
#define WT_TYPE RAYENT_TYPE
51
52
#endif
system_constants.hpp
Generated by
1.8.13