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
30static const int SW_RATIONAL = 0;
31/// set to 1 for symmetric representation over F_q
32static const int SW_SYMMETRIC_FF = 1;
33/// set to 1 to use EZGCD over Z
34static const int SW_USE_EZGCD = 2;
35/// set to 1 to use EZGCD over F_q
36static const int SW_USE_EZGCD_P = 3;
37/// set to 1 to sort factors in a factorization
38static const int SW_USE_NTL_SORT=4;
39/// set to 1 to use modular gcd over Z
40static const int SW_USE_CHINREM_GCD=5;
41/// set to 1 to use Encarnacion GCD over Q(a)
42static const int SW_USE_QGCD=6;
43/// set to 1 to use modular GCD over F_q
44static const int SW_USE_FF_MOD_GCD=7;
45/// set to 1 to use Flints gcd over F_p
46static const int SW_USE_FL_GCD_P=8;
47/// set to 1 to use Flints gcd over Q/Z
48static const int SW_USE_FL_GCD_0=9;
49/// set to 1 to use Factorys Berlekamp alg.
50static const int SW_BERLEKAMP=10;
51
52static const int SW_FAC_QUADRATICLIFT=11;
53/// set to 1 to prefer flints multivariate factorization over Z/p
54static const int SW_USE_FL_FAC_P=12;
55/// set to 1 to prefer flints multivariate factorization over Z/p
56static const int SW_USE_FL_FAC_0=13;
57/// set to 1 to prefer flints multivariate factorization over Z/p(a)
58static 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