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

Diff for /OpenXM_contrib2/asir2000/io/pexpr_body.c between version 1.8 and 1.20

version 1.8, 2005/01/17 07:43:24 version 1.20, 2017/08/31 02:36:21
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.7 2004/12/18 16:50:10 saito Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.19 2016/06/29 08:16:11 ohara Exp $ */
   
 #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^"))  #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^"))
   
Line 15  void PRINTIMAT(); /* IMAT */
Line 15  void PRINTIMAT(); /* IMAT */
 void PRINTSTR();  void PRINTSTR();
 void PRINTCOMP();  void PRINTCOMP();
 void PRINTDP();  void PRINTDP();
   void PRINTDPM();
 void PRINTUI();  void PRINTUI();
 void PRINTGF2MAT();  void PRINTGF2MAT();
 void PRINTGFMMAT();  void PRINTGFMMAT();
 void PRINTBYTEARRAY();  void PRINTBYTEARRAY();
 void PRINTQUOTE();  void PRINTQUOTE();
 void PRINTQUOTEARG();  void PRINTQUOTEARG();
   void PRINTNBP();
 void PRINTERR();  void PRINTERR();
 void PRINTCPLX();  void PRINTCPLX();
 void PRINTLM();  void PRINTLM();
Line 71  Obj p;
Line 73  Obj p;
                                 PRINTCOMP(vl,(COMP)p); break;                                  PRINTCOMP(vl,(COMP)p); break;
                         case O_DP:                          case O_DP:
                                 PRINTDP(vl,(DP)p); break;                                  PRINTDP(vl,(DP)p); break;
                           case O_DPM:
                                   PRINTDPM(vl,(DPM)p); break;
                         case O_USINT:                          case O_USINT:
                                 PRINTUI(vl,(USINT)p); break;                                  PRINTUI(vl,(USINT)p); break;
                         case O_GF2MAT:                          case O_GF2MAT:
Line 89  Obj p;
Line 93  Obj p;
                                 PRINTQUOTE(vl,(QUOTE)p); break;                                  PRINTQUOTE(vl,(QUOTE)p); break;
                         case O_QUOTEARG:                          case O_QUOTEARG:
                                 PRINTQUOTEARG(vl,(QUOTEARG)p); break;                                  PRINTQUOTEARG(vl,(QUOTEARG)p); break;
                           case O_NBP:
                                   PRINTNBP(vl,(NBP)p); break;
                         case O_SYMBOL:                          case O_SYMBOL:
                                 PRINTSYMBOL((SYMBOL)p); break;                                  PRINTSYMBOL((SYMBOL)p); break;
                         case O_RANGE:                          case O_RANGE:
