Annotation of OpenXM_contrib2/windows/pari2/win32/paritype.h, Revision 1.1
1.1 ! noro 1: /* $Id: paritype.h,v 1.4 2002/03/19 12:11:49 karim Exp $
! 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:
! 16: /* DO NOT REORDER THESE
! 17: * actual values can be changed, but don't forget to adapt
! 18: * - lontyp/lontyp2 in gen2.c
! 19: * - the assembly file mp.s...
! 20: */
! 21: #define t_SMALL 0
! 22: #define t_INT 1
! 23: #define t_REAL 2
! 24: #define t_INTMOD 3
! 25: #define t_FRAC 4
! 26: #define t_FRACN 5
! 27: #define t_COMPLEX 6
! 28: #define t_PADIC 7
! 29: #define t_QUAD 8
! 30: #define t_POLMOD 9
! 31: #define t_POL 10
! 32: #define t_SER 11
! 33: #define t_RFRAC 13
! 34: #define t_RFRACN 14
! 35: #define t_QFR 15
! 36: #define t_QFI 16
! 37: #define t_VEC 17
! 38: #define t_COL 18
! 39: #define t_MAT 19
! 40: #define t_LIST 20
! 41: #define t_STR 21
! 42: #define t_VECSMALL 22
! 43:
! 44: #define is_recursive_t(t) (lontyp[t])
! 45:
! 46: /* #define is_intreal_t(t) ( (t) == t_REAL || (t) == t_INT ) */
! 47: #define is_intreal_t(t) ( (t) <= t_REAL )
! 48: #define is_rational_t(t) ((t)==t_INT || (t)==t_FRAC) /* FRACN omitted */
! 49:
! 50: #define is_frac_t(t) ( (t) == t_FRAC || (t) == t_FRACN )
! 51: #define is_rfrac_t(t) ( (t) == t_RFRAC || (t) == t_RFRACN )
! 52: #define is_polser_t(t) ( (t) == t_SER || (t) == t_POL )
! 53: #define is_vec_t(t) ( (t) == t_VEC || (t) == t_COL )
! 54: #define is_matvec_t(t) ( (t) >= t_VEC && (t) <= t_MAT )
! 55: #define is_scalar_t(tx) ((tx) < t_POL)
! 56: #define is_extscalar_t(tx) ((tx) <= t_POL)
! 57: #define is_const_t(tx) ((tx) < t_POLMOD)
! 58: /* pas terrible celui-la: pour deriv */
! 59:
! 60: #define is_qf_t(t) ( (t) == t_QFR || (t) == t_QFI )
! 61: #define is_mod_t(t) ( (t) == t_POLMOD || (t) == t_INTMOD )
! 62: #define has_lgef_t(t) ((t) == t_INT || (t) == t_POL)
! 63:
! 64: /* #define is_graphicvec_t(t) ( is_matvec_t(t) || is_qf_t(t) ) */
! 65: #define is_graphicvec_t(t) ( (t) >= t_QFR && (t) <= t_MAT )
! 66:
! 67: #define needsnewline(tx) (is_matvec(tx))
! 68: #define isscalar(x) (is_scalar_t(typ(x)) || (typ(x)==t_POL && lgef(x)<=3))
! 69: #define isnonscalar(x) (typ(x) == t_POL && lgef(x) > 3)
! 70:
! 71: #define is_noncalc_t(tx) ((tx) >= t_LIST)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>