=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/packages/src/os_muldif.rr,v retrieving revision 1.42 retrieving revision 1.43 diff -u -p -r1.42 -r1.43 --- OpenXM/src/asir-contrib/packages/src/os_muldif.rr 2019/01/04 01:48:31 1.42 +++ OpenXM/src/asir-contrib/packages/src/os_muldif.rr 2019/01/07 22:49:50 1.43 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/asir-contrib/packages/src/os_muldif.rr,v 1.41 2018/12/29 11:06:05 takayama Exp $ */ +/* $OpenXM: OpenXM/src/asir-contrib/packages/src/os_muldif.rr,v 1.42 2019/01/04 01:48:31 takayama Exp $ */ /* The latest version will be at ftp://akagi.ms.u-tokyo.ac.jp/pub/math/muldif scp os_muldif.[dp]* ${USER}@lemon.math.kobe-u.ac.jp:/home/web/OpenXM/Current/doc/other-docs */ @@ -6,7 +6,7 @@ /* #undef USEMODULE */ /* os_muldif.rr (Library for Risa/Asir) - * Toshio Oshima (Nov. 2007 - Sep. 2018) + * Toshio Oshima (Nov. 2007 - Jan. 2019) * * For polynomials and differential operators with coefficients * in rational funtions (See os_muldif.pdf) @@ -468,7 +468,7 @@ extern LQS$ static S_Fc,S_Dc,S_Ic,S_Ec,S_EC,S_Lc$ static S_FDot$ extern AMSTeX$ -Muldif.rr="00181225"$ +Muldif.rr="00190101"$ AMSTeX=1$ TeXEq=5$ TeXLim=80$ @@ -1688,6 +1688,7 @@ def mtoupper(MM, F) if(type(St = getopt(step))!=1) St=0; Opt = getopt(opt); if(type(Opt)!=1) Opt=0; + if(type(Main=getopt(main))!=1) Main=0; TeX=getopt(dviout); if(type(Tab=getopt(tab))!=1 && Tab!=0) Tab=2; Line="\\text{line}"; @@ -1718,6 +1719,13 @@ def mtoupper(MM, F) Top+=(TeX)?"\\ ":" "; } PC=IF=1; + if(Opt>3){ + for(P=[1],K=0;K4 && length(Var=vars(nm(M[J][K])))==1){ J0=J;Jv=mydeg(nm(M[J0][K]),car(Var)); for(I=JJ;I0){ QF=1;Q0*=T; continue; } @@ -1858,10 +1870,10 @@ def mtoupper(MM, F) if(TeX){ Lout=cons(["\\hspace{",Tab*(St-3)-1,"mm}\\text{If }", Var,"=",T,","] ,Lout); - Lout=append(mtoupper(M0,F|step=St+1,opt=Opt,dviout=-2,tab=Tab),Lout); + Lout=append(mtoupper(M0,F|step=St+1,opt=Opt,dviout=-2,tab=Tab,main=Main),Lout); }else{ mycat([str_times(" ",St-1)+"If",Var,"=",T,","]); - mtoupper(M0,F|step=St+1,opt=Opt); + mtoupper(M0,F|step=St+1,opt=Opt,main=Main); } } } @@ -1878,11 +1890,13 @@ def mtoupper(MM, F) KRC=-red((T[2]*dn(M[J0][K]))/(T[1]*dn(M[I][K]))); for(II=K;II