Annotation of OpenXM_contrib/pari-2.2/src/headers/parinf.h, Revision 1.2
1.2 ! noro 1: /* $Id: parinf.h,v 1.16 2002/08/21 15:09:57 karim Exp $
1.1 noro 2:
3: Copyright (C) 2000 The PARI group.
4:
5: This file is part of the PARI/GP package.
6:
7: PARI/GP is free software; you can redistribute it and/or modify it under the
8: terms of the GNU General Public License as published by the Free Software
9: Foundation. It is distributed in the hope that it will be useful, but WITHOUT
10: ANY WARRANTY WHATSOEVER.
11:
12: Check the License for details. You should have received a copy of it, along
13: with the package; see the file 'COPYING'. If not, write to the Free Software
14: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
15:
1.2 ! noro 16: typedef struct {
! 17: GEN x; /* defining polynomial (monic, integral) */
! 18: GEN dK; /* disc(K) */
! 19: GEN index; /* [O_K : Z[X]/(x)] */
! 20: GEN bas; /* Z-basis of O_K (t_VEC of t_POL) */
! 21: long r1; /* number of real places of K */
! 22: /* possibly NULL = irrelevant or not computed */
! 23: GEN lead; /* leading coeff of initial polynomial defining K if non monic */
! 24: GEN dx; /* disc(x) */
! 25: GEN basden; /* [nums(bas), dens(bas)] */
! 26: } nfbasic_t;
! 27:
! 28: typedef struct {
! 29: GEN x;
! 30: GEN ro; /* roots of x */
! 31: long r1;
! 32: GEN basden;
! 33: long prec;
! 34: /* possibly -1 = irrelevant or not computed */
! 35: long extraprec;
! 36: /* possibly NULL = irrelevant or not computed */
! 37: GEN M;
! 38: GEN G;
! 39: } nffp_t;
1.1 noro 40:
41: #define id_PRINCIPAL 0
42: #define id_PRIME 1
43: #define id_MAT 2
44:
1.2 ! noro 45: /* for _initalg */
! 46: #define nf_ROUND2 64
! 47: #define nf_NOROOTS 32
! 48: #define nf_PARTIALFACT 16 /* and allbase */
! 49: #define nf_RED 8
! 50: #define nf_PARTRED 2
1.1 noro 51: #define nf_ORIG 1
52:
1.2 ! noro 53: /* for rnfpolredabs */
! 54: #define nf_ABSOLUTE 2
! 55: #define nf_ADDZK 256
1.1 noro 56:
57: /* for isprincipal */
1.2 ! noro 58: #define nf_GEN 1
1.1 noro 59: #define nf_FORCE 2
60: #define nf_GIVEPREC 4
61: #define nf_GENMAT 8
1.2 ! noro 62: #define nf_GEN_IF_PRINCIPAL 512
1.1 noro 63:
64: /* for buchray */
65: #define nf_INIT 4
66:
1.2 ! noro 67: /* for buchall */
! 68: #define nf_ROOT1 512
! 69: #define nf_UNITS 1024
! 70:
1.1 noro 71: /* for discray */
72: #define nf_REL 1
73: #define nf_COND 2
74:
75: /* for polredabs */
76: #define nf_ALL 4
77: #define nf_RAW 8
78:
79: /* for lllgramall[gen] */
80: #define lll_ALL 0
81: #define lll_KER 1
82: #define lll_IM 2
83: #define lll_GRAM 0x100
84:
85: /* for minim */
86: #define min_ALL 0
87: #define min_FIRST 1
88: #define min_PERF 2
89:
90: /* for fincke_pohst() */
91: typedef struct FP_chk_fun {
1.2 ! noro 92: GEN (*f)(void *,GEN);
! 93: GEN (*f_init)(struct FP_chk_fun*,GEN,GEN);
! 94: void *data;
1.1 noro 95: int skipfirst;
96: } FP_chk_fun;
97:
1.2 ! noro 98: extern GEN _initalg(GEN x, long flag, long prec);
! 99: extern GEN fincke_pohst(GEN a,GEN BOUND,long stockmax,long flag, long PREC, FP_chk_fun *CHECK);
! 100: extern GEN polredfirstpol(GEN x, long flag, FP_chk_fun *CHECK);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>