My Project
cf_defs.h
Go to the documentation of this file.
1 /* emacs edit mode for this file is -*- C++ -*- */
2 
3 /**
4  * @file cf_defs.h
5  *
6  * factory switches.
7 **/
8 
9 #ifndef INCL_CF_DEFS_H
10 #define INCL_CF_DEFS_H
11 
12 #include "globaldefs.h"
13 // #include "config.h"
14 
15 /*BEGINPUBLIC*/
16 
17 #define LEVELBASE -1000000
18 #define LEVELTRANS -500000
19 #define LEVELQUOT 1000000
20 #define LEVELEXPR 1000001
21 
22 #define UndefinedDomain 32000
23 #define PrimePowerDomain 5
24 #define GaloisFieldDomain 4
25 #define FiniteFieldDomain 3
26 #define RationalDomain 2
27 #define IntegerDomain 1
28 
29 /// set to 1 for computations over Q
30 static const int SW_RATIONAL = 0;
31 /// set to 1 for symmetric representation over F_q
32 static const int SW_SYMMETRIC_FF = 1;
33 /// set to 1 to use EZGCD over Z
34 static const int SW_USE_EZGCD = 2;
35 /// set to 1 to use EZGCD over F_q
36 static const int SW_USE_EZGCD_P = 3;
37 /// set to 1 to sort factors in a factorization
38 static const int SW_USE_NTL_SORT=4;
39 /// set to 1 to use modular gcd over Z
40 static const int SW_USE_CHINREM_GCD=5;
41 /// set to 1 to use Encarnacion GCD over Q(a)
42 static const int SW_USE_QGCD=6;
43 /// set to 1 to use modular GCD over F_q
44 static const int SW_USE_FF_MOD_GCD=7;
45 /// set to 1 to use Flints gcd over F_p
46 static const int SW_USE_FL_GCD_P=8;
47 /// set to 1 to use Flints gcd over Q/Z
48 static const int SW_USE_FL_GCD_0=9;
49 /// set to 1 to use Factorys Berlekamp alg.
50 static const int SW_BERLEKAMP=10;
51 
52 static const int SW_FAC_QUADRATICLIFT=11;
53 /// set to 1 to prefer flints multivariate factorization over Z/p
54 static const int SW_USE_FL_FAC_P=12;
55 /// set to 1 to prefer flints multivariate factorization over Z/p
56 static const int SW_USE_FL_FAC_0=13;
57 /// set to 1 to prefer flints multivariate factorization over Z/p(a)
58 static const int SW_USE_FL_FAC_0A=14;
59 /*ENDPUBLIC*/
60 
61 #ifdef HAVE_OMALLOC
62 #include "omalloc/omalloc.h"
63 #define NEW_ARRAY(T,N) (T*)omAlloc((N)*sizeof(T))
64 #define DELETE_ARRAY(P) omFree(P)
65 #else
66 #define NEW_ARRAY(T,N) new T[N]
67 #define DELETE_ARRAY(P) delete[] P
68 #endif
69 #endif /* ! INCL_CF_DEFS_H */
static const int SW_USE_QGCD
set to 1 to use Encarnacion GCD over Q(a)
Definition: cf_defs.h:42
static const int SW_USE_CHINREM_GCD
set to 1 to use modular gcd over Z
Definition: cf_defs.h:40
static const int SW_USE_FL_GCD_P
set to 1 to use Flints gcd over F_p
Definition: cf_defs.h:46
static const int SW_USE_EZGCD_P
set to 1 to use EZGCD over F_q
Definition: cf_defs.h:36
static const int SW_RATIONAL
set to 1 for computations over Q
Definition: cf_defs.h:30
static const int SW_USE_NTL_SORT
set to 1 to sort factors in a factorization
Definition: cf_defs.h:38
static const int SW_USE_FL_FAC_0
set to 1 to prefer flints multivariate factorization over Z/p
Definition: cf_defs.h:56
static const int SW_USE_FF_MOD_GCD
set to 1 to use modular GCD over F_q
Definition: cf_defs.h:44
static const int SW_USE_EZGCD
set to 1 to use EZGCD over Z
Definition: cf_defs.h:34
static const int SW_SYMMETRIC_FF
set to 1 for symmetric representation over F_q
Definition: cf_defs.h:32
static const int SW_FAC_QUADRATICLIFT
Definition: cf_defs.h:52
static const int SW_USE_FL_GCD_0
set to 1 to use Flints gcd over Q/Z
Definition: cf_defs.h:48
static const int SW_USE_FL_FAC_0A
set to 1 to prefer flints multivariate factorization over Z/p(a)
Definition: cf_defs.h:58
static const int SW_USE_FL_FAC_P
set to 1 to prefer flints multivariate factorization over Z/p
Definition: cf_defs.h:54
static const int SW_BERLEKAMP
set to 1 to use Factorys Berlekamp alg.
Definition: cf_defs.h:50