From 8cf65fe92b28b8809abcb0eb59f951d26f30792f Mon Sep 17 00:00:00 2001 From: Sunil Shetye Date: Tue, 19 Jun 2018 23:23:04 +0530 Subject: distinguish between functions and arrays maintain a list of functions --- js/Electrical/CCS.js | 16 ++--- js/Electrical/CVS.js | 16 ++--- js/Electrical/Gyrator.js | 16 ++--- js/Electrical/IdealTransformer.js | 16 ++--- js/Electrical/NPN.js | 16 ++--- js/Electrical/PNP.js | 16 ++--- js/Events/MCLOCK_f.js | 4 +- js/Events/freq_div.js | 10 +-- js/Hydraulics/Flowmeter.js | 16 ++--- js/IntegerOp/BITCLEAR.js | 16 ++--- js/IntegerOp/BITSET.js | 16 ++--- js/IntegerOp/DFLIPFLOP.js | 2 +- js/IntegerOp/DLATCH.js | 2 +- js/IntegerOp/JKFLIPFLOP.js | 16 ++--- js/IntegerOp/LOGIC.js | 8 +-- js/IntegerOp/SRFLIPFLOP.js | 16 ++--- js/Linear/CLR.js | 74 ++++++++++++++++++++- js/Linear/CLR_f.js | 74 ++++++++++++++++++++- js/Linear/CLSS.js | 2 +- js/Linear/DELAYV_f.js | 2 +- js/Linear/DELAY_f.js | 10 +-- js/Linear/DLR.js | 73 ++++++++++++++++++++- js/Linear/DLR_f.js | 73 ++++++++++++++++++++- js/Linear/DLSS.js | 2 +- js/Linear/DOLLAR.js | 4 +- js/Linear/DOLLAR_m.js | 4 +- js/Linear/GAINBLK.js | 2 +- js/Linear/INTEGRAL_m.js | 2 +- js/Linear/PID.js | 36 +++++----- js/Linear/REGISTER.js | 16 ++--- js/Linear/REGISTER_f.js | 2 +- js/Linear/TIME_DELAY.js | 2 +- js/Linear/VARIABLE_DELAY.js | 2 +- js/MatrixOp/MATCATH.js | 2 +- js/MatrixOp/MATCATV.js | 2 +- js/MatrixOp/MATMUL.js | 4 +- js/MatrixOp/MATRESH.js | 6 +- js/MatrixOp/SUBMAT.js | 6 +- js/Misc/AUTOMAT.js | 135 +++++++++++++++++++++++++++++++++++++- js/Misc/BOUNCEXY.js | 8 +-- js/Misc/CBLOCK.js | 6 +- js/Misc/CBLOCK4.js | 6 +- js/Misc/DEBUG.js | 2 +- js/Misc/DEBUG_SCICOS.js | 4 +- js/Misc/DSUPER.js | 14 ++-- js/Misc/EDGETRIGGER.js | 4 +- js/Misc/EDGE_TRIGGER.js | 14 ++-- js/Misc/ENDBLK.js | 14 ++-- js/Misc/HYSTHERESIS.js | 2 +- js/Misc/MBLOCK.js | 50 +++++++------- js/Misc/MPBLOCK.js | 52 +++++++-------- js/Misc/PAL_f.js | 4 +- js/Misc/c_block.js | 4 +- js/Misc/fortran_block.js | 4 +- js/Misc/func_block.js | 2 +- js/Misc/generic_block3.js | 4 +- js/Misc/scifunc_block.js | 2 +- js/Misc/scifunc_block_m.js | 2 +- js/NonLinear/LOOKUP_c.js | 3 +- js/PDE/PDE.js | 10 +-- js/Sinks/AFFICH_m.js | 12 ++-- js/Sinks/CANIMXY3D.js | 8 +-- js/Sinks/CMAT3D.js | 2 +- js/Sinks/CMATVIEW.js | 8 +-- js/Sinks/CMSCOPE.js | 2 +- js/Sinks/CSCOPXY3D.js | 8 +-- js/Sinks/TOWS_c.js | 4 +- js/Sinks/WFILE_f.js | 14 ++-- js/Sinks/WRITEAU_f.js | 10 +-- js/Sinks/WRITEC_f.js | 12 ++-- js/Sources/CLOCK_c.js | 8 +-- js/Sources/CLOCK_f.js | 4 +- js/Sources/CONST_m.js | 4 +- js/Sources/CURVE_c.js | 3 +- js/Sources/CURV_f.js | 6 +- js/Sources/FROMWSB.js | 14 ++-- js/Sources/FROMWS_c.js | 4 +- js/Sources/GENSIN_f.js | 2 +- js/Sources/IN_f.js | 12 ++-- js/Sources/RAND_f.js | 4 +- js/Sources/RAND_m.js | 4 +- js/Sources/READAU_f.js | 14 ++-- js/Sources/READC_f.js | 18 ++--- js/Sources/RFILE_f.js | 20 +++--- js/Sources/STEP_FUNCTION.js | 14 ++-- js/Threshold/GENERAL_f.js | 2 +- 86 files changed, 784 insertions(+), 377 deletions(-) (limited to 'js') diff --git a/js/Electrical/CCS.js b/js/Electrical/CCS.js index de996d4f..bb5e1ebe 100644 --- a/js/Electrical/CCS.js +++ b/js/Electrical/CCS.js @@ -12,21 +12,21 @@ MO=[]; P=[[2,50,1,0],[70,98,2,0],[70,2,-2,0]]; PortName=[["Iin"],["p"],["n"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Electrical/CVS.js b/js/Electrical/CVS.js index 372998d0..ddeeecfd 100644 --- a/js/Electrical/CVS.js +++ b/js/Electrical/CVS.js @@ -12,21 +12,21 @@ MO=[]; P=[[2,50,1,0],[70,98,2,0],[70,2,-2,0]]; PortName=[["vin"],["p"],["n"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Electrical/Gyrator.js b/js/Electrical/Gyrator.js index e276a4fa..7d3990ee 100644 --- a/js/Electrical/Gyrator.js +++ b/js/Electrical/Gyrator.js @@ -12,21 +12,21 @@ MO=[]; P=[[2.5,90,2,0],[2.5,10,2,0],[97.5,90,-2,0],[97.5,10,-2,0]]; PortName=[["p1"],["n1"],["p2"],["n2"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Electrical/IdealTransformer.js b/js/Electrical/IdealTransformer.js index e2eb30c2..07982301 100644 --- a/js/Electrical/IdealTransformer.js +++ b/js/Electrical/IdealTransformer.js @@ -12,21 +12,21 @@ MO=[]; P=[[2.5,90,2,0],[2.5,10,2,0],[97.5,90,-2,0],[97.5,10,-2,0]]; PortName=[["p1"],["n1"],["p2"],["n2"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Electrical/NPN.js b/js/Electrical/NPN.js index 57b98315..27fa4fb4 100644 --- a/js/Electrical/NPN.js +++ b/js/Electrical/NPN.js @@ -12,21 +12,21 @@ MO=[]; P=[[100,90,-2,0],[0,50,2,0],[100,10,-2,0]]; PortName=[["C"],["B"],["E"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Electrical/PNP.js b/js/Electrical/PNP.js index 8ffce6fc..f9023be7 100644 --- a/js/Electrical/PNP.js +++ b/js/Electrical/PNP.js @@ -12,21 +12,21 @@ MO=[]; P=[[100,90,-2,0],[0,50,2,0],[100,10,-2,0]]; PortName=[["C"],["B"],["E"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/Events/MCLOCK_f.js b/js/Events/MCLOCK_f.js index aac463a8..1abf339a 100644 --- a/js/Events/MCLOCK_f.js +++ b/js/Events/MCLOCK_f.js @@ -74,7 +74,7 @@ x.graphics.peout=[[0],[0]]; } MCLOCK_f.prototype.set = function MCLOCK_f() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="MFCLCK_f") { path=i; break; @@ -82,7 +82,7 @@ break; } newpar=list(); spath=list("model","rpar","objs",path); -xx=arg1(spath); +xx=arg1[spath-1]; execstr("xxn="+xx.gui+"(\'set\',xx)"); if (or(xxn!=xx)) { arg1[spath-1]=xxn; diff --git a/js/Events/freq_div.js b/js/Events/freq_div.js index 6d8dae12..e66605dc 100644 --- a/js/Events/freq_div.js +++ b/js/Events/freq_div.js @@ -112,7 +112,7 @@ x=standard_define([3,2],model,[],gr_i); } freq_div.prototype.set = function freq_div() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="Modulo_Count") { path=i; break; @@ -125,7 +125,7 @@ spath[$+1-1]="model"; spath[$+1-1]="rpar"; spath[$+1-1]="objs"; spath[$+1-1]=path; -xx=arg1(spath); +xx=arg1[spath-1]; xxn=xx; graphics=xx.graphics; exprs=graphics.exprs; @@ -173,9 +173,9 @@ needcompile=4; if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { needcompile=4; } -if (prod(size(model_n.sim))>1) { -if (model_n.sim(2)>1000) { -if (model.sim(1)!=model_n.sim(1)) { +if (prod[size(model_n.sim)-1]>1) { +if (model_n.sim[2-1]>1000) { +if (model.sim[1-1]!=model_n.sim[1-1]) { needcompile=4; } } diff --git a/js/Hydraulics/Flowmeter.js b/js/Hydraulics/Flowmeter.js index 6b035647..7e8ce171 100644 --- a/js/Hydraulics/Flowmeter.js +++ b/js/Hydraulics/Flowmeter.js @@ -12,21 +12,21 @@ MO=[]; P=[[50,105,-1,90],[0,10,2,0],[101,10,-2,0]]; PortName=[["Mesure"],["C1"],["C2"]]; for (i=1;i<=size(P,"r");i+=1) { -if (P(i,3)==1) { +if (P[i-1][3-1]==1) { Typein=[[Typein],["E"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==2) { +if (P[i-1][3-1]==2) { Typein=[[Typein],["I"]]; -MI=[[MI],[PortName(i)]]; +MI=[[MI],[PortName[i-1]]]; } -if (P(i,3)==-1) { +if (P[i-1][3-1]==-1) { Typeout=[[Typeout],["E"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } -if (P(i,3)==-2) { +if (P[i-1][3-1]==-2) { Typeout=[[Typeout],["I"]]; -MO=[[MO],[PortName(i)]]; +MO=[[MO],[PortName[i-1]]]; } } model=scicos_model(); diff --git a/js/IntegerOp/BITCLEAR.js b/js/IntegerOp/BITCLEAR.js index 8b4d4858..0e1fd5ee 100644 --- a/js/IntegerOp/BITCLEAR.js +++ b/js/IntegerOp/BITCLEAR.js @@ -9,7 +9,7 @@ model.out=1; model.out2=1; model.intyp=3; model.outtyp=3; -model.opar=list(int32(0)); +model.opar=list(int32[0-1]); model.blocktype="c"; model.dep_ut=[true,false]; exprs=[[sci2exp(3)],[sci2exp(0)]]; @@ -31,7 +31,7 @@ if (!ok) { break; } in1=[model.in1,model.in2]; -if (floor(bit)!=bit) { +if (floor[bit-1]!=bit) { block_parameter_error(msprintf(gettext("Wrong type for \'%s\' parameter: %5.1f."),gettext("Index of Bit"),bit),gettext("Must be integer.")); ok=false; } else if ((Datatype==3)||(Datatype==6)) { @@ -39,9 +39,9 @@ if (bit>31||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 31]")); ok=false; } else { -bit=uint32(bit); +bit=uint32[bit-1]; n=(2^32-1)-2^bit; -n=uint32(n); +n=uint32[n-1]; model.sim=list("bit_clear_32",4); } } else if ((Datatype==4)||(Datatype==7)) { @@ -49,9 +49,9 @@ if (bit>15||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 15]")); ok=false; } else { -bit=uint16(bit); +bit=uint16[bit-1]; n=(2^16-1)-2^bit; -n=uint16(n); +n=uint16[n-1]; model.sim=list("bit_clear_16",4); } } else if ((Datatype==5)||(Datatype==8)) { @@ -59,9 +59,9 @@ if (bit>7||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 7]")); ok=false; } else { -bit=uint8(bit); +bit=uint8[bit-1]; n=(2^8-1)-2^bit; -n=uint8(n); +n=uint8[n-1]; model.sim=list("bit_clear_8",4); } } else { diff --git a/js/IntegerOp/BITSET.js b/js/IntegerOp/BITSET.js index e3318fbe..c530967f 100644 --- a/js/IntegerOp/BITSET.js +++ b/js/IntegerOp/BITSET.js @@ -9,7 +9,7 @@ model.out=1; model.out2=1; model.intyp=3; model.outtyp=3; -model.opar=list(uint32(0)); +model.opar=list(uint32[0-1]); model.blocktype="c"; model.dep_ut=[true,false]; exprs=[[sci2exp(3)],[sci2exp(0)]]; @@ -31,7 +31,7 @@ if (!ok) { break; } in1=[model.in1,model.in2]; -if (floor(bit)!=bit) { +if (floor[bit-1]!=bit) { block_parameter_error(msprintf(gettext("Wrong type for \'%s\' parameter: %5.1f."),gettext("Index of Bit"),bit),gettext("Must be integer.")); ok=false; } @@ -40,27 +40,27 @@ if (bit>31||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 31]")); ok=false; } -bit=uint32(bit); +bit=uint32[bit-1]; n=2^bit; -n=uint32(n); +n=uint32[n-1]; model.sim=list("bit_set_32",4); } else if ((Datatype==4)||(Datatype==7)) { if (bit>15||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 15]")); ok=false; } -bit=uint16(bit); +bit=uint16[bit-1]; n=2^bit; -n=uint16(n); +n=uint16[n-1]; model.sim=list("bit_set_16",4); } else if ((Datatype==5)||(Datatype==8)) { if (bit>7||bit<0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Index of Bit"),bit),msprintf(gettext("Must be in the interval %s."),"[0, 7]")); ok=false; } -bit=uint8(bit); +bit=uint8[bit-1]; n=2^bit; -n=uint8(n); +n=uint8[n-1]; model.sim=list("bit_set_8",4); } else { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Data Type"),Datatype),msprintf(gettext("Must be in the interval %s."),"[3, 8]")); diff --git a/js/IntegerOp/DFLIPFLOP.js b/js/IntegerOp/DFLIPFLOP.js index dcf097e3..e2ac2535 100644 --- a/js/IntegerOp/DFLIPFLOP.js +++ b/js/IntegerOp/DFLIPFLOP.js @@ -2,7 +2,7 @@ function DFLIPFLOP() { DFLIPFLOP.prototype.define = function DFLIPFLOP() { scs_m=scicos_diagram(version="scicos4.2",props=scicos_params(wpar=[600,450,0,0,600,450],Title=["DFLIPFLOP"],tol=[0.0001,0.000001,1.000e-10,100001,0,0],tf=100000,context=" ",void1=[],options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(true,33),[8,1],[1,5],list([5,1],[4,1]),[0.8,0.8,0.8]),void2=[],void3=[],doc=list())); -scs_m.objs[1-1]=scicos_block(gui="CONST_m",graphics=scicos_graphics(orig=[109.62561,263.44465],sz=[[20],[20]],flip=true,theta=0,exprs="int8(0)",pin=[],pout=6,pein=[],peout=[],gr_i=[],id="",in_implicit=[],out_implicit="E"),model=scicos_model(sim=list("cstblk4_m",4),in1=[],in2=[],intyp=1,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8(0)),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[1-1]=scicos_block(gui="CONST_m",graphics=scicos_graphics(orig=[109.62561,263.44465],sz=[[20],[20]],flip=true,theta=0,exprs="int8(0)",pin=[],pout=6,pein=[],peout=[],gr_i=[],id="",in_implicit=[],out_implicit="E"),model=scicos_model(sim=list("cstblk4_m",4),in1=[],in2=[],intyp=1,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8[0-1]),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[2-1]=scicos_block(gui="IFTHEL_f",graphics=scicos_graphics(orig=[239.98293,378.2166],sz=[60,60],flip=true,theta=0,exprs=[["1"],["1"]],pin=29,pout=[],pein=22,peout=[[16],[44]],gr_i=[],id="",in_implicit="E",out_implicit=[]),model=scicos_model(sim=list("ifthel",-1),in1=1,in2=1,intyp=-1,out=[],out2=[],outtyp=1,evtin=1,evtout=[[1],[1]],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="l",firing=[-1,-1],dep_ut=[true,false],label="",nzcross=1,nmode=1,equations=list()),doc=list()); scs_m.objs[3-1]=scicos_block(gui="LOGICAL_OP",graphics=scicos_graphics(orig=[152.88902,260.24498],sz=[60,40],flip=true,theta=0,exprs=[["2"],["1"],["5"],["0"]],pin=[[11],[39]],pout=5,pein=[],peout=[],gr_i=[],id="",in_implicit=[["E"],["E"]],out_implicit="E"),model=scicos_model(sim=list("logicalop_i8",4),in1=[[-1],[-1]],in2=[[-2],[-2]],intyp=[[5],[5]],out=-1,out2=-2,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[[1],[0]],opar=list(),blocktype="c",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[4-1]=scicos_block(gui="SAMPHOLD_m",graphics=scicos_graphics(orig=[233.72156,260.24498],sz=[40,40],flip=true,theta=0,exprs="5",pin=5,pout=33,pein=42,peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("samphold4_m",4),in1=-1,in2=-2,intyp=5,out=-1,out2=-2,outtyp=5,evtin=1,evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); diff --git a/js/IntegerOp/DLATCH.js b/js/IntegerOp/DLATCH.js index 00832d76..5dd1929c 100644 --- a/js/IntegerOp/DLATCH.js +++ b/js/IntegerOp/DLATCH.js @@ -2,7 +2,7 @@ function DLATCH() { DLATCH.prototype.define = function DLATCH() { scs_m=scicos_diagram(version="scicos4.2",props=scicos_params(wpar=[600,450,0,0,600,450],Title=["DLATCH"],tol=[0.0001,0.000001,1.000e-10,100001,0,0],tf=100000,context=" ",void1=[],options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(true,33),[8,1],[1,5],list([5,1],[4,1]),[0.8,0.8,0.8]),void2=[],void3=[],doc=list())); -scs_m.objs[1-1]=scicos_block(gui="CONST_m",graphics=scicos_graphics(orig=[109.62561,263.44465],sz=[[20],[20]],flip=true,theta=0,exprs="int8(0)",pin=[],pout=7,pein=[],peout=[],gr_i=[],id="",in_implicit=[],out_implicit="E"),model=scicos_model(sim=list("cstblk4_m",4),in1=[],in2=[],intyp=1,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8(0)),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[1-1]=scicos_block(gui="CONST_m",graphics=scicos_graphics(orig=[109.62561,263.44465],sz=[[20],[20]],flip=true,theta=0,exprs="int8(0)",pin=[],pout=7,pein=[],peout=[],gr_i=[],id="",in_implicit=[],out_implicit="E"),model=scicos_model(sim=list("cstblk4_m",4),in1=[],in2=[],intyp=1,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8[0-1]),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[2-1]=scicos_block(gui="IFTHEL_f",graphics=scicos_graphics(orig=[233.37693,320.30536],sz=[60,60],flip=true,theta=0,exprs=[["0"],["1"]],pin=13,pout=[],pein=[],peout=[[6],[0]],gr_i=list([["txt=[\'If in>0\';\' \';\' then else\'];"],["xstringb(orig(1),orig(2),txt,sz(1),sz(2),\'fill\');"]],8),id="",in_implicit="E",out_implicit=[]),model=scicos_model(sim=list("ifthel",-1),in1=1,in2=1,intyp=-1,out=[],out2=[],outtyp=1,evtin=[],evtout=[[1],[1]],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="l",firing=[-1,-1],dep_ut=[true,false],label="",nzcross=1,nmode=1,equations=list()),doc=list()); scs_m.objs[3-1]=scicos_block(gui="LOGICAL_OP",graphics=scicos_graphics(orig=[152.88902,260.24498],sz=[60,40],flip=true,theta=0,exprs=[["2"],["1"],["5"],["0"]],pin=[[15],[7]],pout=5,pein=[],peout=[],gr_i=list("xstringb(orig(1),orig(2),[\'Logical Op \';OPER],sz(1),sz(2),\'fill\');",8),id="",in_implicit=[["E"],["E"]],out_implicit="E"),model=scicos_model(sim=list("logicalop_i8",4),in1=[[-1],[-1]],in2=[[-2],[-2]],intyp=[[5],[5]],out=-1,out2=-2,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[[1],[0]],opar=list(),blocktype="c",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[4-1]=scicos_block(gui="SAMPHOLD_m",graphics=scicos_graphics(orig=[233.72156,260.24498],sz=[40,40],flip=true,theta=0,exprs="5",pin=5,pout=9,pein=6,peout=[],gr_i=list("xstringb(orig(1),orig(2),\'S/H\',sz(1),sz(2),\'fill\')",8),id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("samphold4_m",4),in1=-1,in2=-2,intyp=5,out=-1,out2=-2,outtyp=5,evtin=1,evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); diff --git a/js/IntegerOp/JKFLIPFLOP.js b/js/IntegerOp/JKFLIPFLOP.js index 2ecc001c..69a012c4 100644 --- a/js/IntegerOp/JKFLIPFLOP.js +++ b/js/IntegerOp/JKFLIPFLOP.js @@ -2,7 +2,7 @@ function JKFLIPFLOP() { JKFLIPFLOP.prototype.define = function JKFLIPFLOP() { scs_m=scicos_diagram(version="scicos4.2",props=scicos_params(wpar=[600,450,0,0,600,450],Title=["JKFLIPFLOP"],tol=[[0.0001],[0.000001],[1.000e-10],[100001],[0],[0],[0]],tf=60,context=" ",void1=[],options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(true,33),[8,1],[1,5],list([5,1],[4,1]),[0.8,0.8,0.8]),void2=[],void3=[],doc=list())); -scs_m.objs[1-1]=scicos_block(gui="DOLLAR_m",graphics=scicos_graphics(orig=[299.96961,261.584],sz=[40,40],flip=false,theta=0,exprs=[["int8(0)"],["1"]],pin=7,pout=5,pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("dollar4_m",4),in1=1,in2=1,intyp=5,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(int8(0)),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[1-1]=scicos_block(gui="DOLLAR_m",graphics=scicos_graphics(orig=[299.96961,261.584],sz=[40,40],flip=false,theta=0,exprs=[["int8(0)"],["1"]],pin=7,pout=5,pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("dollar4_m",4),in1=1,in2=1,intyp=5,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(int8[0-1]),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m_1=scicos_diagram(version="scicos4.2",props=scicos_params(wpar=[600,450,0,0,600,450],Title=["EDGE_TRIGGER","./"],tol=[[0.0001],[0.000001],[1.000e-10],[100001],[0],[0],[0]],tf=30,context=" ",void1=[],options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(true,33),[8,1],[1,5],list([5,1],[4,1]),[0.8,0.8,0.8]),void2=[],void3=[],doc=list())); scs_m_1.objs[1-1]=scicos_block(gui="EDGETRIGGER",graphics=scicos_graphics(orig=[288.58631,257.1131],sz=[60,40],flip=true,theta=0,exprs="-1",pin=5,pout=3,pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("edgetrig",4),in1=1,in2=[],intyp=1,out=1,out2=[],outtyp=1,evtin=[],evtout=[],state=[],dstate=0,odstate=list(),rpar=[],ipar=-1,opar=list(),blocktype="c",firing=[],dep_ut=[true,false],label="",nzcross=1,nmode=0,equations=list()),doc=list()); scs_m_1.objs[2-1]=scicos_block(gui="IFTHEL_f",graphics=scicos_graphics(orig=[388.28869,247.1131],sz=[60,60],flip=true,theta=0,exprs=[["0"],["0"]],pin=3,pout=[],pein=[],peout=[[7],[0]],gr_i=[],id="",in_implicit="E",out_implicit=[]),model=scicos_model(sim=list("ifthel",-1),in1=1,in2=[],intyp=1,out=[],out2=1,outtyp=[],evtin=[],evtout=[[1],[1]],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="l",firing=[-1,-1],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); @@ -12,7 +12,7 @@ scs_m_1.objs[5-1]=scicos_link(xx=[[260.01488],[280.01488]],yy=[[277.1131],[277.1 scs_m_1.objs[6-1]=scicos_block(gui="CLKOUTV_f",graphics=scicos_graphics(orig=[398.28869,181.39881],sz=[20,30],flip=true,theta=0,exprs="1",pin=[],pout=[],pein=7,peout=[],gr_i=[],id="",in_implicit=[],out_implicit=[]),model=scicos_model(sim="output",in1=[],in2=[],intyp=1,out=[],out2=[],outtyp=1,evtin=1,evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=1,opar=list(),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m_1.objs[7-1]=scicos_link(xx=[[408.28869],[408.28869]],yy=[[241.39881],[211.39881]],id="drawlink",thick=[0,0],ct=[5,-1],from=[2,1,0],to=[6,1,1]); scs_m.objs[2-1]=scicos_block(gui="EDGE_TRIGGER",graphics=scicos_graphics(orig=[292.52452,323.54888],sz=[60,40],flip=true,theta=0,exprs=[],pin=14,pout=[],pein=[],peout=8,gr_i=[],id="",in_implicit="E",out_implicit=[]),model=scicos_model(sim="csuper",in1=-1,in2=[],intyp=1,out=[],out2=[],outtyp=1,evtin=[],evtout=1,state=[],dstate=[],odstate=list(),rpar=scs_m_1,ipar=[],opar=list(),blocktype="h",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); -scs_m.objs[3-1]=scicos_block(gui="LOGIC",graphics=scicos_graphics(orig=[302.79613,202.52782],sz=[40,40],flip=true,theta=0,exprs=[["[0;1;1;1;0;0;1;0]"],["0"]],pin=[[5],[16],[18]],pout=4,pein=8,peout=[],gr_i=[],id="",in_implicit=[["E"],["E"],["E"]],out_implicit="E"),model=scicos_model(sim=list("logic",4),in1=[[1],[1],[1]],in2=[[1],[1],[1]],intyp=[[5],[5],[5]],out=1,out2=1,outtyp=5,evtin=1,evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8([[0],[1],[1],[1],[0],[0],[1],[0]])),blocktype="c",firing=false,dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[3-1]=scicos_block(gui="LOGIC",graphics=scicos_graphics(orig=[302.79613,202.52782],sz=[40,40],flip=true,theta=0,exprs=[["[0;1;1;1;0;0;1;0]"],["0"]],pin=[[5],[16],[18]],pout=4,pein=8,peout=[],gr_i=[],id="",in_implicit=[["E"],["E"],["E"]],out_implicit="E"),model=scicos_model(sim=list("logic",4),in1=[[1],[1],[1]],in2=[[1],[1],[1]],intyp=[[5],[5],[5]],out=1,out2=1,outtyp=5,evtin=1,evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8[[[0],[1],[1],[1],[0],[0],[1],[0]]-1]),blocktype="c",firing=false,dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[4-1]=scicos_link(xx=[[351.36756],[368.82793],[368.82793]],yy=[[222.52782],[222.52782],[223.06473]],id="drawlink",thick=[0,0],ct=[1,1],from=[3,1,0],to=[10,1,1]); scs_m.objs[5-1]=scicos_link(xx=[[291.39818],[274.18235],[274.18235],[294.2247]],yy=[[281.584],[281.584],[232.52782],[232.52782]],id="drawlink",thick=[0,0],ct=[1,1],from=[1,1,0],to=[3,1,1]); scs_m.objs[6-1]=scicos_block(gui="SPLIT_f",graphics=scicos_graphics(orig=[368.82793,243.45067],sz=[0.3333333,0.3333333],flip=true,theta=0,exprs=[],pin=11,pout=[[7],[20]],pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit=[["E"],["E"],["E"]]),model=scicos_model(sim="lsplit",in1=-1,in2=[],intyp=1,out=[[-1],[-1],[-1]],out2=[],outtyp=1,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="c",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); @@ -53,26 +53,26 @@ x=standard_define([2,3],model,[],gr_i); } JKFLIPFLOP.prototype.set = function JKFLIPFLOP() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="DOLLAR_m") { path=i; break; } } newpar=list(); -xx=arg1.model.rpar.objs(path); -exprs=xx.graphics.exprs(1); +xx=arg1.model.rpar.objs[path-1]; +exprs=xx.graphics.exprs[1-1]; model=xx.model; -init_old=model.odstate(1); +init_old=model.odstate[1-1]; while (true) { [ok,init,exprs0]=scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"JKFLIPFLOP")],[" "],[gettext("JK flip-flop")],[" "],[gettext("The \'Initial Value\' must be 0 or 1 of type int8")],[gettext(" - Negative values are considered as int8(0)")],[gettext(" - Positive values are considered as int8(1)")],[" "]],gettext("Initial Value"),list("vec",1),exprs); if (!ok) { break; } if (init<=0) { -init=int8(0); +init=int8[0-1]; } else if (init>0) { -init=int8(1); +init=int8[1-1]; } if (ok) { xx.graphics.exprs[1-1]=exprs0; diff --git a/js/IntegerOp/LOGIC.js b/js/IntegerOp/LOGIC.js index 06861382..aa41eb6e 100644 --- a/js/IntegerOp/LOGIC.js +++ b/js/IntegerOp/LOGIC.js @@ -11,7 +11,7 @@ model.out2=1; model.evtin=1; model.intyp=[5,5]; model.outtyp=5; -model.opar=list(int8(mat)); +model.opar=list(int8[mat-1]); model.blocktype="c"; model.firing=false; model.dep_ut=[true,false]; @@ -34,8 +34,8 @@ if (!ok) { break; } nout=size(mat,2); -nin=(log(size(mat,1))/log(2)); -u1=floor(nin); +nin=(log[size(mat,1)-1]/log[2-1]); +u1=floor[nin-1]; if ((u1!=nin)) { block_parameter_error(msprintf(gettext("Wrong size for \'%s\' parameter: %d."),gettext("Truth Table"),size(mat,1)),gettext("Number of rows must be a power of two.")); ok=false; @@ -55,7 +55,7 @@ ot=5*ones(1,nout); } if (ok) { graphics.exprs=exprs; -mat=int8(mat); +mat=int8[mat-1]; model.opar=list(mat); x.graphics=graphics; x.model=model; diff --git a/js/IntegerOp/SRFLIPFLOP.js b/js/IntegerOp/SRFLIPFLOP.js index de1bd644..4f2b33df 100644 --- a/js/IntegerOp/SRFLIPFLOP.js +++ b/js/IntegerOp/SRFLIPFLOP.js @@ -2,8 +2,8 @@ function SRFLIPFLOP() { SRFLIPFLOP.prototype.define = function SRFLIPFLOP() { scs_m=scicos_diagram(version="scicos4.2",props=scicos_params(wpar=[600,450,0,0,600,450],Title=["SRFLIPFLOP"],tol=[[0.0001],[0.000001],[1.000e-10],[100001],[0],[0],[0]],tf=60,context=" ",void1=[],options=tlist(["scsopt","3D","Background","Link","ID","Cmap"],list(true,33),[8,1],[1,5],list([5,1],[4,1]),[0.8,0.8,0.8]),void2=[],void3=[],doc=list())); -scs_m.objs[1-1]=scicos_block(gui="LOGIC",graphics=scicos_graphics(orig=[298.504,201.45067],sz=[40,40],flip=true,theta=0,exprs=[["[0 1;1 0;1 0;1 0;0 1;0 1;0 0;0 0]"],["1"]],pin=[[4],[10],[12]],pout=[[3],[8]],pein=[],peout=[],gr_i=[],id="",in_implicit=[["E"],["E"],["E"]],out_implicit=[["E"],["E"]]),model=scicos_model(sim=list("logic",4),in1=[[1],[1],[1]],in2=[[1],[1],[1]],intyp=[[5],[5],[5]],out=[[1],[1]],out2=[[1],[1]],outtyp=[[5],[5]],evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8([[0,1],[1,0],[1,0],[1,0],[0,1],[0,1],[0,0],[0,0]])),blocktype="c",firing=false,dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); -scs_m.objs[2-1]=scicos_block(gui="DOLLAR_m",graphics=scicos_graphics(orig=[299.23733,254.25067],sz=[40,40],flip=false,theta=0,exprs=[["int8(0)"],["1"]],pin=6,pout=4,pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("dollar4_m",4),in1=1,in2=1,intyp=5,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(int8(0)),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[1-1]=scicos_block(gui="LOGIC",graphics=scicos_graphics(orig=[298.504,201.45067],sz=[40,40],flip=true,theta=0,exprs=[["[0 1;1 0;1 0;1 0;0 1;0 1;0 0;0 0]"],["1"]],pin=[[4],[10],[12]],pout=[[3],[8]],pein=[],peout=[],gr_i=[],id="",in_implicit=[["E"],["E"],["E"]],out_implicit=[["E"],["E"]]),model=scicos_model(sim=list("logic",4),in1=[[1],[1],[1]],in2=[[1],[1],[1]],intyp=[[5],[5],[5]],out=[[1],[1]],out2=[[1],[1]],outtyp=[[5],[5]],evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(int8[[[0,1],[1,0],[1,0],[1,0],[0,1],[0,1],[0,0],[0,0]]-1]),blocktype="c",firing=false,dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); +scs_m.objs[2-1]=scicos_block(gui="DOLLAR_m",graphics=scicos_graphics(orig=[299.23733,254.25067],sz=[40,40],flip=false,theta=0,exprs=[["int8(0)"],["1"]],pin=6,pout=4,pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit="E"),model=scicos_model(sim=list("dollar4_m",4),in1=1,in2=1,intyp=5,out=1,out2=1,outtyp=5,evtin=[],evtout=[],state=[],dstate=[],odstate=list(int8[0-1]),rpar=[],ipar=[],opar=list(),blocktype="d",firing=[],dep_ut=[false,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); scs_m.objs[3-1]=scicos_link(xx=[[347.07543],[363.03733],[363.03733]],yy=[[228.11733],[228.11733],[248.584]],id="drawlink",thick=[0,0],ct=[1,1],from=[1,1,0],to=[5,1,1]); scs_m.objs[4-1]=scicos_link(xx=[[290.6659],[272.104],[272.104],[289.93257]],yy=[[274.25067],[274.25067],[231.45067],[231.45067]],id="drawlink",thick=[0,0],ct=[1,1],from=[2,1,0],to=[1,1,1]); scs_m.objs[5-1]=scicos_block(gui="SPLIT_f",graphics=scicos_graphics(orig=[363.03733,248.584],sz=[0.3333333,0.3333333],flip=true,theta=0,exprs=[],pin=3,pout=[[6],[14]],pein=[],peout=[],gr_i=[],id="",in_implicit="E",out_implicit=[["E"],["E"],["E"]]),model=scicos_model(sim="lsplit",in1=-1,in2=[],intyp=1,out=[[-1],[-1],[-1]],out2=[],outtyp=1,evtin=[],evtout=[],state=[],dstate=[],odstate=list(),rpar=[],ipar=[],opar=list(),blocktype="c",firing=[],dep_ut=[true,false],label="",nzcross=0,nmode=0,equations=list()),doc=list()); @@ -37,26 +37,26 @@ x=standard_define([2,3],model,[],gr_i); } SRFLIPFLOP.prototype.set = function SRFLIPFLOP() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="DOLLAR_m") { path=i; break; } } newpar=list(); -xx=arg1.model.rpar.objs(path); -exprs=xx.graphics.exprs(1); +xx=arg1.model.rpar.objs[path-1]; +exprs=xx.graphics.exprs[1-1]; model=xx.model; -init_old=model.odstate(1); +init_old=model.odstate[1-1]; while (true) { [ok,init,exprs0]=scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"SRFLIPFLOP")],[" "],[gettext("SR flip-flop")],[" "],[gettext("The \'Initial Value\' must be 0 or 1 of type int8")],[gettext(" - Negative values are considered as int8(0)")],[gettext(" - Positive values are considered as int8(1)")],[" "]],gettext("Initial Value"),list("vec",1),exprs); if (!ok) { break; } if (init<=0) { -init=int8(0); +init=int8[0-1]; } else if (init>0) { -init=int8(1); +init=int8[1-1]; } if (ok) { xx.graphics.exprs[1-1]=exprs0; diff --git a/js/Linear/CLR.js b/js/Linear/CLR.js index c13540f6..cc4cbc8a 100644 --- a/js/Linear/CLR.js +++ b/js/Linear/CLR.js @@ -1,3 +1,73 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,2362) /* autogenerated from "macros/Linear/CLR.sci" */ -None +function CLR() { + CLR.prototype.define = function CLR() { +x0=0; +A=-1; +B=1; +C=1; +D=0; +exprs=[["1"],["1+s"]]; +model=scicos_model(); +model.sim=list("csslti4",4); +model.in1=1; +model.out=1; +model.state=x0; +model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.blocktype="c"; +model.dep_ut=[false,true]; +gr_i=[]; +x=standard_define([3,2],model,exprs,gr_i); + } + CLR.prototype.details = function CLR() { + } + CLR.prototype.get = function CLR() { + } + CLR.prototype.set = function CLR() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x0=model.state; +rpar=model.rpar; +ns=prod[size(x0)-1]; +nin=1; +nout=1; +PREVAR_scicos_context=PREVAR_scicos_context; +PREVAR_scicos_context.s=%s; +while (true) { +[ok,num,den,exprs]=scicos_getvalue("Set continuous SISO transfer parameters",[["Numerator (s)"],["Denominator (s)"]],list("pol",1,"pol",1),exprs); +if (!ok) { +break; +} +if (degree[num-1]>degree[den-1]) { +message("Transfer function must be proper or strictly proper."); +ok=false; +} +if (ok) { +H=cont_frm[num-1][den-1]; +[A,B,C,D]=H.slice(2-1,5); +graphics.exprs=exprs; +[ns1,ns1]=size(A); +rpar=[[matrix(A,ns1*ns1,1)],[matrix(B,ns1,1)],[matrix(C,ns1,1)],[D]]; +if (norm(D,1)!=0) { +mmm=[true,true]; +} else { +mmm=[false,true]; +} +if (or(model.dep_ut!=mmm)) { +model.dep_ut=mmm; +} +if (ns1<=ns) { +x0=x0.slice(1-1,ns1); +} else { +x0[ns1-1][1-1]=0; +} +model.state=x0; +model.rpar=rpar; +x.graphics=graphics; +x.model=model; +break; +} +} + } +} diff --git a/js/Linear/CLR_f.js b/js/Linear/CLR_f.js index 946bf38f..010c4839 100644 --- a/js/Linear/CLR_f.js +++ b/js/Linear/CLR_f.js @@ -1,3 +1,73 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,2382) /* autogenerated from "macros/Linear/CLR_f.sci" */ -None +function CLR_f() { + CLR_f.prototype.define = function CLR_f() { +x0=0; +A=-1; +B=1; +C=1; +D=0; +exprs=[["1"],["1+s"]]; +model=scicos_model(); +model.sim=list("csslti",1); +model.in1=1; +model.out=1; +model.state=x0; +model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.blocktype="c"; +model.dep_ut=[false,true]; +gr_i=[]; +x=standard_define([2.5,2.5],model,exprs,gr_i); + } + CLR_f.prototype.details = function CLR_f() { + } + CLR_f.prototype.get = function CLR_f() { + } + CLR_f.prototype.set = function CLR_f() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x0=model.state; +rpar=model.rpar; +ns=prod[size(x0)-1]; +nin=1; +nout=1; +PREVAR_scicos_context=PREVAR_scicos_context; +PREVAR_scicos_context.s=%s; +while (true) { +[ok,num,den,exprs]=scicos_getvalue("Set continuous SISO transfer parameters",[["Numerator (s)"],["Denominator (s)"]],list("pol",1,"pol",1),exprs); +if (!ok) { +break; +} +if (degree[num-1]>degree[den-1]) { +message("Transfer must be proper or strictly proper"); +ok=false; +} +if (ok) { +H=cont_frm[num-1][den-1]; +[A,B,C,D]=H.slice(2-1,5); +graphics.exprs=exprs; +[ns1,ns1]=size(A); +rpar=[[matrix(A,ns1*ns1,1)],[matrix(B,ns1,1)],[matrix(C,ns1,1)],[D]]; +if (norm(D,1)!=0) { +mmm=[true,true]; +} else { +mmm=[false,true]; +} +if (or(model.dep_ut!=mmm)) { +model.dep_ut=mmm; +} +if (ns1<=ns) { +x0=x0.slice(1-1,ns1); +} else { +x0[ns1-1][1-1]=0; +} +model.state=x0; +model.rpar=rpar; +x.graphics=graphics; +x.model=model; +break; +} +} + } +} diff --git a/js/Linear/CLSS.js b/js/Linear/CLSS.js index 1bd13689..b330992b 100644 --- a/js/Linear/CLSS.js +++ b/js/Linear/CLSS.js @@ -57,7 +57,7 @@ okD=false; } } if (ms!=ns||!okD) { -message(_("Matrix A is not square or D has wrong dimension")); +message(_["Matrix A is not square or D has wrong dimension"-1]); } else { [model,graphics,ok]=check_io(model,graphics,in1,out,[],[]); if (ok) { diff --git a/js/Linear/DELAYV_f.js b/js/Linear/DELAYV_f.js index 410c96f4..32d5eca9 100644 --- a/js/Linear/DELAYV_f.js +++ b/js/Linear/DELAYV_f.js @@ -29,7 +29,7 @@ x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; -nin=model.in1(1); +nin=model.in1[1-1]; z0=model.dstate; zz0=z0.slice(1-1,$-1); told=z0[$-1]; diff --git a/js/Linear/DELAY_f.js b/js/Linear/DELAY_f.js index 667c4976..66f2ca4b 100644 --- a/js/Linear/DELAY_f.js +++ b/js/Linear/DELAY_f.js @@ -71,7 +71,7 @@ x.graphics.out_style=""; DELAY_f.prototype.set = function DELAY_f() { ppath=list(0,0); for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="REGISTER_f") { ppath[1-1]=i; } @@ -84,18 +84,18 @@ break; } x=arg1; newpar=list(); -register=x.model.rpar.objs(ppath[1-1]); -evtdly=x.model.rpar.objs(ppath[2-1]); +register=x.model.rpar.objs[ppath[1-1]-1]; +evtdly=x.model.rpar.objs[ppath[2-1]-1]; register_exprs=register.graphics.exprs; evtdly_exprs=evtdly.graphics.exprs; -exprs=[[evtdly_exprs(1)],[register_exprs]]; +exprs=[[evtdly_exprs[1-1]],[register_exprs]]; while (true) { [ok,dt,z0,exprs]=scicos_getvalue([["This block implements as a discretized delay"],["it is consist of a shift register and a clock"],["value of the delay is given by;","the discretization time step multiplied by the"],["number-1 of state of the register"]],[["Discretization time step"],["Register initial state"]],list("vec",1,"vec",-1),exprs); if (!ok) { break; } mess=[]; -if (prod(size(z0))<1) { +if (prod[size(z0)-1]<1) { mess=[[mess],["Register length must be at least 1"],[" "]]; ok=false; } diff --git a/js/Linear/DLR.js b/js/Linear/DLR.js index 61f8ec2c..dbbe1b83 100644 --- a/js/Linear/DLR.js +++ b/js/Linear/DLR.js @@ -1,3 +1,72 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,1937) /* autogenerated from "macros/Linear/DLR.sci" */ -None +function DLR() { + DLR.prototype.define = function DLR() { +x0=0; +A=-1; +B=1; +C=1; +D=0; +exprs=[["1"],["1+z"]]; +model=scicos_model(); +model.sim=list("dsslti4",4); +model.in1=1; +model.out=1; +model.evtin=1; +model.dstate=x0.slice(); +model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.blocktype="d"; +model.dep_ut=[false,false]; +gr_i=[]; +x=standard_define([3,2],model,exprs,gr_i); + } + DLR.prototype.details = function DLR() { + } + DLR.prototype.get = function DLR() { + } + DLR.prototype.set = function DLR() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x0=model.dstate; +ns=prod[size(x0)-1]; +PREVAR_scicos_context=PREVAR_scicos_context; +PREVAR_scicos_context.z=%z; +while (true) { +[ok,num,den,exprs]=scicos_getvalue("Set discrete SISO transfer parameters",[["Numerator (z)"],["Denominator (z)"]],list("pol",1,"pol",1),exprs); +if (!ok) { +break; +} +if (degree[num-1]>degree[den-1]) { +message("Transfer function must be proper"); +ok=false; +} +if (ok) { +H=cont_frm[num-1][den-1]; +[A,B,C,D]=H.slice(2-1,5); +graphics.exprs=exprs; +[ns1,ns1]=size(A); +if (ns1<=ns) { +x0=x0.slice(1-1,ns1); +} else { +x0[ns1-1][1-1]=0; +} +rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.dstate=x0; +model.rpar=rpar; +if (norm(D,1)!=0) { +mmm=[true,false]; +} else { +mmm=[false,false]; +} +if (or(model.dep_ut!=mmm)) { +model.dep_ut=mmm; +} +x.graphics=graphics; +x.model=model; +break; +} +} +x.model.firing=[]; + } +} diff --git a/js/Linear/DLR_f.js b/js/Linear/DLR_f.js index c4748f7e..15c876f2 100644 --- a/js/Linear/DLR_f.js +++ b/js/Linear/DLR_f.js @@ -1,3 +1,72 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,1930) /* autogenerated from "macros/Linear/DLR_f.sci" */ -None +function DLR_f() { + DLR_f.prototype.define = function DLR_f() { +x0=0; +A=-1; +B=1; +C=1; +D=0; +exprs=[["1"],["1+z"]]; +model=scicos_model(); +model.sim="dsslti"; +model.in1=1; +model.out=1; +model.evtin=1; +model.dstate=x0.slice(); +model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.blocktype="d"; +model.dep_ut=[false,false]; +gr_i=[]; +x=standard_define([2.5,2.5],model,exprs,gr_i); + } + DLR_f.prototype.details = function DLR_f() { + } + DLR_f.prototype.get = function DLR_f() { + } + DLR_f.prototype.set = function DLR_f() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x0=model.dstate; +ns=prod[size(x0)-1]; +PREVAR_scicos_context=PREVAR_scicos_context; +PREVAR_scicos_context.z=%z; +while (true) { +[ok,num,den,exprs]=scicos_getvalue("Set discrete SISO transfer parameters",[["Numerator (z)"],["Denominator (z)"]],list("pol",1,"pol",1),exprs); +if (!ok) { +break; +} +if (degree[num-1]>degree[den-1]) { +message("Transfer must be proper"); +ok=false; +} +if (ok) { +H=cont_frm[num-1][den-1]; +[A,B,C,D]=H.slice(2-1,5); +graphics.exprs=exprs; +[ns1,ns1]=size(A); +if (ns1<=ns) { +x0=x0.slice(1-1,ns1); +} else { +x0[ns1-1][1-1]=0; +} +rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.dstate=x0; +model.rpar=rpar; +if (norm(D,1)!=0) { +mmm=[true,false]; +} else { +mmm=[false,false]; +} +if (or(model.dep_ut!=mmm)) { +model.dep_ut=mmm; +} +x.graphics=graphics; +x.model=model; +break; +} +} +x.model.firing=[]; + } +} diff --git a/js/Linear/DLSS.js b/js/Linear/DLSS.js index eacdb24b..0bd4f00d 100644 --- a/js/Linear/DLSS.js +++ b/js/Linear/DLSS.js @@ -56,7 +56,7 @@ okD=false; } } if (ms!=ns||!okD) { -message(_("Matrix A is not square or D has wrong dimension")); +message(_["Matrix A is not square or D has wrong dimension"-1]); } else { [model,graphics,ok]=check_io(model,graphics,in1,out,1,[]); if (ok) { diff --git a/js/Linear/DOLLAR.js b/js/Linear/DOLLAR.js index 359b75ec..915b26ed 100644 --- a/js/Linear/DOLLAR.js +++ b/js/Linear/DOLLAR.js @@ -41,8 +41,8 @@ in1=out; model.sim=list("dollar4_m",4); model.odstate=list(a); model.dstate=[]; -if (type((a)==1)) { -if (isreal(a)) { +if (type[(a)==1-1]) { +if (isreal[a-1]) { it=1; ot=1; if ((size(a,1)==1||size(a,2)==1)) { diff --git a/js/Linear/DOLLAR_m.js b/js/Linear/DOLLAR_m.js index f4cdefb2..6f1a5aea 100644 --- a/js/Linear/DOLLAR_m.js +++ b/js/Linear/DOLLAR_m.js @@ -41,8 +41,8 @@ in1=out; model.sim=list("dollar4_m",4); model.odstate=list(a); model.dstate=[]; -if ((type(a)==1)) { -if (isreal(a)) { +if ((type[a-1]==1)) { +if (isreal[a-1]) { it=1; ot=1; if ((size(a,1)==1||size(a,2)==1)) { diff --git a/js/Linear/GAINBLK.js b/js/Linear/GAINBLK.js index 2f188149..4fe4b974 100644 --- a/js/Linear/GAINBLK.js +++ b/js/Linear/GAINBLK.js @@ -40,7 +40,7 @@ if (gain==[]) { message("Gain must have at least one element"); } else { if (typeof(gain)=="constant") { -if (isreal(gain)) { +if (isreal[gain-1]) { it=1; ot=1; model.sim=list("gainblk",4); diff --git a/js/Linear/INTEGRAL_m.js b/js/Linear/INTEGRAL_m.js index d18b4af5..b22c1b54 100644 --- a/js/Linear/INTEGRAL_m.js +++ b/js/Linear/INTEGRAL_m.js @@ -32,7 +32,7 @@ while (true) { if (!ok) { break; } -if (isreal(x0)) { +if (isreal[x0-1]) { Datatype=1; } else { Datatype=2; diff --git a/js/Linear/PID.js b/js/Linear/PID.js index 4bba0cfd..8067868f 100644 --- a/js/Linear/PID.js +++ b/js/Linear/PID.js @@ -45,27 +45,27 @@ x=standard_define([2,2],model,[],gr_i); PID.prototype.set = function PID() { ppath=list(0,0,0); for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Link") { -from=arg1.model.rpar.objs(o.from(1)); -to=arg1.model.rpar.objs(o.to(1)); +from=arg1.model.rpar.objs[o.from[1-1]-1]; +to=arg1.model.rpar.objs[o.to[1-1]-1]; if (from.gui=="GAINBLK") { switch (to.gui) { case "SUMMATION": -ppath[1-1]=o.from(1); +ppath[1-1]=o.from[1-1]; case "INTEGRAL_m": -ppath[2-1]=o.from(1); +ppath[2-1]=o.from[1-1]; case "DERIV": -ppath[3-1]=o.from(1); +ppath[3-1]=o.from[1-1]; } } else if (to.gui=="GAINBLK") { switch (from.gui) { case "SUMMATION": -ppath[1-1]=o.to(1); +ppath[1-1]=o.to[1-1]; case "INTEGRAL_m": -ppath[2-1]=o.to(1); +ppath[2-1]=o.to[1-1]; case "DERIV": -ppath[3-1]=o.to(1); +ppath[3-1]=o.to[1-1]; } } if (and(ppath!=list(0,0,0))) { @@ -74,14 +74,14 @@ break; } } newpar=list(); -xx1=arg1.model.rpar.objs(ppath[1-1]); -exprs[1-1]=xx1.graphics.exprs(1); +xx1=arg1.model.rpar.objs[ppath[1-1]-1]; +exprs[1-1]=xx1.graphics.exprs[1-1]; p_old=xx1.model.rpar; -xx2=arg1.model.rpar.objs(ppath[2-1]); -exprs[2-1]=xx2.graphics.exprs(1); +xx2=arg1.model.rpar.objs[ppath[2-1]-1]; +exprs[2-1]=xx2.graphics.exprs[1-1]; i_old=xx2.model.rpar; -xx3=arg1.model.rpar.objs(ppath[3-1]); -exprs[3-1]=xx3.graphics.exprs(1); +xx3=arg1.model.rpar.objs[ppath[3-1]-1]; +exprs[3-1]=xx3.graphics.exprs[1-1]; d_old=xx3.model.rpar; y=0; while (true) { @@ -90,11 +90,11 @@ if (!ok) { break; } if (ok) { -xx1.graphics.exprs=exprs0(1); +xx1.graphics.exprs=exprs0[1-1]; xx1.model.rpar=p; -xx2.graphics.exprs=exprs0(2); +xx2.graphics.exprs=exprs0[2-1]; xx2.model.rpar=i; -xx3.graphics.exprs=exprs0(3); +xx3.graphics.exprs=exprs0[3-1]; xx3.model.rpar=d; arg1.model.rpar.objs[ppath[1-1]-1]=xx1; arg1.model.rpar.objs[ppath[2-1]-1]=xx2; diff --git a/js/Linear/REGISTER.js b/js/Linear/REGISTER.js index ce6d6c13..afd5dc08 100644 --- a/js/Linear/REGISTER.js +++ b/js/Linear/REGISTER.js @@ -31,34 +31,34 @@ while (true) { if (!ok) { break; } -if (prod(size(z0))<1) { +if (prod[size(z0)-1]<1) { message("Register length must be at least 1"); ok=false; } if (it==1) { model.sim=list("delay4",4); -z0=double(z0); +z0=double[z0-1]; model.dstate=z0; model.odstate=list(); } else { if (it==3) { model.sim=list("delay4_i32",4); -z0=int32(z0); +z0=int32[z0-1]; } else if (it==4) { model.sim=list("delay4_i16",4); -z0=int16(z0); +z0=int16[z0-1]; } else if (it==5) { model.sim=list("delay4_i8",4); -z0=int8(z0); +z0=int8[z0-1]; } else if (it==6) { model.sim=list("delay4_ui32",4); -z0=uint32(z0); +z0=uint32[z0-1]; } else if (it==7) { model.sim=list("delay4_ui16",4); -z0=uint16(z0); +z0=uint16[z0-1]; } else if (it==8) { model.sim=list("delay4_ui8",4); -z0=uint8(z0); +z0=uint8[z0-1]; } else { message("Datatype is not supported"); ok=false; diff --git a/js/Linear/REGISTER_f.js b/js/Linear/REGISTER_f.js index 786d8d1a..f64e177e 100644 --- a/js/Linear/REGISTER_f.js +++ b/js/Linear/REGISTER_f.js @@ -28,7 +28,7 @@ while (true) { if (!ok) { break; } -if (prod(size(z0))<1) { +if (prod[size(z0)-1]<1) { message("Register length must be at least 1"); ok=false; } diff --git a/js/Linear/TIME_DELAY.js b/js/Linear/TIME_DELAY.js index 65dc2668..bfdf2466 100644 --- a/js/Linear/TIME_DELAY.js +++ b/js/Linear/TIME_DELAY.js @@ -26,7 +26,7 @@ x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; -nin=model.in1(1); +nin=model.in1[1-1]; while (true) { [ok,T,init,N,exprs]=scicos_getvalue("Set delay parameters",[["Delay"],["initial input"],["Buffer size"]],list("vec",1,"vec",1,"vec",1),exprs); if (!ok) { diff --git a/js/Linear/VARIABLE_DELAY.js b/js/Linear/VARIABLE_DELAY.js index e76d6a04..23ef7824 100644 --- a/js/Linear/VARIABLE_DELAY.js +++ b/js/Linear/VARIABLE_DELAY.js @@ -26,7 +26,7 @@ x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; -nin=model.in1(1); +nin=model.in1[1-1]; while (true) { [ok,T,init,N,exprs]=scicos_getvalue("Set delay parameters",[["Max delay"],["initial input"],["Buffer size"]],list("vec",1,"vec",1,"vec",1),exprs); if (!ok) { diff --git a/js/MatrixOp/MATCATH.js b/js/MatrixOp/MATCATH.js index 930bba26..830403aa 100644 --- a/js/MatrixOp/MATCATH.js +++ b/js/MatrixOp/MATCATH.js @@ -34,7 +34,7 @@ model=arg1.model; graphics=arg1.graphics; label=graphics.exprs; if (size(label,"*")>1) { -label="size(evstr("+label(2)+"),\'*\')"; +label="size(evstr("+label[2-1]+"),\'*\')"; } while (true) { [ok,nin,lab]=scicos_getvalue("Set MATCATH block parameters",["Number of input"],list("vec",1),label); diff --git a/js/MatrixOp/MATCATV.js b/js/MatrixOp/MATCATV.js index 9d22c7cd..3d8cfe3f 100644 --- a/js/MatrixOp/MATCATV.js +++ b/js/MatrixOp/MATCATV.js @@ -35,7 +35,7 @@ model=arg1.model; graphics=arg1.graphics; label=graphics.exprs; if (size(label,"*")>1) { -label="size(evstr("+label(2)+"),\'*\')"; +label="size(evstr("+label[2-1]+"),\'*\')"; } while (true) { [ok,nin,lab]=scicos_getvalue("Set MATCATV block parameters",["Number od inputs"],list("vec",1),label); diff --git a/js/MatrixOp/MATMUL.js b/js/MatrixOp/MATMUL.js index 623748a7..2d525127 100644 --- a/js/MatrixOp/MATMUL.js +++ b/js/MatrixOp/MATMUL.js @@ -121,8 +121,8 @@ model.sim=list("matmul_ui8e",4); } } } -kmin=TABMIN(dtype); -kmax=TABMAX(dtype); +kmin=TABMIN[dtype-1]; +kmax=TABMAX[dtype-1]; it=dtype*ones(1,2); ot=dtype; if (rule==1) { diff --git a/js/MatrixOp/MATRESH.js b/js/MatrixOp/MATRESH.js index eacbd0a0..7136c644 100644 --- a/js/MatrixOp/MATRESH.js +++ b/js/MatrixOp/MATRESH.js @@ -52,15 +52,15 @@ message("input must have at least one element"); ok=false; } if (ok) { -if (((out(1)>(l1(1)*l1(2))))) { +if (((out[1-1]>(l1[1-1]*l1[2-1])))) { message("the first dimension of the output is too big"); ok=false; } -if (((out(2)>(l1(1)*l1(2))))) { +if (((out[2-1]>(l1[1-1]*l1[2-1])))) { message("the second dimension of the output is too big"); ok=false; } -if ((((out(2)*out(1))>(l1(1)*l1(2))))) { +if ((((out[2-1]*out[1-1])>(l1[1-1]*l1[2-1])))) { message("the dimensions of the output are too big"); ok=false; } diff --git a/js/MatrixOp/SUBMAT.js b/js/MatrixOp/SUBMAT.js index 30a9cd1a..ff35a0fd 100644 --- a/js/MatrixOp/SUBMAT.js +++ b/js/MatrixOp/SUBMAT.js @@ -65,16 +65,16 @@ if (dinp(1)) { +if (b>inp[1-1]) { message("index of ending row is out of range"); ok=false; } -if (d>inp(2)) { +if (d>inp[2-1]) { message("index of ending column is out of range"); ok=false; } model.ipar=[[a],[b],[c],[d]]; -in1=[inp(1),inp(2)]; +in1=[inp[1-1],inp[2-1]]; out=[(b-a)+1,(d-c)+1]; funtyp=4; label=exprs; diff --git a/js/Misc/AUTOMAT.js b/js/Misc/AUTOMAT.js index 735e3581..32a3a3e9 100644 --- a/js/Misc/AUTOMAT.js +++ b/js/Misc/AUTOMAT.js @@ -1,3 +1,134 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,3935) /* autogenerated from "macros/Misc/AUTOMAT.sci" */ -None +function AUTOMAT() { + AUTOMAT.prototype.define = function AUTOMAT() { +NMode=2; +Minitial=1; +NX=1; +X0=[0.0]; +XP=[[1],[1]]; +C1=[2]; +C2=[1]; +exprs=[[string(NMode)],[string(Minitial)],[string(NX)],[sci2exp(X0)],[sci2exp(XP)],[sci2exp(C1)],[sci2exp(C2)]]; +ipar=[[NMode],[Minitial],[NX],[XP],[C1],[C2]]; +rpar=[X0]; +model=scicos_model(); +model.sim=list("automat",10004); +model.in1=[[2*NX+1],[2*NX+1]]; +model.out=[[2],[2*NX]]; +model.state=ones(2*NX,1); +model.nzcross=1; +model.blocktype="c"; +model.evtout=1; +model.firing=-1; +model.dep_ut=[false,true]; +model.ipar=ipar; +model.rpar=rpar; +gr_i=[]; +x=standard_define([4,2],model,exprs,gr_i); + } + AUTOMAT.prototype.details = function AUTOMAT() { + } + AUTOMAT.prototype.get = function AUTOMAT() { + } + AUTOMAT.prototype.set = function AUTOMAT() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +ipar=model.ipar; +NMode=ipar[1-1]; +NX=ipar[3-1]; +while (true) { +CX="C1"; +MSG0="\'Jump from Mode "; +MSG2=":[..;M_final(Guard=In("; +MSG3=").i);..]\'"; +MSG=MSG0+"1"+MSG2+"1"+MSG3; +VEC="\'mat\',[-1,1]"; +for (i=2;i<=NMode;i+=1) { +CX=CX+","+"C"+string(i); +MSG=MSG+";"+MSG0+string(i)+MSG2+string(i)+MSG3; +VEC=VEC+","+"\'mat\',[-1,1]"; +} +GTV="[ok,NMode,Minitial,NX,X0,XP,"+CX+",exprs]=scicos_getvalue(\'Set Finite state machine model\', [\'Number (finite-state) Modes\';\'Initial Mode\';\'Number of continuous-time states\';\'Continuous-time states intial values\';\'Xproperties of continuous-time states in each Mode\';"+MSG+"], list(\'vec\',1,\'vec\',1,\'vec\',1,\'mat\',[-1,-1],\'mat\',[-1,-1],"+VEC+"),exprs)"; +execstr(GTV); +if (!ok) { +break; +} +NMode_old=size(exprs,"*")-5; +ModifEncore=false; +if ((NMode_old>NMode)) { +exprs.slice(NMode+6-1,NMode_old+5)=[]; +ModifEncore=true; +} +if ((NMode_old1))) { +messagebox("Xproperty matrix is not valid: it should have NMode="+string(NMode)+" or 1 row(s)","modal","error"); +ModifEncore=true; +} else if ((rXP==1)) { +for (i=1;i<=NMode-1;i+=1) { +XP=[[XP],[XP[1-1].slice()]]; +} +} +if ((NMode_old==NMode)&&(!ModifEncore)) { +XP=matrix(transpose(XP),NMode*NX,1); +ipar=[[NMode],[Minitial],[NX],[XP]]; +rpar=matrix(X0,NX,1); +INP=ones(NMode,1); +if (NX>0) { +OUT=[[2],[2*NX]]; +} else { +OUT=[2]; +} +MaxModes=1; +nzcross=0; +for (i=1;i<=NMode;i+=1) { +Ci=evstr(exprs[5+i-1]); +ipar=[[ipar],[Ci]]; +INP[i-1][1-1]=2*NX+length(Ci); +if ((nzcrossNMode) { +messagebox([["Number of Modes should be "+string(MaxModes)],["A destination Mode in Mode#"+string(imax)+"\'s targets is invalid!"]],"modal","error"); +ModifEncore=true; +} +if (MaxModes1) { -if (model_n.sim(2)>1000) { -if (model.sim(1)!=model_n.sim(1)) { +if (prod[size(model_n.sim)-1]>1) { +if (model_n.sim[2-1]>1000) { +if (model.sim[1-1]!=model_n.sim[1-1]) { needcompile=4; } } diff --git a/js/Misc/ENDBLK.js b/js/Misc/ENDBLK.js index f2ad14af..65bd7268 100644 --- a/js/Misc/ENDBLK.js +++ b/js/Misc/ENDBLK.js @@ -14,7 +14,7 @@ x=standard_define([2,2],model,[],gr_i); } ENDBLK.prototype.set = function ENDBLK() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="END_c") { ppath=list(i); break; @@ -29,11 +29,11 @@ for (k=1;k<=np;k+=1) { spath[$+1-1]="model"; spath[$+1-1]="rpar"; spath[$+1-1]="objs"; -spath[$+1-1]=path(k); +spath[$+1-1]=path[k-1]; } -xx=arg1(spath); +xx=arg1[spath-1]; execstr("xxn="+xx.gui+"(\'set\',xx)"); -if (!isequalbitwise(xxn,xx)) { +if (!isequalbitwise[xxn-1][xx-1]) { model=xx.model; model_n=xxn.model; if (!is_modelica_block(xx)) { @@ -58,9 +58,9 @@ needcompile=4; if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { needcompile=4; } -if (prod(size(model_n.sim))>1) { -if (model_n.sim(2)>1000) { -if (model.sim(1)!=model_n.sim(1)) { +if (prod[size(model_n.sim)-1]>1) { +if (model_n.sim[2-1]>1000) { +if (model.sim[1-1]!=model_n.sim[1-1]) { needcompile=4; } } diff --git a/js/Misc/HYSTHERESIS.js b/js/Misc/HYSTHERESIS.js index 6083d128..c4c750b3 100644 --- a/js/Misc/HYSTHERESIS.js +++ b/js/Misc/HYSTHERESIS.js @@ -14,7 +14,7 @@ model.nzcross=nzz; model.nmode=1; model.blocktype="c"; model.dep_ut=[true,false]; -exprs=[[string(rpar)],[string(sign(nzz))]]; +exprs=[[string(rpar)],[string(sign[nzz-1])]]; gr_i=[]; x=standard_define([2,2],model,exprs,gr_i); } diff --git a/js/Misc/MBLOCK.js b/js/Misc/MBLOCK.js index a557c31c..4d5f6201 100644 --- a/js/Misc/MBLOCK.js +++ b/js/Misc/MBLOCK.js @@ -14,7 +14,7 @@ model=scicos_model(); model.blocktype="c"; model.dep_ut=[false,true]; model.rpar=[]; -for (i=1;i<=lstsize(paramv);i+=1) { +for (i=1;i<=lstsize[paramv-1];i+=1) { model.rpar=[[model.rpar],[paramv[i-1].slice()]]; } mo=modelica(); @@ -40,14 +40,14 @@ x=arg1; model=arg1.model; graphics=arg1.graphics; exprs=graphics.exprs; -if (type(exprs)==15) { +if (type[exprs-1]==15) { paramv=list(); pprop=[]; for (i=1;i<=size(model.rpar,"*");i+=1) { -paramv[$+1-1]=string(model.rpar(i)); +paramv[$+1-1]=string(model.rpar[i-1]); pprop[$+1-1]=0; } -exprs=tlist(["MBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],exprs[1-1](1),exprs[1-1](2),exprs[1-1](3),exprs[1-1](4),exprs[1-1](5),paramv,sci2exp(pprop.slice()),exprs[1-1](7),exprs[2-1]); +exprs=tlist(["MBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],exprs[1-1][1-1],exprs[1-1][2-1],exprs[1-1][3-1],exprs[1-1][4-1],exprs[1-1][5-1],paramv,sci2exp(pprop.slice()),exprs[1-1][7-1],exprs[2-1]); } lab_1=list(exprs.in1,exprs.intype,exprs.out,exprs.outtype,exprs.param,exprs.pprop,exprs.nameF); lab_2=exprs.paramv; @@ -71,7 +71,7 @@ break; } } if (!ok) { -messagebox([["Invalid variable name for the input "+string(i)+"."],["\""+in1(i)+"\""],["Please choose another variable name."]],"modal","error"); +messagebox([["Invalid variable name for the input "+string(i)+"."],["\""+in1[i-1]+"\""],["Please choose another variable name."]],"modal","error"); } } if (ok) { @@ -84,7 +84,7 @@ break; } } if (!ok) { -messagebox([["Invalid variable name for the output "+string(i)+"."],["\""+out(i)+"\""],["Please choose another variable name."]],"modal","error"); +messagebox([["Invalid variable name for the output "+string(i)+"."],["\""+out[i-1]+"\""],["Please choose another variable name."]],"modal","error"); } } if (ok) { @@ -103,7 +103,7 @@ messagebox([["Invalid variable name for the parameter "+string(i)+"."],["\""+par } if (ok) { for (i=1;i<=size(intype,"*");i+=1) { -if (intype(i)!="E"&&intype(i)!="I") { +if (intype[i-1]!="E"&&intype[i-1]!="I") { messagebox("Input type should be \'E\' or \'I\'!","modal","error"); ok=false; break; @@ -112,7 +112,7 @@ break; } if (ok) { for (i=1;i<=size(outtype,"*");i+=1) { -if (outtype(i)!="E"&&outtype(i)!="I") { +if (outtype[i-1]!="E"&&outtype[i-1]!="I") { messagebox("Output type should be \'E\' or \'I\'!","modal","error"); ok=false; break; @@ -165,14 +165,14 @@ outtypex=find(outtype=="I"); if (ok) { Tparam_lab=evstr(Tparam); Tparam_sz=size(Tparam_lab,"*"); -if (Tparam_sz>lstsize(lab_2)) { -for (i=1;i<=(Tparam_sz-lstsize(lab_2));i+=1) { +if (Tparam_sz>lstsize[lab_2-1]) { +for (i=1;i<=(Tparam_sz-lstsize[lab_2-1]);i+=1) { lab_2[$+1-1]="0"; } -} else if (Tparam_szlstsize(lab_2)) { -for (i=1;i<=(Tparam_sz-lstsize(lab_2));i+=1) { +if (Tparam_sz>lstsize[lab_2-1]) { +for (i=1;i<=(Tparam_sz-lstsize[lab_2-1]);i+=1) { lab_2[$+1-1]="0"; } -} else if (Tparam_sz0) { +if (clrs[i-1]>0) { mess=[[mess],["Buffer size must be at least 2 or Change a color (must be <0)"],[" "]]; ok=false; } } } -if (vec_y(1)>=vec_y(2)) { +if (vec_y[1-1]>=vec_y[2-1]) { mess=[[mess],["Ymax must be higher than Ymin"],[" "]]; ok=false; } -if (vec_x(1)>=vec_x(2)) { +if (vec_x[1-1]>=vec_x[2-1]) { mess=[[mess],["Xmax must be higher than Xmin"],[" "]]; ok=false; } -if (vec_z(1)>=vec_z(2)) { +if (vec_z[1-1]>=vec_z[2-1]) { mess=[[mess],["Zmax must be higher than Zmin"],[" "]]; ok=false; } diff --git a/js/Sinks/CMAT3D.js b/js/Sinks/CMAT3D.js index c00b716d..3b35dd9c 100644 --- a/js/Sinks/CMAT3D.js +++ b/js/Sinks/CMAT3D.js @@ -3,7 +3,7 @@ function CMAT3D() { CMAT3D.prototype.define = function CMAT3D() { cmin=0; cmax=100; -colormap=jetcolormap(25); +colormap=jetcolormap[25-1]; size_c=25; x=-1; y=-1; diff --git a/js/Sinks/CMATVIEW.js b/js/Sinks/CMATVIEW.js index b7ae62fd..135bbb8d 100644 --- a/js/Sinks/CMATVIEW.js +++ b/js/Sinks/CMATVIEW.js @@ -4,7 +4,7 @@ function CMATVIEW() { cmin=0; cmax=100; size_c=25; -colormap=jetcolormap(size_c); +colormap=jetcolormap[size_c-1]; alpha_c=0.24; beta_c=1; model=scicos_model(); @@ -45,9 +45,9 @@ message([["Some specified values are inconsistent:"],[" "],[mess]]); } if (ok) { size_c=size(colormap.slice(),1); -sol=inv([[cmin,1],[cmax,1]])*[[1],[size_c/3]]; -alpha_c=sol(1); -beta_c=sol(2); +sol=inv[[[cmin,1],[cmax,1]]-1]*[[1],[size_c/3]]; +alpha_c=sol[1-1]; +beta_c=sol[2-1]; ipar=[[cmin],[cmax],[size_c]]; rpar=[[alpha_c],[beta_c],[colormap.slice()]]; model.ipar=ipar; diff --git a/js/Sinks/CMSCOPE.js b/js/Sinks/CMSCOPE.js index 65197ee7..b81edfce 100644 --- a/js/Sinks/CMSCOPE.js +++ b/js/Sinks/CMSCOPE.js @@ -70,7 +70,7 @@ mess=[[mess],["Size of Refresh Period must equal size of Ymin/Ymax vector"],[" " ok=false; } for (i=1;i<=size(per,"*");i+=1) { -if ((per(i)<=0)) { +if ((per[i-1]<=0)) { mess=[[mess],["Refresh Period must be positive"],[" "]]; ok=false; } diff --git a/js/Sinks/CSCOPXY3D.js b/js/Sinks/CSCOPXY3D.js index 7b7787f7..7c8be672 100644 --- a/js/Sinks/CSCOPXY3D.js +++ b/js/Sinks/CSCOPXY3D.js @@ -67,21 +67,21 @@ ok=false; } if (N<2) { for (i=1;i<=size(clrs,"*");i+=1) { -if (clrs(i)>0) { +if (clrs[i-1]>0) { mess=[[mess],["Buffer size must be at least 2 or Change a color (must be >0)"],[" "]]; ok=false; } } } -if (vec_y(1)>=vec_y(2)) { +if (vec_y[1-1]>=vec_y[2-1]) { mess=[[mess],["Ymax must be higher than Ymin"],[" "]]; ok=false; } -if (vec_x(1)>=vec_x(2)) { +if (vec_x[1-1]>=vec_x[2-1]) { mess=[[mess],["Xmax must be higher than Xmin"],[" "]]; ok=false; } -if (vec_z(1)>=vec_z(2)) { +if (vec_z[1-1]>=vec_z[2-1]) { mess=[[mess],["Zmax must be higher than Zmin"],[" "]]; ok=false; } diff --git a/js/Sinks/TOWS_c.js b/js/Sinks/TOWS_c.js index 32a8c9e0..90a642d5 100644 --- a/js/Sinks/TOWS_c.js +++ b/js/Sinks/TOWS_c.js @@ -14,7 +14,7 @@ model.out=[]; model.evtin=[1]; model.evtout=[]; model.rpar=[]; -model.ipar=[[nz],[length(varnam)],[transpose(ascii(varnam))]]; +model.ipar=[[nz],[length(varnam)],[transpose(ascii[varnam-1])]]; model.blocktype="d"; model.firing=[]; model.dep_ut=[false,false]; @@ -54,7 +54,7 @@ model.blocktype="x"; } else { model.blocktype="d"; } -model.ipar=[[nz],[length(varnam)],[transpose(ascii(varnam))]]; +model.ipar=[[nz],[length(varnam)],[transpose(ascii[varnam-1])]]; graphics.exprs=exprs; x.graphics=graphics; x.model=model; diff --git a/js/Sinks/WFILE_f.js b/js/Sinks/WFILE_f.js index 1f5d0223..df2897ef 100644 --- a/js/Sinks/WFILE_f.js +++ b/js/Sinks/WFILE_f.js @@ -12,7 +12,7 @@ model.sim="writef"; model.in1=in1; model.evtin=1; model.dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; -model.ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code(fname)],[_str2code(frmt)]]; +model.ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code[fname-1]],[_str2code[frmt-1]]]; model.blocktype="d"; model.dep_ut=[true,false]; exprs=[[sci2exp(in1)],[fname],[frmt],[string(N)]]; @@ -25,8 +25,8 @@ x=standard_define([3,2],model,exprs,gr_i); } WFILE_f.prototype.set = function WFILE_f() { warnobsolete("WRITEC_f","6.0.0"); -warnMessage=msprintf(_("Feature %s is obsolete."),"WFILE_f"); -warnAdvise=msprintf(_("Please use %s instead."),"WRITEC_f"); +warnMessage=msprintf(_["Feature %s is obsolete."-1],"WFILE_f"); +warnAdvise=msprintf(_["Please use %s instead."-1],"WRITEC_f"); warnXcosMessage=msprintf("%s %s",warnMessage,warnAdvise); warnBlockByUID(arg1.model.label,warnXcosMessage); x=arg1; @@ -34,7 +34,7 @@ graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; dstate=model.dstate; -lunit=dstate(2); +lunit=dstate[2-1]; fname=exprs[2-1]; frmt=exprs[3-1]; while (true) { @@ -57,7 +57,7 @@ block_parameter_error(gettext("Wrong value for \'Output File Name\' parameter"), ok=false; } else if (fileparts(fname1)!="") { [pa,fn,ex]=fileparts(fname1); -if (!isdir(pa)) { +if (!isdir[pa-1]) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Output File Name")),msprintf(gettext("Directory \'%s\' does not exist"),pa)); ok=false; } @@ -72,8 +72,8 @@ block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."), ok=false; } if (ok) { -ipar=[[length(fname1)],[length(frmt1)],[0],[N],[_str2code(fname1)],[_str2code(frmt1)]]; -if (prod(size(dstate))!=(nin+1)*N+2) { +ipar=[[length(fname1)],[length(frmt1)],[0],[N],[_str2code[fname1-1]],[_str2code[frmt1-1]]]; +if (prod[size(dstate)-1]!=(nin+1)*N+2) { dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; } model.in1=nin; diff --git a/js/Sinks/WRITEAU_f.js b/js/Sinks/WRITEAU_f.js index a574c66f..c91a58ae 100644 --- a/js/Sinks/WRITEAU_f.js +++ b/js/Sinks/WRITEAU_f.js @@ -13,7 +13,7 @@ model.sim=list("writeau",2); model.in1=in1; model.evtin=1; model.dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; -model.ipar=[[length(fname)],[_str2code(frmt)],[N],[swap],[_str2code(fname)]]; +model.ipar=[[length(fname)],[_str2code[frmt-1]],[N],[swap],[_str2code[fname-1]]]; model.blocktype="d"; model.dep_ut=[true,false]; exprs=[string(N),string(swap)]; @@ -31,7 +31,7 @@ exprs=graphics.exprs; model=arg1.model; ipar=model.ipar; dstate=model.dstate; -lunit=dstate(2); +lunit=dstate[2-1]; while (true) { [ok,N,swap,exprs]=scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"WRITEAU_f")],[" "],[gettext("Write \'.au\' sound file on audio device")]],[[gettext("Buffer Size")],[gettext("Swap Mode (0:No, 1:Yes)")]],list("vec",1,"vec",1),exprs); if (!ok) { @@ -40,7 +40,7 @@ break; nin=1; fname1="/dev/audio"; frmt1="uc "; -if (alreadyran&&(N!=ipar(5))) { +if (alreadyran&&(N!=ipar[5-1])) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running."),gettext("Buffer Size")),gettext("End current simulation first")); ok=false; } else if (N<1) { @@ -52,8 +52,8 @@ block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."), ok=false; } if (ok) { -ipar=[[length(fname1)],[_str2code(frmt1)],[N],[swap],[_str2code(fname1)]]; -if (prod(size(dstate))!=(nin+1)*N+2) { +ipar=[[length(fname1)],[_str2code[frmt1-1]],[N],[swap],[_str2code[fname1-1]]]; +if (prod[size(dstate)-1]!=(nin+1)*N+2) { dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; } model.in1=1; diff --git a/js/Sinks/WRITEC_f.js b/js/Sinks/WRITEC_f.js index 8ae4b3c8..581d3f02 100644 --- a/js/Sinks/WRITEC_f.js +++ b/js/Sinks/WRITEC_f.js @@ -13,7 +13,7 @@ model.sim=list("writec",2); model.in1=in1; model.evtin=1; model.dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; -model.ipar=[[length(fname)],[_str2code(frmt)],[N],[swap],[_str2code(fname)]]; +model.ipar=[[length(fname)],[_str2code[frmt-1]],[N],[swap],[_str2code[fname-1]]]; model.blocktype="d"; model.dep_ut=[true,false]; exprs=[[sci2exp(in1)],[fname],[frmt],[string(N),string(swap)]]; @@ -31,7 +31,7 @@ exprs=graphics.exprs; model=arg1.model; ipar=model.ipar; dstate=model.dstate; -lunit=dstate(2); +lunit=dstate[2-1]; fname=exprs[2-1]; frmt=exprs[3-1]; while (true) { @@ -50,14 +50,14 @@ ok=false; } else if (alreadyran&&fname1!=fname) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running"),gettext("Input Format")),gettext("End current simulation first.")); ok=false; -} else if (alreadyran&&N!=ipar(5)) { +} else if (alreadyran&&N!=ipar[5-1]) { block_parameter_error(msprintf(gettext("You cannot modify \'Buffer Size\' when running."),gettext("Buffer Size")),gettext("End current simulation first")); ok=false; } else if (fname1=="") { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Output File Name")),gettext("You must provide a filename.")); } else if (fileparts(fname1)!="") { [pa,fn,ex]=fileparts(fname1); -if (!isdir(pa)) { +if (!isdir[pa-1]) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Output File Name")),msprintf(gettext("Directory \'%s\' does not exist"),pa)); ok=false; } @@ -73,8 +73,8 @@ ok=false; } frmt1=part(frmt1,1,3); if (ok) { -ipar=[[length(fname1)],[_str2code(frmt1)],[N],[swap],[_str2code(fname1)]]; -if (prod(size(dstate))!=(nin+1)*N+2) { +ipar=[[length(fname1)],[_str2code[frmt1-1]],[N],[swap],[_str2code[fname1-1]]]; +if (prod[size(dstate)-1]!=(nin+1)*N+2) { dstate=[[-1],[lunit],[zeros((nin+1)*N,1)]]; } model.in1=nin; diff --git a/js/Sources/CLOCK_c.js b/js/Sources/CLOCK_c.js index cad67ad4..598ed817 100644 --- a/js/Sources/CLOCK_c.js +++ b/js/Sources/CLOCK_c.js @@ -1,7 +1,7 @@ /* autogenerated from "macros/Sources/CLOCK_c.sci" */ function CLOCK_c() { CLOCK_c.prototype.define = function CLOCK_c() { -evtdly=EVTDLY_c("define"); +evtdly=EVTDLY_c["define"-1]; evtdly.graphics.orig=[320,232]; evtdly.graphics.sz=[40,40]; evtdly.graphics.flip=true; @@ -47,18 +47,18 @@ x.model.rpar=diagram; } CLOCK_c.prototype.set = function CLOCK_c() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="EVTDLY_c") { path=i; break; } } newpar=list(); -xx=arg1.model.rpar.objs(path); +xx=arg1.model.rpar.objs[path-1]; exprs=xx.graphics.exprs; model=xx.model; t0_old=model.firing; -dt_old=model.rpar(1); +dt_old=model.rpar[1-1]; model_n=model; while (true) { [ok,dt,t0,exprs0]=scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"CLOCK_c")],[" "],[gettext("Event clock generator")],[" "],[gettext("  Do not start if \'Initialisation Time\' is negative")],[" "]],[[gettext("Period")],[gettext("Initialisation Time")]],list("vec",1,"vec",1),exprs); diff --git a/js/Sources/CLOCK_f.js b/js/Sources/CLOCK_f.js index dd3a158a..8afa8368 100644 --- a/js/Sources/CLOCK_f.js +++ b/js/Sources/CLOCK_f.js @@ -47,14 +47,14 @@ x.model.rpar=diagram; } CLOCK_f.prototype.set = function CLOCK_f() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="EVTDLY_f") { path=i; break; } } newpar=list(); -xx=arg1.model.rpar.objs(path); +xx=arg1.model.rpar.objs[path-1]; exprs=xx.graphics.exprs; model=xx.model; t0_old=model.firing; diff --git a/js/Sources/CONST_m.js b/js/Sources/CONST_m.js index f84ab287..e234d175 100644 --- a/js/Sources/CONST_m.js +++ b/js/Sources/CONST_m.js @@ -36,8 +36,8 @@ block_parameter_error(msprintf(gettext("Wrong size for \'%s\' parameter"),gettex } else { model.sim=list("cstblk4_m",4); model.opar=list(C); -if ((type(C)==1)) { -if (isreal(C)) { +if ((type[C-1]==1)) { +if (isreal[C-1]) { ot=1; } else { ot=2; diff --git a/js/Sources/CURVE_c.js b/js/Sources/CURVE_c.js index c406b761..f22a2fcf 100644 --- a/js/Sources/CURVE_c.js +++ b/js/Sources/CURVE_c.js @@ -1,5 +1,4 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,4752) -Syntax error in input LexToken(VAR,'ixy',1,6611) +Syntax error in input LexToken(FUNCTION,'function',1,6574) Syntax error in input LexToken(VAR,'a',1,25132) Syntax error in input LexToken(VAR,'a',1,26313) Syntax error in input LexToken(VAR,'a',1,27400) diff --git a/js/Sources/CURV_f.js b/js/Sources/CURV_f.js index 396c38b5..05da6a1e 100644 --- a/js/Sources/CURV_f.js +++ b/js/Sources/CURV_f.js @@ -28,7 +28,7 @@ model=arg1.model; graphics=arg1.graphics; rpar=model.rpar; ipar=model.ipar; -n=ipar(1); +n=ipar[1-1]; xx=rpar.slice(1-1,n); yy=rpar.slice(n+1-1,2*n); gc=list(rpar.slice(2*n+1-1,2*n+4),ipar.slice(2-1,5)); @@ -50,9 +50,9 @@ ok=false; if (ok) { model.sim="intplt"; model.firing=[]; -rect=gc(1); +rect=gc[1-1]; model.rpar=[[xx.slice()],[yy.slice()],[rect.slice()]]; -axisdata=gc(2); +axisdata=gc[2-1]; model.ipar=[[size(xx,"*")],[axisdata.slice()]]; x.graphics=graphics; x.model=model; diff --git a/js/Sources/FROMWSB.js b/js/Sources/FROMWSB.js index 9a1d2288..d7ac7b2a 100644 --- a/js/Sources/FROMWSB.js +++ b/js/Sources/FROMWSB.js @@ -16,7 +16,7 @@ x=standard_define([5,2],model,[],gr_i); } FROMWSB.prototype.set = function FROMWSB() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="FROMWS_c") { ppath=list(i); break; @@ -31,11 +31,11 @@ for (k=1;k<=np;k+=1) { spath[$+1-1]="model"; spath[$+1-1]="rpar"; spath[$+1-1]="objs"; -spath[$+1-1]=path(k); +spath[$+1-1]=path[k-1]; } -xx=arg1(spath); +xx=arg1[spath-1]; execstr("xxn="+xx.gui+"(\'set\',xx)"); -if (!isequalbitwise(xxn,xx)) { +if (!isequalbitwise[xxn-1][xx-1]) { model=xx.model; model_n=xxn.model; if (!is_modelica_block(xx)) { @@ -60,9 +60,9 @@ needcompile=4; if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { needcompile=4; } -if (prod(size(model_n.sim))>1) { -if (model_n.sim(2)>1000) { -if (model.sim(1)!=model_n.sim(1)) { +if (prod[size(model_n.sim)-1]>1) { +if (model_n.sim[2-1]>1000) { +if (model.sim[1-1]!=model_n.sim[1-1]) { needcompile=4; } } diff --git a/js/Sources/FROMWS_c.js b/js/Sources/FROMWS_c.js index caf3a034..a166ca27 100644 --- a/js/Sources/FROMWS_c.js +++ b/js/Sources/FROMWS_c.js @@ -10,7 +10,7 @@ model.sim=list("fromws_c",4); model.out=-1; model.out2=-2; model.outtyp=-1; -model.ipar=[[length(varnam)],[_str2code(varnam)],[Method],[ZC],[OutEnd]]; +model.ipar=[[length(varnam)],[_str2code[varnam-1]],[Method],[ZC],[OutEnd]]; model.evtin=[1]; model.evtout=[1]; model.firing=[0]; @@ -53,7 +53,7 @@ message([["Invalid variable name."],["Please choose another variable name."]]); ok=false; } if (ok) { -model.ipar=[[length(varnam)],[_str2code(varnam)],[Method],[ZC],[OutEnd]]; +model.ipar=[[length(varnam)],[_str2code[varnam-1]],[Method],[ZC],[OutEnd]]; [model,graphics,ok]=set_io(model,graphics,list(),list([-1,-2],-1),1,1); if (ok) { graphics.exprs=exprs; diff --git a/js/Sources/GENSIN_f.js b/js/Sources/GENSIN_f.js index b34da787..a7c1378c 100644 --- a/js/Sources/GENSIN_f.js +++ b/js/Sources/GENSIN_f.js @@ -11,7 +11,7 @@ model.outtyp=1; model.rpar=[[1],[1],[0]]; model.blocktype="c"; model.dep_ut=[false,true]; -exprs=[[string(rpar(1))],[string(rpar(2))],[string(rpar(3))]]; +exprs=[[string(rpar[1-1])],[string(rpar[2-1])],[string(rpar[3-1])]]; gr_i=[]; x=standard_define([3,2],model,exprs,gr_i); } diff --git a/js/Sources/IN_f.js b/js/Sources/IN_f.js index 53193f1a..8e7695cb 100644 --- a/js/Sources/IN_f.js +++ b/js/Sources/IN_f.js @@ -30,17 +30,17 @@ if (size(exprs,"*")==1) { exprs=[[exprs[1-1]],["[-1 -2]"],["-1"]]; } while (true) { -[ok,prt,otsz,ot,exprs]=getvalue(_("Set Input block parameters"),[[_("Port number")],[_("Outport size ([-1 -2] for inherit)")],[_("Outport Type (-1 for inherit)")]],list("vec",1,"vec",-1,"vec",1),exprs); +[ok,prt,otsz,ot,exprs]=getvalue(_["Set Input block parameters"-1],[[_["Port number"-1]],[_["Outport size ([-1 -2] for inherit)"-1]],[_["Outport Type (-1 for inherit)"-1]]],list("vec",1,"vec",-1,"vec",1),exprs); if (!ok) { break; } prt=int(prt); if (prt<=0) { -message(_("Port number must be a positive integer")); +message(_["Port number must be a positive integer"-1]); } else if (!isequal(size(otsz,"*"),2)) { -message(_("Outport Size must be a 2 elements vector")); +message(_["Outport Size must be a 2 elements vector"-1]); } else if (((ot<1||ot>9)&&(ot!=-1))) { -message(_("Outport type must be a number between 1 and 9, or -1 for inheritance.")); +message(_["Outport type must be a number between 1 and 9, or -1 for inheritance."-1]); } else { if (model.ipar!=prt) { needcompile=4; @@ -48,8 +48,8 @@ y=needcompile; } model.ipar=prt; model.firing=[]; -model.out=otsz(1); -model.out2=otsz(2); +model.out=otsz[1-1]; +model.out2=otsz[2-1]; model.outtyp=ot; graphics.exprs=exprs; x.graphics=graphics; diff --git a/js/Sources/RAND_f.js b/js/Sources/RAND_f.js index bf85ac44..c3f8d63e 100644 --- a/js/Sources/RAND_f.js +++ b/js/Sources/RAND_f.js @@ -15,7 +15,7 @@ model.rpar=[[a.slice()],[b.slice()]]; model.ipar=flag; model.blocktype="d"; model.dep_ut=[false,false]; -exprs=[[string(flag)],[sci2exp(a.slice())],[sci2exp(b.slice())],[string(model.dstate(1))]]; +exprs=[[string(flag)],[sci2exp(a.slice())],[sci2exp(b.slice())],[string(model.dstate[1-1])]]; gr_i=[]; x=standard_define([3,2],model,exprs,gr_i); } @@ -32,7 +32,7 @@ if (size(exprs,"*")==5) { exprs=exprs.slice(1-1,3); } if (size(exprs,"*")==3) { -exprs=[[exprs],[string(model.dstate(1))]]; +exprs=[[exprs],[string(model.dstate[1-1])]]; } while (true) { [ok,flag,a,b,seed_c,exprs]=scicos_getvalue([["Set Random generator block parameters"],["flag = 0 : Uniform distribution A is min and A+B max"],["flag = 1 : Normal distribution A is mean and B deviation"],[" "],["A and B must be vector with equal sizes"],["seed is the seed of random number generator (integer<2**31)"]],[["flag"],["A"],["B"],["seed"]],list("vec",1,"vec",-1,"vec","size(%2,\'*\')","vec",1),exprs); diff --git a/js/Sources/RAND_m.js b/js/Sources/RAND_m.js index 7d9ad0e9..090093cb 100644 --- a/js/Sources/RAND_m.js +++ b/js/Sources/RAND_m.js @@ -24,7 +24,7 @@ model.ipar=flag; model.blocktype="d"; model.firing=[]; model.dep_ut=[false,false]; -exprs=[[sci2exp(1)],[string(flag)],[sci2exp([a])],[sci2exp([b])],[sci2exp([model.dstate(1),int(rand()*(10^7-1))])]]; +exprs=[[sci2exp(1)],[string(flag)],[sci2exp([a])],[sci2exp([b])],[sci2exp([model.dstate[1-1],int(rand()*(10^7-1))])]]; gr_i=[]; x=standard_define([3,2],model,exprs,gr_i); } @@ -52,7 +52,7 @@ out=size(a); if (typ==1) { function_name="rndblk_m"; model.rpar=[[real(a.slice())],[real(b.slice())]]; -model.dstate=[[seed_c(1)],[0*real(a.slice())]]; +model.dstate=[[seed_c[1-1]],[0*real(a.slice())]]; ot=1; } else if (typ==2) { function_name="rndblkz_m"; diff --git a/js/Sources/READAU_f.js b/js/Sources/READAU_f.js index da984c61..cf1be0d7 100644 --- a/js/Sources/READAU_f.js +++ b/js/Sources/READAU_f.js @@ -17,7 +17,7 @@ model.sim=list("readau",2); model.out=nout; model.evtin=1; model.dstate=[[1],[1],[lunit],[zeros(N*M,1)]]; -model.ipar=[[length(fname)],[_str2code(frmt)],[ievt],[N],[M],[swap],[offset],[_str2code(fname)],[tmask],[outmask]]; +model.ipar=[[length(fname)],[_str2code[frmt-1]],[ievt],[N],[M],[swap],[offset],[_str2code[fname-1]],[tmask],[outmask]]; model.blocktype="d"; model.dep_ut=[false,false]; exprs=[[fname],[string(N)],[string(swap)]]; @@ -36,9 +36,9 @@ model=arg1.model; out=model.out; dstate=model.dstate; ipar=model.ipar; -imask=9+ipar(1); -tmask=ipar(imask); -lunit=dstate(3); +imask=9+ipar[1-1]; +tmask=ipar[imask-1]; +lunit=dstate[3-1]; fname=exprs[1-1]; while (true) { [ok,fname1,N,swap,exprs]=scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"READAU_f")],[" "],[gettext("(Read Audio File)")],[" "],[gettext("Read is done on a binary \'.au\' file")]],[[gettext("Input File Name")],[gettext("Buffer size")],[gettext("Swap Mode (0:No, 1:Yes)")]],list("str",1,"vec",1,"vec",1),exprs); @@ -58,7 +58,7 @@ block_parameter_error(gettext("Simulation running !!! You cannot modify Input fi block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Input File Name")),gettext("You must provide a filename.")); } else if (N<1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Buffer size"),N),msprintf(gettext("Must be greater than %d."),1)); -} else if (alreadyran&&(N!=ipar(6))) { +} else if (alreadyran&&(N!=ipar[6-1])) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running."),gettext("Buffer Size")),gettext("End current simulation first.")); } else if (swap!=0&&swap!=1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Swap Mode"),swap),msprintf(gettext("Must be in the interval %s."),"[0, 1]")); @@ -66,8 +66,8 @@ block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."), [model,graphics,ok]=check_io(model,graphics,[],1,1,[]); frmt1=part(frmt1,1,3); if (ok) { -ipar=[[length(fname1)],[_str2code(frmt1)],[0],[N],[M],[swap],[offset,_str2code(fname1)],[tmask1,outmask.slice()]]; -if (prod(size(dstate))!=(N*M)+3) { +ipar=[[length(fname1)],[_str2code[frmt1-1]],[0],[N],[M],[swap],[offset,_str2code[fname1-1]],[tmask1,outmask.slice()]]; +if (prod[size(dstate)-1]!=(N*M)+3) { dstate=[[-1],[-1],[lunit],[zeros(N*M,1)]]; } model.dstate=dstate; diff --git a/js/Sources/READC_f.js b/js/Sources/READC_f.js index 8d9ce6f2..778d4051 100644 --- a/js/Sources/READC_f.js +++ b/js/Sources/READC_f.js @@ -13,14 +13,14 @@ offset=1; outmask=1; ievt=0; nout=size(outmask,"*"); -ipar=[[length(fname)],[_str2code(frmt)],[ievt],[N],[M],[swap],[offset],[_str2code(fname)],[tmask],[outmask]]; +ipar=[[length(fname)],[_str2code[frmt-1]],[ievt],[N],[M],[swap],[offset],[_str2code[fname-1]],[tmask],[outmask]]; model=scicos_model(); model.sim=list("readc",2); model.out=nout; model.evtin=1; model.evtout=[]; model.dstate=[[1],[1],[lunit],[zeros(N*M,1)]]; -model.ipar=[[length(fname)],[_str2code(frmt)],[ievt],[N],[M],[swap],[offset],[_str2code(fname)],[tmask],[outmask]]; +model.ipar=[[length(fname)],[_str2code[frmt-1]],[ievt],[N],[M],[swap],[offset],[_str2code[fname-1]],[tmask],[outmask]]; model.blocktype="d"; model.firing=-1; model.dep_ut=[false,false]; @@ -40,9 +40,9 @@ exprs=graphics.exprs; out=model.out; dstate=model.dstate; ipar=model.ipar; -imask=9+ipar(1); -tmask=ipar(imask); -lunit=dstate(3); +imask=9+ipar[1-1]; +tmask=ipar[imask-1]; +lunit=dstate[3-1]; fname=exprs[3-1]; frmt=exprs[4-1]; while (true) { @@ -54,13 +54,13 @@ fname1=pathconvert(stripblanks(fname1),false,true); frmt1=stripblanks(frmt1); fmts=["s","l","d","f","c","us","ul","uc","ull","uls","ubl","ubs","dl","fl","ll","sl","db","fb","lb","sb"]; nout=size(outmask,"*"); -if (prod(size(tmask1))>1) { +if (prod[size(tmask1)-1]>1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Time Record Selection")),gettext("Must be a scalar or an empty matrix.")); } else if (and(frmt1!=fmts)) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s."),gettext("Input Format"),frmt1),gettext("Valid formats are: "+strcat(fmts,", "))); } else if (alreadyran&&fname1!=fname) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running"),gettext("Input File Name")),gettext("End current simulation first.")); -} else if (N!=ipar(6)&&alreadyran) { +} else if (N!=ipar[6-1]&&alreadyran) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running."),gettext("Buffer Size")),gettext("End current simulation first")); } else if (alreadyran&&size(tmask1)!=size(tmask)) { block_parameter_error(msprintf(gettext("You cannot modify \'%s\' when running."),gettext("Time Record Selection")),gettext("End current simulation first.")); @@ -100,8 +100,8 @@ model.firing=-1; } else { model.firing=0; } -ipar=[[length(fname1)],[_str2code(frmt1)],[ievt],[N],[M],[swap],[offset],[_str2code(fname1)],[tmask1],[outmask.slice()]]; -if (prod(size(dstate))!=(N*M)+3) { +ipar=[[length(fname1)],[_str2code[frmt1-1]],[ievt],[N],[M],[swap],[offset],[_str2code[fname1-1]],[tmask1],[outmask.slice()]]; +if (prod[size(dstate)-1]!=(N*M)+3) { dstate=[[-1],[-1],[lunit],[zeros(N*M,1)]]; } model.dstate=dstate; diff --git a/js/Sources/RFILE_f.js b/js/Sources/RFILE_f.js index f844b789..a9fd24e6 100644 --- a/js/Sources/RFILE_f.js +++ b/js/Sources/RFILE_f.js @@ -10,14 +10,14 @@ N=2; rpar=[]; tmask=0; outmask=1; -ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code(fname)],[_str2code(frmt)],[tmask],[outmask]]; +ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code[fname-1]],[_str2code[frmt-1]],[tmask],[outmask]]; dstate=[[1],[1],[lunit],[zeros((nout)*N,1)]]; model=scicos_model(); model.sim="readf"; model.out=nout; model.evtin=1; model.dstate=dstate; -model.ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code(fname)],[_str2code(frmt)],[tmask],[outmask]]; +model.ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code[fname-1]],[_str2code[frmt-1]],[tmask],[outmask]]; model.blocktype="d"; model.dep_ut=[false,false]; exprs=[[sci2exp([])],[sci2exp(outmask)],[fname],[frmt],[string(N)],[sci2exp(out)]]; @@ -35,11 +35,11 @@ exprs=graphics.exprs; model=arg1.model; dstate=model.dstate; ipar=model.ipar; -ievt=ipar(3); -N=ipar(4); -imask=5+ipar(1)+ipar(2); -tmask=ipar(imask); -lunit=dstate(3); +ievt=ipar[3-1]; +N=ipar[4-1]; +imask=5+ipar[1-1]+ipar[2-1]; +tmask=ipar[imask-1]; +lunit=dstate[3-1]; fname=exprs[3-1]; frmt=exprs[4-1]; if (size(exprs,"*")>5) { @@ -53,7 +53,7 @@ break; fname1=pathconvert(stripblanks(fname1),false,true); frmt1=stripblanks(frmt1); nout=size(outmask,"*"); -if (prod(size(tmask1))>1) { +if (prod[size(tmask1)-1]>1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s."),gettext("Time Record Selection"),strcat(string(tmask1.slice())," ")),gettext("Empty matrix or scalar expected.")); } else if (tmask1!=[]&&tmask1<1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d"),gettext("Time Record Selection"),tmask1),gettext("Strictly positive integer expected.")); @@ -89,8 +89,8 @@ model.firing=[]; } else { model.firing=0; } -ipar=[[length(fname1)],[length(frmt1)],[ievt],[N],[_str2code(fname1)],[_str2code(frmt1)],[tmask1],[outmask.slice()]]; -if (prod(size(dstate))!=(nout+ievt)*N+3) { +ipar=[[length(fname1)],[length(frmt1)],[ievt],[N],[_str2code[fname1-1]],[_str2code[frmt1-1]],[tmask1],[outmask.slice()]]; +if (prod[size(dstate)-1]!=(nout+ievt)*N+3) { dstate=[[-1],[-1],[lunit],[zeros((nout+ievt)*N,1)]]; } model.dstate=dstate; diff --git a/js/Sources/STEP_FUNCTION.js b/js/Sources/STEP_FUNCTION.js index 8307e904..3865ec88 100644 --- a/js/Sources/STEP_FUNCTION.js +++ b/js/Sources/STEP_FUNCTION.js @@ -2,7 +2,7 @@ function STEP_FUNCTION() { STEP_FUNCTION.prototype.define = function STEP_FUNCTION() { scs_m_1=scicos_diagram(); -scs_m_1.objs[1-1]=STEP("define"); +scs_m_1.objs[1-1]=STEP["define"-1]; scs_m_1.objs[2-1]=OUT_f("define"); scs_m_1.objs[3-1]=scicos_link(); scs_m_1.objs[4-1]=scicos_link(); @@ -56,7 +56,7 @@ x=standard_define([2,2],model,[],gr_i); } STEP_FUNCTION.prototype.set = function STEP_FUNCTION() { for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { -o=arg1.model.rpar.objs(i); +o=arg1.model.rpar.objs[i-1]; if (typeof(o)=="Block"&&o.gui=="STEP") { ppath=list(i); break; @@ -70,9 +70,9 @@ for (k=1;k<=np;k+=1) { spath[$+1-1]="model"; spath[$+1-1]="rpar"; spath[$+1-1]="objs"; -spath[$+1-1]=path(k); +spath[$+1-1]=path[k-1]; } -xx=arg1(spath); +xx=arg1[spath-1]; execstr("xxn="+xx.gui+"(\'set\',xx)"); if (diffobjs(xxn,xx)) { model=xx.model; @@ -96,9 +96,9 @@ needcompile=4; if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { needcompile=4; } -if (prod(size(model_n.sim))>1) { -if (model_n.sim(2)>1000) { -if (model.sim(1)!=model_n.sim(1)) { +if (prod[size(model_n.sim)-1]>1) { +if (model_n.sim[2-1]>1000) { +if (model.sim[1-1]!=model_n.sim[1-1]) { needcompile=4; } } diff --git a/js/Threshold/GENERAL_f.js b/js/Threshold/GENERAL_f.js index fbcf1cf8..3e451bd1 100644 --- a/js/Threshold/GENERAL_f.js +++ b/js/Threshold/GENERAL_f.js @@ -43,7 +43,7 @@ rp=matrix(rpar,nout,2^(2*nin)); rp=-1*ones(nout1,2^(2*nin1)); } n=size(rp,2)/2; -result=x_mdialog("routing matrix",string.slice(1-1,nout1),string.slice(1-1,2^(2*nin1)),string[rp.slice().slice()-1]); +result=x_mdialog("routing matrix",string(1,nout1),string(1,2^(2*nin1)),string(rp.slice().slice())); if (result!=[]) { rp.slice(1-1,nout1).slice(1-1,2*n)=evstr(result); model.nzcross=in1; -- cgit