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

Diff for /OpenXM_contrib2/asir2018/io/pexpr_body.c between version 1.1 and 1.4

version 1.1, 2018/09/19 05:45:08 version 1.4, 2020/10/06 06:31:20
Line 1 
Line 1 
 /* $OpenXM$ */  /* $OpenXM: OpenXM_contrib2/asir2018/io/pexpr_body.c,v 1.3 2020/02/22 06:23:36 noro Exp $ */
   
 #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^"))  #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^"))
   
Line 45  void PRINTSF(unsigned int i);
Line 45  void PRINTSF(unsigned int i);
 void PRINTSYMBOL(SYMBOL sym);  void PRINTSYMBOL(SYMBOL sym);
 void PRINTBF(BF a);  void PRINTBF(BF a);
 void PRINTMPZ(mpz_t z);  void PRINTMPZ(mpz_t z);
   #if defined(INTERVAL)
   void PRINTBF4ITV(BF);
   #endif
   
 void PRINTEXPR(VL vl,Obj p)  void PRINTEXPR(VL vl,Obj p)
 {  {
Line 565  void PRINTFNODE(FNODE f,int paren)
Line 568  void PRINTFNODE(FNODE f,int paren)
         case L_AND: opname = ("@&&"); break;          case L_AND: opname = ("@&&"); break;
         case L_OR: opname = ("@||"); break;          case L_OR: opname = ("@||"); break;
         case L_NOT: opname = ("@!"); break;          case L_NOT: opname = ("@!"); break;
           default: break;
       }        }
       if ( (lid)FA0(f)==L_NOT ) {        if ( (lid)FA0(f)==L_NOT ) {
         PUTS(opname); PRINTFNODE((FNODE)FA1(f),1);          PUTS(opname); PRINTFNODE((FNODE)FA1(f),1);
Line 742  void PRINTNUM(Num q)
Line 746  void PRINTNUM(Num q)
       PRINTBF((BF)q); break;        PRINTBF((BF)q); break;
 #if defined(INTERVAL)  #if defined(INTERVAL)
     case N_IP:      case N_IP:
         PUTS("[");
         PRINTNUM(INF((Itv)q));
         PUTS(",");
         PRINTNUM(SUP((Itv)q));
         PUTS("]");
         break;
     case N_IntervalBigFloat:      case N_IntervalBigFloat:
       switch ( outputstyle ) {        switch ( outputstyle ) {
         case 1:          case 1:
           PUTS("intval(");            PUTS("intval(");
           PRINTNUM(INF((Itv)q));            PRINTBF4ITV(INF((IntervalBigFloat)q));
           PUTS(",");            PUTS(",");
           PRINTNUM(SUP((Itv)q));            PRINTBF4ITV(SUP((IntervalBigFloat)q));
           PUTS(")");            PUTS(")");
           break;            break;
         case 0:          case 0:
         default:          default:
           PUTS("[");            PUTS("[");
           PRINTNUM(INF((Itv)q));            PRINTBF4ITV(INF((IntervalBigFloat)q));
           PUTS(",");            PUTS(",");
           PRINTNUM(SUP((Itv)q));            PRINTBF4ITV(SUP((IntervalBigFloat)q));
           PUTS("]");            PUTS("]");
           break;            break;
       }        }
Line 1005  void PRINTQUOTE(VL vl,QUOTE quote)
Line 1015  void PRINTQUOTE(VL vl,QUOTE quote)
   LIST list;    LIST list;
   
   if ( print_quote == 1 ) {    if ( print_quote == 1 ) {
     fnodetotree(BDY(quote),&list);      fnodetotree(BDY(quote),quote->pvs,&list);
     PRINTEXPR(vl,(Obj)list);      PRINTEXPR(vl,(Obj)list);
   } else if ( print_quote == 2 ) {    } else if ( print_quote == 2 ) {
     PRINTFNODE(BDY(quote),0);      PRINTFNODE(BDY(quote),0);
Line 1089  void PRINTUP2(UP2 p)
Line 1099  void PRINTUP2(UP2 p)
       PUTS("@"); PRINTHAT; TAIL PRINTF(OUT,"%d",d);        PUTS("@"); PRINTHAT; TAIL PRINTF(OUT,"%d",d);
     }      }
     for ( i = d-1; i >= 0; i-- ) {      for ( i = d-1; i >= 0; i-- ) {
       if ( p->b[i/BSH] & (1<<(i%BSH)) )        if ( p->b[i/BSH] & (1<<(i%BSH)) ) {
         if ( !i ) {          if ( !i ) {
           TAIL PRINTF(OUT,"+1");            TAIL PRINTF(OUT,"+1");
         } else if ( i == 1 ) {          } else if ( i == 1 ) {
Line 1097  void PRINTUP2(UP2 p)
Line 1107  void PRINTUP2(UP2 p)
         } else {          } else {
           PUTS("+@"); PRINTHAT; TAIL PRINTF(OUT,"%d",i);            PUTS("+@"); PRINTHAT; TAIL PRINTF(OUT,"%d",i);
         }          }
         }
     }      }
     TAIL PRINTF(OUT,")");      TAIL PRINTF(OUT,")");
   }    }

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

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