[BACK]Return to user.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/user.c between version 1.4 and 1.5

version 1.4, 2015/09/03 23:05:36 version 1.5, 2018/03/29 01:32:50
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/builtin/user.c,v 1.3 2004/10/06 11:58:51 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/builtin/user.c,v 1.4 2015/09/03 23:05:36 noro Exp $ */
   
 /* a sample file for adding builtin functions */  /* a sample file for adding builtin functions */
   
Line 37  void Pcomp_f(NODE arg,Q *rp)
Line 37  void Pcomp_f(NODE arg,Q *rp)
     if ( r ) { STOQ(r,*rp); return; }      if ( r ) { STOQ(r,*rp); return; }
     m1 = QTOS((Q)ARG1(e1));      m1 = QTOS((Q)ARG1(e1));
     m2 = QTOS((Q)ARG1(e2));      m2 = QTOS((Q)ARG1(e2));
         r = m1>m2?1:(m1<m2?-1:0);    r = m1>m2?1:(m1<m2?-1:0);
         if ( r ) { STOQ(r,*rp); return; }    if ( r ) { STOQ(r,*rp); return; }
   }    }
   r = l1?1:(l2?-1:0);    r = l1?1:(l2?-1:0);
   STOQ(r,*rp);    STOQ(r,*rp);
Line 46  void Pcomp_f(NODE arg,Q *rp)
Line 46  void Pcomp_f(NODE arg,Q *rp)
   
 void Pzadd(NODE arg,Q *rp)  void Pzadd(NODE arg,Q *rp)
 {  {
         Z z0,z1,z2;    Z z0,z1,z2;
   
         z0 = qtoz((Q)ARG0(arg));    z0 = qtoz((Q)ARG0(arg));
         z1 = qtoz((Q)ARG1(arg));    z1 = qtoz((Q)ARG1(arg));
         z2 = addz(z0,z1);    z2 = addz(z0,z1);
         printz(z2); printf(" ");    printz(z2); printf(" ");
         *rp = ztoq(z2);    *rp = ztoq(z2);
 }  }
   
 void Pzsub(NODE arg,Q *rp)  void Pzsub(NODE arg,Q *rp)
 {  {
         Z z0,z1,z2;    Z z0,z1,z2;
   
         z0 = qtoz((Q)ARG0(arg));    z0 = qtoz((Q)ARG0(arg));
         z1 = qtoz((Q)ARG1(arg));    z1 = qtoz((Q)ARG1(arg));
         z2 = subz(z0,z1);    z2 = subz(z0,z1);
         printz(z2); printf(" ");    printz(z2); printf(" ");
         *rp = ztoq(z2);    *rp = ztoq(z2);
 }  }
   
 void Pzmul(NODE arg,Q *rp)  void Pzmul(NODE arg,Q *rp)
 {  {
         Z z0,z1,z2;    Z z0,z1,z2;
   
         z0 = qtoz((Q)ARG0(arg));    z0 = qtoz((Q)ARG0(arg));
         z1 = qtoz((Q)ARG1(arg));    z1 = qtoz((Q)ARG1(arg));
         z2 = mulz(z0,z1);    z2 = mulz(z0,z1);
         printz(z2); printf(" ");    printz(z2); printf(" ");
         *rp = ztoq(z2);    *rp = ztoq(z2);
 }  }
   
 /*  /*

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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