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

Annotation of OpenXM_contrib/pari-2.2/src/headers/pariport.h, Revision 1.1.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>