My Project  UNKNOWN_GIT_VERSION
NTLconvert.h
Go to the documentation of this file.
1 /**
2  * @file NTLconvert.h
3  *
4  * Conversion to and from NTL
5 **/
6 
7 #ifndef INCL_NTLCONVERT_H
8 #define INCL_NTLCONVERT_H
9 
10 #ifdef HAVE_NTL
11 
12 #include "cf_defs.h"
13 #include "canonicalform.h"
14 #include "cf_iter.h"
15 #include "fac_sqrfree.h"
16 #include "cf_algorithm.h"
17 
18 #include <NTL/config.h>
19 
20 #ifdef NTL_STD_CXX
21 #ifdef NOSTREAMIO
22 # ifdef HAVE_IOSTREAM
23 # include <iostream>
24 # define OSTREAM std::ostream
25 # define ISTREAM std::istream
26 # elif defined(HAVE_IOSTREAM_H)
27 # include <iostream.h>
28 # define OSTREAM ostream
29 # define ISTREAM istream
30 # endif
31 #endif /* ! NOSTREAMIO */
32 #endif
33 
34 
35 #include <NTL/ZZXFactoring.h>
36 #include <NTL/ZZ_pXFactoring.h>
37 #include <NTL/lzz_pXFactoring.h>
38 #include <NTL/GF2XFactoring.h>
39 #include <NTL/ZZ_pEXFactoring.h>
40 #include <NTL/lzz_pEXFactoring.h>
41 #include <NTL/GF2EXFactoring.h>
42 #include <NTL/mat_ZZ.h>
43 #include <NTL/mat_lzz_p.h>
44 #include <NTL/mat_lzz_pE.h>
45 
46 #ifdef NTL_CLIENT // in <NTL/tools.h>: using of name space NTL
47 NTL_CLIENT
48 #endif
49 
50 
51 
52 
53 #include "int_int.h"
54 #include "cf_assert.h"
55 
56 
57 ZZ_pX convertFacCF2NTLZZpX(const CanonicalForm & f);
58 zz_pX convertFacCF2NTLzzpX(const CanonicalForm & f);
60 CanonicalForm convertNTLZZpX2CF(const ZZ_pX & poly,const Variable & x);
61 CanonicalForm convertNTLzzpX2CF(const zz_pX & poly,const Variable & x);
62 CanonicalForm convertNTLGF2X2CF(const GF2X & poly,const Variable & x);
63 CanonicalForm convertNTLZZX2CF(const ZZX & polynom,const Variable & x);
64 CFFList convertNTLvec_pair_ZZpX_long2FacCFFList(const vec_pair_ZZ_pX_long& e,const ZZ_p & multi,const Variable & x);
65 CFFList convertNTLvec_pair_zzpX_long2FacCFFList(const vec_pair_zz_pX_long& e,const zz_p multi,const Variable & x);
66 
67 CFFList convertNTLvec_pair_GF2X_long2FacCFFList(const vec_pair_GF2X_long& e,const GF2 multi,const Variable & x);
68 CanonicalForm convertZZ2CF(const ZZ & coefficient);
71 CFFList convertNTLvec_pair_ZZX_long2FacCFFList(const vec_pair_ZZX_long& e,const ZZ & multi,const Variable & x);
72 CanonicalForm convertNTLZZpE2CF(const ZZ_pE & coefficient,const Variable & x);
73 CFFList convertNTLvec_pair_ZZpEX_long2FacCFFList(const vec_pair_ZZ_pEX_long & e,const ZZ_pE & multi,const Variable & x,const Variable & alpha);
74 CanonicalForm convertNTLGF2E2CF(const GF2E & coefficient,const Variable & x);
75 CFFList convertNTLvec_pair_GF2EX_long2FacCFFList(const vec_pair_GF2EX_long& e,const GF2E & multi,const Variable & x,const Variable & alpha);
76 GF2EX convertFacCF2NTLGF2EX(const CanonicalForm & f,const GF2X & mipo);
77 ZZ_pEX convertFacCF2NTLZZ_pEX(const CanonicalForm & f,const ZZ_pX & mipo);
78 zz_pEX convertFacCF2NTLzz_pEX(const CanonicalForm & f,const zz_pX & mipo);
79 CanonicalForm convertNTLzzpE2CF(const zz_pE & f, const Variable & x);
80 CFFList convertNTLvec_pair_zzpEX_long2FacCFFList(const vec_pair_zz_pEX_long & e,const zz_pE & multi,const Variable & x,const Variable & alpha);
81 CanonicalForm convertNTLzz_pEX2CF(const zz_pEX & f, const Variable & x, const Variable & alpha);
82 CanonicalForm convertNTLZZ_pEX2CF(const ZZ_pEX & f, const Variable & x, const Variable & alpha);
83 
86 mat_zz_p* convertFacCFMatrix2NTLmat_zz_p(const CFMatrix &m);
87 CFMatrix* convertNTLmat_zz_p2FacCFMatrix(const mat_zz_p &m);
88 mat_zz_pE* convertFacCFMatrix2NTLmat_zz_pE(const CFMatrix &m);
89 CFMatrix* convertNTLmat_zz_pE2FacCFMatrix(const mat_zz_pE &m, const Variable & alpha);
90 
91 extern long fac_NTL_char;
92 #endif
93 #endif
CFMatrix * convertNTLmat_ZZ2FacCFMatrix(const mat_ZZ &m)
Definition: NTLconvert.cc:1152
CanonicalForm convertNTLZZpE2CF(const ZZ_pE &coefficient, const Variable &x)
NAME: convertNTLZZpX2CF.
Definition: NTLconvert.cc:790
CanonicalForm convertNTLGF2E2CF(const GF2E &coefficient, const Variable &x)
NAME: convertNTLGF2E2CF.
Definition: NTLconvert.cc:927
CFFList convertNTLvec_pair_GF2X_long2FacCFFList(const vec_pair_GF2X_long &e, const GF2 multi, const Variable &x)
NAME: convertNTLvec_pair_GF2X_long2FacCFFList.
Definition: NTLconvert.cc:439
ZZX convertFacCF2NTLZZX(const CanonicalForm &f)
Definition: NTLconvert.cc:685
CFFList convertNTLvec_pair_zzpX_long2FacCFFList(const vec_pair_zz_pX_long &e, const zz_p multi, const Variable &x)
Definition: NTLconvert.cc:392
zz_pEX convertFacCF2NTLzz_pEX(const CanonicalForm &f, const zz_pX &mipo)
Definition: NTLconvert.cc:1063
mat_ZZ * convertFacCFMatrix2NTLmat_ZZ(const CFMatrix &m)
Definition: NTLconvert.cc:1137
CanonicalForm convertNTLzz_pEX2CF(const zz_pEX &f, const Variable &x, const Variable &alpha)
Definition: NTLconvert.cc:1091
ZZ_pEX convertFacCF2NTLZZ_pEX(const CanonicalForm &f, const ZZ_pX &mipo)
CanonicalForm in Z_p(a)[X] to NTL ZZ_pEX.
Definition: NTLconvert.cc:1036
CanonicalForm convertNTLzzpX2CF(const zz_pX &poly, const Variable &x)
Definition: NTLconvert.cc:248
CFFList convertNTLvec_pair_ZZpX_long2FacCFFList(const vec_pair_ZZ_pX_long &e, const ZZ_p &multi, const Variable &x)
NAME: convertNTLvec_pair_ZZpX_long2FacCFFList.
Definition: NTLconvert.cc:367
GF2EX convertFacCF2NTLGF2EX(const CanonicalForm &f, const GF2X &mipo)
CanonicalForm in Z_2(a)[X] to NTL GF2EX.
Definition: NTLconvert.cc:1006
CanonicalForm convertNTLZZpX2CF(const ZZ_pX &poly, const Variable &x)
NAME: convertNTLZZpX2CF.
Definition: NTLconvert.cc:243
CanonicalForm convertNTLzzpE2CF(const zz_pE &f, const Variable &x)
Definition: NTLconvert.cc:794
CFMatrix * convertNTLmat_zz_p2FacCFMatrix(const mat_zz_p &m)
Definition: NTLconvert.cc:1182
mat_zz_p * convertFacCFMatrix2NTLmat_zz_p(const CFMatrix &m)
Definition: NTLconvert.cc:1166
CanonicalForm convertNTLZZX2CF(const ZZX &polynom, const Variable &x)
Definition: NTLconvert.cc:278
CanonicalForm convertNTLZZ_pEX2CF(const ZZ_pEX &f, const Variable &x, const Variable &alpha)
Definition: NTLconvert.cc:1114
long fac_NTL_char
Definition: NTLconvert.cc:41
zz_pX convertFacCF2NTLzzpX(const CanonicalForm &f)
Definition: NTLconvert.cc:100
ZZ_pX convertFacCF2NTLZZpX(const CanonicalForm &f)
NAME: convertFacCF2NTLZZpX.
Definition: NTLconvert.cc:59
CanonicalForm convertZZ2CF(const ZZ &coefficient)
NAME: convertZZ2CF.
Definition: NTLconvert.cc:489
mat_zz_pE * convertFacCFMatrix2NTLmat_zz_pE(const CFMatrix &m)
Definition: NTLconvert.cc:1195
CFMatrix * convertNTLmat_zz_pE2FacCFMatrix(const mat_zz_pE &m, const Variable &alpha)
Definition: NTLconvert.cc:1211
CFFList convertNTLvec_pair_ZZpEX_long2FacCFFList(const vec_pair_ZZ_pEX_long &e, const ZZ_pE &multi, const Variable &x, const Variable &alpha)
NAME: convertNTLvec_pair_ZZpEX_long2FacCFFList.
Definition: NTLconvert.cc:820
GF2X convertFacCF2NTLGF2X(const CanonicalForm &f)
NAME: convertFacCF2NTLGF2X.
Definition: NTLconvert.cc:177
CFFList convertNTLvec_pair_zzpEX_long2FacCFFList(const vec_pair_zz_pEX_long &e, const zz_pE &multi, const Variable &x, const Variable &alpha)
Definition: NTLconvert.cc:865
ZZ convertFacCF2NTLZZ(const CanonicalForm &f)
NAME: convertFacCF2NTLZZX.
Definition: NTLconvert.cc:664
CFFList convertNTLvec_pair_GF2EX_long2FacCFFList(const vec_pair_GF2EX_long &e, const GF2E &multi, const Variable &x, const Variable &alpha)
NAME: convertNTLvec_pair_GF2EX_long2FacCFFList.
Definition: NTLconvert.cc:954
CanonicalForm convertNTLGF2X2CF(const GF2X &poly, const Variable &x)
NAME: convertNTLGF2X2CF.
Definition: NTLconvert.cc:315
CFFList convertNTLvec_pair_ZZX_long2FacCFFList(const vec_pair_ZZX_long &e, const ZZ &multi, const Variable &x)
NAME: convertNTLvec_pair_ZZX_long2FacCFFList.
Definition: NTLconvert.cc:747
Header for factory's main class CanonicalForm.
int m
Definition: cfEzgcd.cc:121
Variable x
Definition: cfModGcd.cc:4023
declarations of higher level algorithms.
assertions for Factory
factory switches.
Iterators for CanonicalForm's.
FILE * f
Definition: checklibs.c:9
factory's main class
Definition: canonicalform.h:83
factory's class for variables
Definition: factory.h:118
Variable alpha
Definition: facAbsBiFact.cc:52
CanonicalForm mipo
Definition: facAlgExt.cc:57
squarefree part and factorization over Q, Q(a)
Factory's internal integers.