source: git/factory/NTLconvert.h @ 47dc5ea

spielwiese
Last change on this file since 47dc5ea was c729f2, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: conversion to NTL ZZ_pX now allows non-word size p chg: added conversion of NTL ZZ_pEX to CanonicalForm and back
  • Property mode set to 100644
File size: 3.1 KB
RevLine 
[341696]1/* $Id$ */
[a99e31]2#ifndef INCL_NTLCONVERT_H
3#define INCL_NTLCONVERT_H
4
[9c6887]5#ifdef HAVE_NTL
[a99e31]6
[ee668e]7// #include <factory/cf_gmp.h>
[a99e31]8
9#include "cf_defs.h"
10#include "canonicalform.h"
11#include "cf_iter.h"
12#include "fac_berlekamp.h"
13#include "fac_cantzass.h"
14#include "fac_univar.h"
15#include "fac_multivar.h"
16#include "fac_sqrfree.h"
17#include "cf_algorithm.h"
18
[2db7ae]19#include <NTL/config.h>
[e4fe2b]20
[2db7ae]21#ifdef NTL_STD_CXX
22#ifdef NOSTREAMIO
23#  ifdef HAVE_IOSTREAM
24#    include <iostream>
25#    define OSTREAM std::ostream
26#    define ISTREAM std::istream
27#  elif defined(HAVE_IOSTREAM_H)
28#    include <iostream.h>
29#    define OSTREAM ostream
30#    define ISTREAM istream
31#  endif
32#endif /* ! NOSTREAMIO */
33#endif
34
[e4fe2b]35
[ec60a3]36#include <NTL/ZZXFactoring.h>
37#include <NTL/ZZ_pXFactoring.h>
[f11d7b]38#include <NTL/lzz_pXFactoring.h>
[ec60a3]39#include <NTL/GF2XFactoring.h>
40#include <NTL/ZZ_pEXFactoring.h>
[5af844a]41#include <NTL/lzz_pEXFactoring.h>
[ec60a3]42#include <NTL/GF2EXFactoring.h>
[e950c22]43#include <NTL/mat_ZZ.h>
[c24143a]44#include <NTL/mat_lzz_p.h>
45#include <NTL/mat_lzz_pE.h>
[e950c22]46
[11812a]47#ifdef NTL_CLIENT               // in <NTL/tools.h>: using of name space NTL
48NTL_CLIENT
49#endif
50
[e4fe2b]51
52
53
54#include "int_int.h"
55#include "cf_assert.h"
56
57
[a99e31]58ZZ_pX convertFacCF2NTLZZpX(CanonicalForm f);
[f11d7b]59zz_pX convertFacCF2NTLzzpX(CanonicalForm f);
[a99e31]60GF2X convertFacCF2NTLGF2X(CanonicalForm f);
61CanonicalForm convertNTLZZpX2CF(ZZ_pX poly,Variable x);
[f11d7b]62CanonicalForm convertNTLzzpX2CF(zz_pX poly,Variable x);
[a99e31]63CanonicalForm convertNTLGF2X2CF(GF2X poly,Variable x);
[f11d7b]64CanonicalForm convertNTLZZX2CF(ZZX polynom,Variable x);
[a99e31]65CFFList convertNTLvec_pair_ZZpX_long2FacCFFList(vec_pair_ZZ_pX_long e,ZZ_p multi,Variable x);
[f11d7b]66CFFList convertNTLvec_pair_zzpX_long2FacCFFList(vec_pair_zz_pX_long e,zz_p multi,Variable x);
[a99e31]67
68CFFList convertNTLvec_pair_GF2X_long2FacCFFList(vec_pair_GF2X_long e,GF2 multi,Variable x);
69CanonicalForm convertZZ2CF(ZZ coefficient);
[f291fcd]70ZZ convertFacCF2NTLZZ(const CanonicalForm f);
[a99e31]71ZZX convertFacCF2NTLZZX(CanonicalForm f);
72CFFList convertNTLvec_pair_ZZX_long2FacCFFList(vec_pair_ZZX_long e,ZZ multi,Variable x);
73CanonicalForm convertNTLZZpE2CF(ZZ_pE coefficient,Variable x);
74CFFList convertNTLvec_pair_ZZpEX_long2FacCFFList(vec_pair_ZZ_pEX_long e,ZZ_pE multi,Variable x,Variable alpha);
75CanonicalForm convertNTLGF2E2CF(GF2E coefficient,Variable x);
76CFFList convertNTLvec_pair_GF2EX_long2FacCFFList(vec_pair_GF2EX_long e,GF2E multi,Variable x,Variable alpha);
[b1326b]77GF2EX convertFacCF2NTLGF2EX(CanonicalForm f,GF2X mipo);
[d30633d]78ZZ_pEX convertFacCF2NTLZZ_pEX(CanonicalForm f,ZZ_pX mipo);
[5af844a]79zz_pEX convertFacCF2NTLzz_pEX(CanonicalForm f,zz_pX mipo);
[c48e80]80CanonicalForm convertNTLzzpE2CF(zz_pE f, Variable x);
[5af844a]81CFFList convertNTLvec_pair_zzpEX_long2FacCFFList(vec_pair_zz_pEX_long e,zz_pE multi,Variable x,Variable alpha);
[c48e80]82CanonicalForm convertNTLzz_pEX2CF(zz_pEX f, Variable x, Variable alpha);
[c729f2]83CanonicalForm convertNTLZZ_pEX2CF(ZZ_pEX f, Variable x, Variable alpha);
[a99e31]84
[899d4c]85mat_ZZ* convertFacCFMatrix2NTLmat_ZZ(CFMatrix &m);
86CFMatrix* convertNTLmat_ZZ2FacCFMatrix(mat_ZZ &m);
[c24143a]87mat_zz_p* convertFacCFMatrix2NTLmat_zz_p(CFMatrix &m);
88CFMatrix* convertNTLmat_zz_p2FacCFMatrix(mat_zz_p &m);
89mat_zz_pE* convertFacCFMatrix2NTLmat_zz_pE(CFMatrix &m);
90CFMatrix* convertNTLmat_zz_pE2FacCFMatrix(mat_zz_pE &m, Variable alpha);
91
[14212fa]92extern long fac_NTL_char;
[a99e31]93#endif
[d30633d]94#endif
Note: See TracBrowser for help on using the repository browser.