version 1.1, 2018/09/19 05:45:08 |
version 1.4, 2020/10/06 06:31:20 |
|
|
/* $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,")"); |
} |
} |