[BACK]Return to paristio.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / pari2 / win32

Annotation of OpenXM_contrib2/windows/pari2/win32/paristio.h, Revision 1.1

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

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