Line 554  void PRINTFNODE(FNODE f,int paren)
Line 560  void PRINTFNODE(FNODE f,int paren)
                         PUTS(((ARF)FA0(f))->name);                          PUTS(((ARF)FA0(f))->name);
                         PRINTFNODE((FNODE)FA2(f),1);                          PRINTFNODE((FNODE)FA2(f),1);
                         break;                          break;
                   case I_NARYOP:
                           t = (NODE)FA1(f);
                           PRINTFNODE((FNODE)BDY(t),1);
                           for ( t = NEXT(t); t; t = NEXT(t) )     {
                                   PUTS(((ARF)FA0(f))->name);
                                   PRINTFNODE((FNODE)BDY(t),1);
                           }
                           break;
                 case I_COP:                  case I_COP:
                         switch( (cid)FA0(f) ) {                          switch( (cid)FA0(f) ) {
                                 case C_EQ: opname = ("=="); break;                                  case C_EQ: opname = ("=="); break;
Line 605  void PRINTFNODE(FNODE f,int paren)
Line 619  void PRINTFNODE(FNODE f,int paren)
                 /* lists */                  /* lists */
                 case I_LIST: PUTS("["); PRINTFNODENODE((NODE)FA0(f)); PUTS("]"); break;                  case I_LIST: PUTS("["); PRINTFNODENODE((NODE)FA0(f)); PUTS("]"); break;
                 /* function */                  /* function */
                 case I_FUNC:                  case I_FUNC: case I_FUNC_QARG:
                         if ( !strcmp(((FUNC)FA0(f))->name,"@pi") ) PUTS("@pi");                          if ( !strcmp(((FUNC)FA0(f))->name,"@pi") ) PUTS("@pi");
                         else if ( !strcmp(((FUNC)FA0(f))->name,"@e") ) PUTS("@e");                          else if ( !strcmp(((FUNC)FA0(f))->name,"@e") ) PUTS("@e");
                         else {                          else {
Line 678  Num q;
Line 692  Num q;
                                                 int i,expo;                                                  int i,expo;
   
                                                 m = (unsigned int *)&BDY((Real)q);                                                  m = (unsigned int *)&BDY((Real)q);
 #if defined(__i386__) || defined(MIPSEL) || defined(VISUAL) || defined(__alpha) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__x86_64)  #if defined(__i386__) || defined(MIPSEL) || defined(VISUAL) || defined(__MINGW32__) || defined(__alpha) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__x86_64) || defined(__ARM_ARCH) || defined(ANDROID)
                                                 u = m[1]; l = m[0];                                                  u = m[1]; l = m[0];
 #else  #else
                                                 u = m[0]; l = m[1];                                                  u = m[0]; l = m[1];
Line 754  Num q;
Line 768  Num q;
                 case N_A:                  case N_A:
                         PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")");                          PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")");
                         break;                          break;
 #if defined(PARI)  
                 case N_B:                  case N_B:
                         PRINTBF((BF)q); break;                          PRINTBF((BF)q); break;
 #endif  
 #if defined(INTERVAL)  #if defined(INTERVAL)
                 case N_IP:                  case N_IP:
                 case N_IntervalBigFloat:                  case N_IntervalBigFloat:
Line 879  Num q;
Line 891  Num q;
                                 PRINTN(NM(dn));                                  PRINTN(NM(dn));
                         }                          }
                         break;                          break;
                   case N_GZ:
                           mpz_out_str(OUT,10,BDY((GZ)q));
                           break;
                   case N_GQ:
                           mpq_out_str(OUT,10,BDY((GQ)q));
                           break;
         }          }
 }  }
   
Line 1000  DP d;
Line 1018  DP d;
         }          }
 }  }
   
   void PRINTDPM(vl,d)
   VL vl;
   DPM d;
   {
           int n,i;
           DMM m;
           DL dl;
   
           for ( n = d->nv, m = BDY(d); m; m = NEXT(m) ) {
                   PUTS("("); PRINTEXPR(vl,(pointer)m->c); PUTS(")*<<");
                   for ( i = 0, dl = m->dl; i < n-1; i++ ) {
                           TAIL PRINTF(OUT,"%d,",dl->d[i]);
                   }
                   TAIL PRINTF(OUT,"%d:%d",dl->d[i],m->pos);
                   PUTS(">>");
                   if ( NEXT(m) )
                           PUTS("+");
           }
   }
   
 void PRINTUI(vl,u)  void PRINTUI(vl,u)
 VL vl;  VL vl;
 USINT u;  USINT u;
Line 1064  VL vl;
Line 1102  VL vl;
 QUOTEARG quote;  QUOTEARG quote;
 {  {
         PUTS("<...quoted...>");          PUTS("<...quoted...>");
   }
   
   void PRINTNBP(VL vl,NBP p)
   {
           NODE t;
           NBM m;
           int d,i;
           unsigned int *b;
           if ( !p ) PUTS("0");
           else {
                   for ( t = BDY(p); t; t = NEXT(t) ) {
                           m = (NBM)BDY(t);
                           PUTS("(");
                           PRINTEXPR(vl,(Obj)m->c);
                           PUTS(")*");
                           d = m->d;
                           b = m->b;
                           if ( d )
                                   for ( i = 0; i < d; i++ ) {
                                           if ( NBM_GET(b,i) ) PUTS("x");
                                           else PUTS("y");
                                   }
                           else PUTS("1");
                           if ( NEXT(t) ) PUTS("+");
                   }
           }
 }  }
   
 void PRINTTB(VL vl,TB p)  void PRINTTB(VL vl,TB p)

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.20

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