=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/plot/plotf.c,v retrieving revision 1.29 retrieving revision 1.31 diff -u -p -r1.29 -r1.31 --- OpenXM_contrib2/asir2000/plot/plotf.c 2014/06/27 07:58:29 1.29 +++ OpenXM_contrib2/asir2000/plot/plotf.c 2017/08/31 02:36:21 1.31 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/plot/plotf.c,v 1.28 2014/05/16 08:49:53 ohara Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/plot/plotf.c,v 1.30 2014/07/31 15:52:13 saito Exp $ */ #include "ca.h" #include "parse.h" @@ -436,7 +436,7 @@ void plot_main(NODE arg,int is_memory,char *fn,Obj *rp LIST xrange,range[1],list,geom; VL vl,vl0; V v[1],av[1]; - int stream,ri,i; + int stream,ri,i,found_f; P poly; P var; NODE n,n0; @@ -447,6 +447,7 @@ void plot_main(NODE arg,int is_memory,char *fn,Obj *rp MKNODE(n,p2,0);MKNODE(defrange,m2,n); poly=0;vl=0;geom=0;wname=0;stream=-1;ri=0; v[0]=0; + found_f = 0; for(;arg;arg=NEXT(arg) ) if(!BDY(arg) ) stream=0; @@ -462,6 +463,7 @@ void plot_main(NODE arg,int is_memory,char *fn,Obj *rp } } if(i != 1 ) error("ifplot : invalid argument"); + found_f = 1; break; case O_LIST: list=(LIST)BDY(arg); @@ -471,7 +473,13 @@ void plot_main(NODE arg,int is_memory,char *fn,Obj *rp } else geom=list; break; case O_N: - stream=QTOS((Q)BDY(arg));break; + if ( !found_f ) { + poly = (P)BDY(arg); + makevar("x",&var); + v[0] = VR(var); + } else + stream=QTOS((Q)BDY(arg)); + break; case O_STR: wname=(STRING)BDY(arg);break; default: @@ -485,7 +493,7 @@ void plot_main(NODE arg,int is_memory,char *fn,Obj *rp break; case 1: av[0]=VR((P)BDY(BDY(range[0]))); - if(v[0]==av[0] ) + if(NUM(poly) || v[0]==av[0] ) xrange=range[0]; else error("plot : invalid argument"); @@ -820,7 +828,7 @@ void PpolarplotD(NODE arg,Obj *rp){ } //formular check if(!poly){ - sprintf(ebuf,"%s : invalid ploy argument",POLARPLOT); + sprintf(ebuf,"%s : invalid plot argument",POLARPLOT); error(ebuf); } //vars check @@ -828,7 +836,7 @@ void PpolarplotD(NODE arg,Obj *rp){ for(vl0=vl,vNo=0;vl0;vNo++,vl0=NEXT(vl0)){ if(vl0->v->attr==(pointer)V_IND){ if(vNo>=2){ - sprintf(ebuf,"%s : invalid ploy argument",POLARPLOT); + sprintf(ebuf,"%s : invalid plot argument",POLARPLOT); error(ebuf); } else v[vNo]=vl0->v; } @@ -900,7 +908,7 @@ void ifplot_mainNG(NODE arg,char *fn,Obj *rp){ poly=(P)BDY(arg); pfine=FALSE; } else { - sprintf(ebuf,"%s : to many ploy arguments",fn); + sprintf(ebuf,"%s : to many plot arguments",fn); error(ebuf); } break; @@ -937,7 +945,7 @@ void ifplot_mainNG(NODE arg,char *fn,Obj *rp){ } // formular check if(!poly){ - sprintf(ebuf,"%s : invalid ploy argument",fn); + sprintf(ebuf,"%s : invalid plot argument",fn); error(ebuf); } // vars check @@ -945,7 +953,7 @@ void ifplot_mainNG(NODE arg,char *fn,Obj *rp){ for(vl0=vl,vNo=0;vl0;vl0=NEXT(vl0)){ if(vl0->v->attr==(pointer)V_IND){ if(vNo>=2){ - sprintf(ebuf,"%s : invalid ploy argument",fn); + sprintf(ebuf,"%s : invalid plot argument",fn); error(ebuf); } else v[vNo++]=vl0->v; } @@ -1041,7 +1049,7 @@ void plotover_mainNG(NODE arg,char *fn,Obj *rp){ poly=(P)BDY(arg); pfine=FALSE; } else { - sprintf(ebuf,"%s : to many ploy arguments",fn); + sprintf(ebuf,"%s : to many plot arguments",fn); error(ebuf); } break;