flintconv.h
Go to the documentation of this file.
1 // emacs edit mode for this file is -*- C++ -*-
2 #ifndef LIBPOLYS_POLYS_FLINTCONV_H
3 #define LIBPOLYS_POLYS_FLINTCONV_H
4 /****************************************
5 * Computer Algebra System SINGULAR *
6 ****************************************/
7 /*
8 * ABSTRACT: convert data between Singular and Flint
9 */
10 /** @file flintconv.h
11  *
12  * This file is work in progress and currently not part of the official Singular
13  *
14  * @note the code is garded by the undefined macro FLINT_VER_2_4_5
15  * In its current form it will never become an official part.
16  * (conversion routines may be moved to other files/directories, etc.)
17  *
18  * ABSTRACT: Conversion to/from FLINT, and access to some FLINT-routines
19  *
20  * REQUIREMENTS:
21  * - agreement about the interface to LLL
22  * - SINGULAR_4_1
23  * - FLINT providing LLL
24  * (none of the above is currently true, but all of them is required)
25  *
26  **/
27 
28 // Have to define this when this code shall be used:
29 //#define FLINT_VER_2_4_5
30 #ifdef FLINT_VER_2_4_5
31 #include <polys/matpol.h>
32 #include <coeffs/bigintmat.h>
33 // #include <polys/monomials/ring.h>
34 
35 
36 #ifdef HAVE_FLINT
37 #include <flint/flint.h>
38 #include <flint/fmpz.h>
39 #include <flint/fmpq.h>
40 #include <flint/fmpz_poly.h>
41 #include <flint/fmpz_poly_mat.h>
42 #include <flint/fmpz_lll.h>
43 
44 int convFlintISingI (fmpz_t f);
45 void convSingIFlintI(fmpz_t f, int p);
46 void convFlintNSingN (mpz_t z, fmpz_t f);
47 void convSingNFlintN(fmpz_t f, mpz_t z);
48 bigintmat* singflint_LLL(bigintmat* A, bigintmat* T);
49 intvec* singflint_LLL(intvec* A, intvec* T);
50 #endif
51 
52 #endif
53 #endif
54 // LIBPOLYS_POLYS_FLINTCONV_H
return P p
Definition: myNF.cc:203
Matrices of numbers.
Definition: bigintmat.h:51
f
Definition: cfModGcd.cc:4022
Definition: intvec.h:16
#define A
Definition: sirandom.c:23
static jList * T
Definition: janet.cc:37