[BACK]Return to paritype.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2 / src / headers

Annotation of OpenXM_contrib/pari-2.2/src/headers/paritype.h, Revision 1.2

1.2     ! noro        1: /* $Id: paritype.h,v 1.4 2002/03/19 12:11:49 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:
                     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 )
1.2     ! noro       48: #define is_rational_t(t) ((t)==t_INT || (t)==t_FRAC) /* FRACN omitted */
1.1       noro       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>