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

Annotation of OpenXM_contrib/pari-2.2/src/headers/paristio.h, Revision 1.1

1.1     ! noro        1: /* $Id: paristio.h,v 1.8 2001/04/15 16:24:58 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: /* This file contains memory and I/O management definitions       */
        !            17:
        !            18: typedef unsigned char *byteptr;
        !            19:
        !            20: typedef struct stackzone
        !            21: {
        !            22:   long zonetop, bot, top, avma, memused;
        !            23: } stackzone;
        !            24:
        !            25: typedef struct entree {
        !            26:   char *name;
        !            27:   ulong valence;
        !            28:   void *value;
        !            29:   long menu;
        !            30:   char *code;
        !            31:   struct entree *next;
        !            32:   char *help;
        !            33:   void *args;
        !            34: } entree;
        !            35:
        !            36: typedef struct PariOUT {
        !            37:   void (*putch)(char);
        !            38:   void (*puts)(char*);
        !            39:   void (*flush)(void);     /* Finalize a report of a non fatal-error. */
        !            40:   void (*die)(void);       /* If not-NULL, should be called to finalize
        !            41:                           a report of a fatal error (no "\n" required). */
        !            42: } PariOUT;
        !            43:
        !            44: typedef struct pariFILE {
        !            45:   FILE *file;
        !            46:   int type;
        !            47:   char *name;
        !            48:   struct pariFILE* prev;
        !            49:   struct pariFILE* next;
        !            50: } pariFILE;
        !            51: /* Common global variables: */
        !            52:
        !            53: extern PariOUT *pariOut, *pariErr;
        !            54: extern FILE    *pari_outfile, *logfile, *infile, *errfile;
        !            55:
        !            56: extern ulong avma,bot,top,memused;
        !            57: extern byteptr diffptr;
        !            58: extern entree  **varentries;
        !            59: extern char    *errmessage[], *current_psfile;
        !            60:
        !            61: #define is_universal_constant(x) ((GEN)(x) >= gzero && (GEN)(x) <= gi)
        !            62:
        !            63: #define copyifstack(x,y) {ulong t=(ulong)(x); \
        !            64:                          (y)=(t>=bot &&t<top)? lcopy((GEN)t): t;}
        !            65: #define icopyifstack(x,y) {ulong t=(ulong)(x); \
        !            66:                          (y)=(t>=bot &&t<top)? licopy((GEN)t): t;}
        !            67: #define isonstack(x) ((ulong)(x)>=bot && (ulong)(x)<top)
        !            68:
        !            69: /* Define this to (1) locally (in a given file, NOT here) to check
        !            70:  * "random" garbage collecting
        !            71:  */
        !            72: #ifdef DYNAMIC_STACK
        !            73: #  define low_stack(x,l) (avma < (ulong)(l))
        !            74: #else
        !            75: #  define low_stack(x,l) (avma < (ulong)(x))
        !            76: #endif
        !            77:
        !            78: #define stack_lim(av,n) (bot + (((av)-bot)>>(n)))
        !            79:
        !            80: #ifndef SIG_IGN
        !            81: #  define SIG_IGN (void(*)())1
        !            82: #endif
        !            83: #ifndef SIGINT
        !            84: #  define SIGINT 2
        !            85: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>