Annotation of OpenXM_contrib/pari-2.2/src/headers/pariport.h, Revision 1.1
1.1 ! noro 1: /* $Id: pariport.h,v 1.2 2000/11/03 21:00:25 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: /*******************************************************************/
! 17: /* */
! 18: /* DECLARATIONS SPECIFIC TO THE PORTABLE VERSION */
! 19: /* */
! 20: /*******************************************************************/
! 21:
! 22: /* mp.c */
! 23:
! 24: #define affrs(x,s) (err(affer4))
! 25: #define affri(x,y) (err(affer5))
! 26: #define cmpis(x,y) (-cmpsi((y),(x)))
! 27: #define cmprs(x,y) (-cmpsr((y),(x)))
! 28: #define cmpri(x,y) (-cmpir((y),(x)))
! 29: #define subis(x,y) (addsi(-(y),(x)))
! 30: #define subrs(x,y) (addsr(-(y),(x)))
! 31:
! 32: #define divii(a,b) (dvmdii((a),(b),NULL))
! 33: #define resii(a,b) (dvmdii((a),(b),ONLY_REM))
! 34:
! 35: #define mpshift(x,s) ((typ(x)==t_INT)?shifti((x),(s)):shiftr((x),(s)))
! 36: #define affsz(s,x) ((typ(x)==t_INT)?affsi((s),(x)):affsr((s),(x)))
! 37: #define mptruncz(x,y) (gop1z(mptrunc,(x),(y)))
! 38: #define mpentz(x,y) (gop1z(mpent,(x),(y)))
! 39: #define mpaddz(x,y,z) (gop2z(mpadd,(x),(y),(z)))
! 40: #define addsiz(s,y,z) (gops2sgz(addsi,(s),(y),(z)))
! 41: #define addsrz(s,y,z) (gops2sgz(addsr,(s),(y),(z)))
! 42: #define addiiz(x,y,z) (gop2z(addii,(x),(y),(z)))
! 43: #define addirz(x,y,z) (gop2z(addir,(x),(y),(z)))
! 44: #define addriz(x,y,z) (gop2z(addir,(y),(x),(z)))
! 45: #define addrrz(x,y,z) (gop2z(addrr,(x),(y),(z)))
! 46: #define mpsubz(x,y,z) (gop2z(mpsub,(x),(y),(z)))
! 47: #define subss(x,y) (addss(-(y),(x)))
! 48: #define subssz(x,y,z) (addssz((x),-(y),(z)))
! 49: #define subsiz(s,y,z) (gops2sgz(subsi,(s),(y),(z)))
! 50: #define subsrz(x,y,z) {long av=avma; gaffect(subsr((x),(y)),(z)); avma=av; }
! 51: #define subisz(y,s,z) (gops2sgz(addsi,-(s),(y),(z)))
! 52: #define subrsz(y,s,z) (gops2sgz(addsr,-(s),(y),(z)))
! 53: #define subiiz(x,y,z) {long av=avma; gaffect(subii((x),(y)),(z)); avma=av; }
! 54: #define subirz(x,y,z) {long av=avma; gaffect(subir((x),(y)),(z)); avma=av; }
! 55: #define subriz(x,y,z) (gop2z(subri,(x),(y),(z)))
! 56: #define subrrz(x,y,z) {long av=avma; gaffect(subrr((x),(y)),(z)); avma=av; }
! 57: #define mpmulz(x,y,z) (gop2z(mpmul,(x),(y),(z)))
! 58: #define mulsiz(s,y,z) (gops2sgz(mulsi,(s),(y),(z)))
! 59: #define mulsrz(s,y,z) (gops2sgz(mulsr,(s),(y),)(z))
! 60: #define muliiz(x,y,z) (gop2z(mulii,(x),(y),(z)))
! 61: #define mulirz(x,y,z) (gop2z(mulir,(x),(y),(z)))
! 62: #define mulriz(x,y,z) (gop2z(mulir,(y),(x),(z)))
! 63: #define mulrrz(x,y,z) (gop2z(mulrr,(x),(y),(z)))
! 64: #define mpinvsr(s,y) (divssz(1,(s),(y)))
! 65: #define mpinvir(x,y) (divsiz(1,(x),(y)))
! 66: #define mpinvrr(x,y) (divsrz(1,(x),(y)))
! 67: #define mpdvmdz(x,y,z,t) (dvmdiiz((x),(y),(z),(t)))
! 68: #define modssz(s,y,z) (gops2ssz(modss,(s),(y),(z)))
! 69: #define modsiz(s,y,z) (gops2sgz(modsi,(s),(y),(z)))
! 70: #define modisz(y,s,z) (gops2gsz(modis,(y),(s),(z)))
! 71: #define ressiz(s,y,z) (gops2sgz(ressi,(s),(y),(z)))
! 72: #define resisz(y,s,z) (gops2gsz(resis,(y),(s),(z)))
! 73: #define resssz(s,y,z) (gops2ssz(resss,(s),(y),(z)))
! 74: #define divirz(x,y,z) (gop2z(divir,(x),(y),(z)))
! 75: #define divriz(x,y,z) (gop2z(divri,(x),(y),(z)))
! 76: #define divsrz(s,y,z) (gops2sgz(divsr,(s),(y),(z)))
! 77: #define divrsz(y,s,z) (gops2gsz(divrs,(y),(s),(z)))
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>