summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--combined.js1838
-rw-r--r--js/Branching/CLKGOTO.js53
-rw-r--r--js/Branching/GOTO.js57
-rw-r--r--js/Branching/GOTOMO.js60
-rw-r--r--js/Branching/ISELECT_m.js65
-rw-r--r--js/Branching/M_SWITCH.js64
-rw-r--r--js/Branching/SELECT_m.js65
-rw-r--r--js/Branching/SELF_SWITCH.js2
-rw-r--r--js/Electrical/Capacitor.js48
-rw-r--r--js/Electrical/NPN.js2
-rw-r--r--js/Electrical/PNP.js2
-rw-r--r--js/Events/IFTHEL_f.js61
-rw-r--r--js/Events/M_freq.js3
-rw-r--r--js/Events/freq_div.js11
-rw-r--r--js/IntegerOp/DLATCH.js2
-rw-r--r--js/IntegerOp/EXTRACTBITS.js2
-rw-r--r--js/IntegerOp/INTMUL.js4
-rw-r--r--js/IntegerOp/SHIFT.js3
-rw-r--r--js/Linear/CLR.js1
-rw-r--r--js/Linear/CLR_f.js1
-rw-r--r--js/Linear/DELAYV_f.js63
-rw-r--r--js/Linear/DOLLAR.js91
-rw-r--r--js/Linear/DOLLAR_m.js91
-rw-r--r--js/Linear/INTEGRAL_m.js124
-rw-r--r--js/Linear/SUMMATION.js139
-rw-r--r--js/MatrixOp/CUMSUM.js95
-rw-r--r--js/MatrixOp/EXTRACT.js93
-rw-r--r--js/MatrixOp/MATCATH.js2
-rw-r--r--js/MatrixOp/MATEIG.js93
-rw-r--r--js/MatrixOp/MATMAGPHI.js76
-rw-r--r--js/MatrixOp/MATSING.js96
-rw-r--r--js/MatrixOp/MATSUM.js97
-rw-r--r--js/MatrixOp/MATZREIM.js76
-rw-r--r--js/MatrixOp/ROOTCOEF.js72
-rw-r--r--js/MatrixOp/SUBMAT.js93
-rw-r--r--js/Misc/AUTOMAT.js2
-rw-r--r--js/Misc/CBLOCK.js2
-rw-r--r--js/Misc/CBLOCK4.js2
-rw-r--r--js/Misc/DSUPER.js2
-rw-r--r--js/Misc/EDGE_TRIGGER.js7
-rw-r--r--js/Misc/EXPRESSION.js1
-rw-r--r--js/Misc/Extract_Activation.js8
-rw-r--r--js/Misc/HYSTHERESIS.js1
-rw-r--r--js/Misc/LOGICAL_OP.js2
-rw-r--r--js/Misc/MBLOCK.js26
-rw-r--r--js/Misc/MPBLOCK.js26
-rw-r--r--js/Misc/RELATIONALOP.js2
-rw-r--r--js/Misc/SUPER_f.js1
-rw-r--r--js/Misc/TEXT_f.js1
-rw-r--r--js/NonLinear/LOOKUP_c.js14
-rw-r--r--js/PDE/PDE.js7
-rw-r--r--js/Sinks/AFFICH_m.js2
-rw-r--r--js/Sinks/CLKOUTV_f.js2
-rw-r--r--js/Sinks/CMSCOPE.js1
-rw-r--r--js/Sinks/WRITEC_f.js1
-rw-r--r--js/Sources/CURVE_c.js13
-rw-r--r--js/Sources/GENSQR_f.js3
-rw-r--r--js/Sources/GEN_SQR.js1
-rw-r--r--js/Sources/PULSE_SC.js3
-rw-r--r--js/Sources/RAND_m.js81
-rw-r--r--js/Sources/READC_f.js2
-rw-r--r--js/Sources/STEP_FUNCTION.js4
-rw-r--r--js/Sources/Sigbuilder.js1
-rwxr-xr-xsci2jslex.py89
-rwxr-xr-xsci2jsyacc.py28
65 files changed, 3699 insertions, 281 deletions
diff --git a/combined.js b/combined.js
index 5c6094c8..451f3024 100644
--- a/combined.js
+++ b/combined.js
@@ -392,6 +392,66 @@ x=standard_define([2,2],model,exprs,gr_i);
HALT_f.prototype.details = function HALT_f() {
}
}
+/* autogenerated from "macros/Events/IFTHEL_f.sci" */
+function IFTHEL_f() {
+IFTHEL_f.prototype.get = function IFTHEL_f() {
+}
+IFTHEL_f.prototype.set = function IFTHEL_f() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (exprs==[]) {
+exprs=string(1);
+}
+if (size(exprs,"*")==1) {
+exprs[2-1]=string(1);
+}
+while (true) {
+[ok,inh,nmod,exprs]=scicos_getvalue("Set parameters",["Inherit (1: no, 0: yes)","zero-crossing (0: no, 1: yes)"],list("vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+model.dep_ut=[true,None];
+if (nmod!=0) {
+nmod=1;
+}
+if (inh!=1) {
+inh=[];
+}
+[model,graphics,ok]=check_io(model,graphics,1,[],inh,[1,1]);
+if (ok) {
+graphics.exprs=exprs;
+model.evtin=inh;
+model.sim[2-1]=-1;
+model.nmode=nmod;
+model.nzcross=nmod;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+IFTHEL_f.prototype.define = function IFTHEL_f() {
+model=scicos_model();
+model.sim=list("ifthel",-1);
+model.in=1;
+model.in2=1;
+model.intyp=-1;
+model.evtin=1;
+model.evtout=[1,1];
+model.blocktype="l";
+model.firing=[-1,-1];
+model.dep_ut=[true,None];
+model.nmode=1;
+model.nzcross=1;
+gr_i=[];
+exprs=[string(model.in),string(model.nmode)];
+x=standard_define([3,3],model,exprs,gr_i);
+}
+IFTHEL_f.prototype.details = function IFTHEL_f() {
+}
+}
/* autogenerated from "macros/Events/VirtualCLK0.sci" */
function VirtualCLK0() {
VirtualCLK0.prototype.get = function VirtualCLK0() {
@@ -702,6 +762,143 @@ x=standard_define([2.5,2.5],model,exprs,gr_i);
REGISTER_f.prototype.details = function REGISTER_f() {
}
}
+/* autogenerated from "macros/Linear/SUMMATION.sci" */
+function SUMMATION() {
+SUMMATION.prototype.get = function SUMMATION() {
+}
+SUMMATION.prototype.set = function SUMMATION() {
+x=arg1;
+graphics=arg1.graphics;
+model=arg1.model;
+exprs=graphics.exprs;
+if (size(exprs,1)==1) {
+exprs=[sci2exp(1),exprs,sci2exp(0)];
+} else if (size(exprs,1)==2) {
+exprs=[exprs,sci2exp(0)];
+}
+while (true) {
+[ok,Datatype,sgn,satur,exprs]=scicos_getvalue("Set sum block parameters",["Datatype (1=real double 2=complex 3=int32 ...)","Number of inputs or sign vector (of +1, -1)","Do on Overflow(0=Nothing 1=Saturate 2=Error)"],list("vec",1,"vec",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+sgn=sgn.slice();
+if ((satur!=0&&satur!=1&&satur!=2)) {
+message("Do on overflow must be 0,1,2");
+ok=None;
+}
+if (size(sgn,1)==1) {
+if (sgn<1) {
+message("Number of inputs must be > 0");
+ok=None;
+} else if (sgn==1) {
+in1=-1;
+in2=-2;
+sgn=[];
+nout=1;
+nout2=1;
+} else {
+in1=-ones(sgn,1);
+in2=2*in1;
+sgn=ones(sgn,1);
+nout=-1;
+nout2=-2;
+}
+} else {
+if (!and(abs(sgn)==1)) {
+message("Signs can only be +1 or -1");
+ok=None;
+} else {
+in1=-ones(size(sgn,1),1);
+in2=2*in1;
+nout=-1;
+nout2=-2;
+}
+}
+it=Datatype*ones(1,size(in1,1));
+ot=Datatype;
+if (Datatype==1) {
+model.sim=list("summation",4);
+} else if (Datatype==2) {
+model.sim=list("summation_z",4);
+} else if (((Datatype<1)||(Datatype>8))) {
+message("Datatype is not supported");
+ok=None;
+} else {
+if (satur==0) {
+if (Datatype==3) {
+model.sim=list("summation_i32n",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16n",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8n",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32n",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16n",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8n",4);
+}
+} else if (satur==1) {
+if (Datatype==3) {
+model.sim=list("summation_i32s",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16s",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8s",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32s",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16s",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8s",4);
+}
+} else if (satur==2) {
+if (Datatype==3) {
+model.sim=list("summation_i32e",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16e",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8e",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32e",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16e",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8e",4);
+}
+}
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list([in1,in2],it),list([nout,nout2],ot),[],[]);
+}
+if (ok) {
+model.rpar=satur;
+model.ipar=sgn;
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+SUMMATION.prototype.define = function SUMMATION() {
+sgn=[1,-1];
+model=scicos_model();
+model.sim=list("summation",4);
+model.in=[-1,-1];
+model.out=-1;
+model.in2=[-2,-2];
+model.out2=-2;
+model.ipar=sgn;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=sci2exp(sgn);
+gr_i=[];
+x=standard_define([2,3],model,exprs,gr_i);
+}
+SUMMATION.prototype.details = function SUMMATION() {
+}
+}
/* autogenerated from "macros/Linear/SAMPHOLD.sci" */
function SAMPHOLD() {
SAMPHOLD.prototype.get = function SAMPHOLD() {
@@ -1236,6 +1433,158 @@ x=standard_define([2,2],model,exprs,gr_i);
SOM_f.prototype.details = function SOM_f() {
}
}
+/* autogenerated from "macros/Linear/DOLLAR_m.sci" */
+function DOLLAR_m() {
+DOLLAR_m.prototype.get = function DOLLAR_m() {
+}
+DOLLAR_m.prototype.set = function DOLLAR_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")<2) {
+exprs[2-1]="0";
+}
+while (true) {
+[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("mat",[-1,-2],"vec",-1),exprs);
+if (!ok) {
+break
+}
+out=[size(a,1),size(a,2)];
+if (out==0) {
+out=[];
+}
+in1=out;
+model.sim=list("dollar4_m",4);
+model.odstate=list(a);
+model.dstate=[];
+if ((type(a)==1)) {
+if (isreal(a)) {
+it=1;
+ot=1;
+if ((size(a,1)==1||size(a,2)==1)) {
+model.sim=list("dollar4",4);
+model.dstate=a.slice();
+model.odstate=list();
+}
+} else {
+it=2;
+ot=2;
+}
+} else if ((typeof(a)=="int32")) {
+it=3;
+ot=3;
+} else if ((typeof(a)=="int16")) {
+it=4;
+ot=4;
+} else if ((typeof(a)=="int8")) {
+it=5;
+ot=5;
+} else if ((typeof(a)=="uint32")) {
+it=6;
+ot=6;
+} else if ((typeof(a)=="uint16")) {
+it=7;
+ot=7;
+} else if ((typeof(a)=="uint8")) {
+it=8;
+ot=8;
+} else {
+message("type is not recognized");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(1-inh,1),[]);
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DOLLAR_m.prototype.define = function DOLLAR_m() {
+z=0;
+inh=0;
+in1=1;
+exprs=string([z,inh]);
+model=scicos_model();
+model.sim=list("dollar4",4);
+model.in=in1;
+model.out=in1;
+model.evtin=1-inh;
+model.dstate=z;
+model.blocktype="d";
+model.dep_ut=[None,None];
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+DOLLAR_m.prototype.details = function DOLLAR_m() {
+}
+}
+/* autogenerated from "macros/Linear/DELAYV_f.sci" */
+function DELAYV_f() {
+DELAYV_f.prototype.get = function DELAYV_f() {
+}
+DELAYV_f.prototype.set = function DELAYV_f() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+nin=model.in(1);
+z0=model.dstate;
+zz0=z0.slice(1-1,$-1);
+told=z0($);
+while (true) {
+[ok,nin,zz0,T,exprs]=scicos_getvalue("Set delay parameters",["Number of inputs","Register initial condition","Max delay"],list("vec",1,"vec",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (size(zz0,"*")<2) {
+message("Register length must be at least 2");
+ok=None;
+}
+if (T<=0) {
+message("Delay must be positive");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=check_io(model,graphics,[nin,1],nin,1,[1,1]);
+}
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=[zz0.slice(),told];
+model.rpar=T/(size(zz0,"*"));
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DELAYV_f.prototype.define = function DELAYV_f() {
+nin=1;
+z0=zeros(11,1);
+zz0=z0.slice(1-1,$-1);
+T=1;
+model=scicos_model();
+model.sim=list("delayv",1);
+model.in=[nin,1];
+model.out=nin;
+model.evtin=1;
+model.evtout=[1,1];
+model.dstate=z0;
+model.rpar=T/(size(zz0,"*"));
+model.blocktype="d";
+model.firing=[0,-1];
+model.dep_ut=[true,None];
+exprs=[string(nin),strcat(string(z0.slice(1-1,$-1)),";"),string(T)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+DELAYV_f.prototype.details = function DELAYV_f() {
+}
+}
/* autogenerated from "macros/Linear/SAMPHOLD_m.sci" */
function SAMPHOLD_m() {
SAMPHOLD_m.prototype.get = function SAMPHOLD_m() {
@@ -1344,6 +1693,219 @@ x=standard_define([3.5,2],model,exprs,gr_i);
TIME_DELAY.prototype.details = function TIME_DELAY() {
}
}
+/* autogenerated from "macros/Linear/INTEGRAL_m.sci" */
+function INTEGRAL_m() {
+INTEGRAL_m.prototype.get = function INTEGRAL_m() {
+}
+INTEGRAL_m.prototype.set = function INTEGRAL_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,x0,reinit,satur,maxp,lowp,exprs]=scicos_getvalue("Set Integral block parameters",["Initial Condition","With re-intialization (1:yes, 0:no)","With saturation (1:yes, 0:no)","Upper limit","Lower limit"],list("mat",[-1,-1],"vec",1,"vec",1,"mat",[-1,-1],"mat",[-1,-1]),exprs);
+if (!ok) {
+break
+}
+if (isreal(x0)) {
+Datatype=1;
+} else {
+Datatype=2;
+}
+if (reinit!=0) {
+reinit=1;
+}
+if (satur!=0) {
+satur=1;
+if (Datatype==1) {
+if (size(maxp,"*")==1) {
+maxp=maxp*ones(x0);
+}
+if (size(lowp,"*")==1) {
+lowp=lowp*ones(x0);
+}
+if ((size(x0)!=size(maxp)||size(x0)!=size(lowp))) {
+message("x0 and Upper limit and Lower limit must have same size");
+ok=None;
+} else if (or(maxp<=lowp)) {
+message("Upper limits must be > Lower limits");
+ok=None;
+} else if (or(x0>maxp)||or(x0<lowp)) {
+message("Initial condition x0 should be inside the limits");
+ok=None;
+} else {
+rpar=[real(maxp.slice()),real(lowp.slice())];
+model.nzcross=size(x0,"*");
+model.nmode=size(x0,"*");
+}
+} else if ((Datatype==2)) {
+if (size(maxp,"*")==1) {
+maxp=math.complex(maxp*ones(x0),(maxp*ones(x0)));
+}
+if (size(lowp,"*")==1) {
+lowp=math.complex(lowp*ones(x0),(lowp*ones(x0)));
+}
+if ((size(x0)!=size(maxp)||size(x0)!=size(lowp))) {
+message("x0 and Upper limit and Lower limit must have same size");
+ok=None;
+} else if (or(real(maxp)<=real(lowp))||or(imag(maxp)<=imag(lowp))) {
+message("Upper limits must be > Lower limits");
+ok=None;
+} else if (or(real(x0)>real(maxp))||or(real(x0)<real(lowp))||or(imag(x0)>imag(maxp))||or(imag(x0)<imag(lowp))) {
+message("Initial condition x0 should be inside the limits");
+ok=None;
+} else {
+rpar=[real(maxp.slice()),real(lowp.slice()),imag(maxp.slice()),imag(lowp.slice())];
+model.nzcross=2*size(x0,"*");
+model.nmode=2*size(x0,"*");
+}
+}
+} else {
+rpar=[];
+model.nzcross=0;
+model.nmode=0;
+}
+if (ok) {
+model.rpar=rpar;
+if ((Datatype==1)) {
+model.state=real(x0.slice());
+model.sim=list("integral_func",4);
+it=[1,ones(reinit,1)];
+ot=1;
+} else if ((Datatype==2)) {
+model.state=[real(x0.slice()),imag(x0.slice())];
+model.sim=list("integralz_func",4);
+it=[2,2*ones(reinit,1)];
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if (ok) {
+in1=[size(x0,1)*[1,ones(reinit,1)],size(x0,2)*[1,ones(reinit,1)]];
+out=size(x0);
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(reinit,1),[]);
+}
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+INTEGRAL_m.prototype.define = function INTEGRAL_m() {
+maxp=1;
+minp=-1;
+rpar=[];
+model=scicos_model();
+model.state=0;
+model.sim=list("integral_func",4);
+model.in=1;
+model.out=1;
+model.in2=1;
+model.out2=1;
+model.rpar=rpar;
+model.blocktype="c";
+model.dep_ut=[None,true];
+exprs=string([0,0,0,maxp,minp]);
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+INTEGRAL_m.prototype.details = function INTEGRAL_m() {
+}
+}
+/* autogenerated from "macros/Linear/DOLLAR.sci" */
+function DOLLAR() {
+DOLLAR.prototype.get = function DOLLAR() {
+}
+DOLLAR.prototype.set = function DOLLAR() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")<2) {
+exprs[2-1]="0";
+}
+while (true) {
+[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("mat",[-1,-2],"vec",-1),exprs);
+if (!ok) {
+break
+}
+out=[size(a,1),size(a,2)];
+if (out==0) {
+out=[];
+}
+in1=out;
+model.sim=list("dollar4_m",4);
+model.odstate=list(a);
+model.dstate=[];
+if (type((a)==1)) {
+if (isreal(a)) {
+it=1;
+ot=1;
+if ((size(a,1)==1||size(a,2)==1)) {
+model.sim=list("dollar4",4);
+model.dstate=a.slice();
+model.odstate=list();
+}
+} else {
+it=2;
+ot=2;
+}
+} else if ((typeof(a)=="int32")) {
+it=3;
+ot=3;
+} else if ((typeof(a)=="int16")) {
+it=4;
+ot=4;
+} else if ((typeof(a)=="int8")) {
+it=5;
+ot=5;
+} else if ((typeof(a)=="uint32")) {
+it=6;
+ot=6;
+} else if ((typeof(a)=="uint16")) {
+it=7;
+ot=7;
+} else if ((typeof(a)=="uint8")) {
+it=8;
+ot=8;
+} else {
+message("type is not recognized");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(1-inh,1),[]);
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DOLLAR.prototype.define = function DOLLAR() {
+z=0;
+inh=0;
+in1=1;
+exprs=string([z,inh]);
+model=scicos_model();
+model.sim=list("dollar4",4);
+model.in=in1;
+model.out=in1;
+model.evtin=1-inh;
+model.dstate=z;
+model.blocktype="d";
+model.dep_ut=[None,None];
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+DOLLAR.prototype.details = function DOLLAR() {
+}
+}
/* autogenerated from "macros/Linear/SUM_f.sci" */
function SUM_f() {
SUM_f.prototype.get = function SUM_f() {
@@ -2657,6 +3219,70 @@ x.graphics.id="From";
FROM.prototype.details = function FROM() {
}
}
+/* autogenerated from "macros/Branching/ISELECT_m.sci" */
+function ISELECT_m() {
+ISELECT_m.prototype.get = function ISELECT_m() {
+}
+ISELECT_m.prototype.set = function ISELECT_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,typ,nout,z0,exprs]=scicos_getvalue("Set parameters",["Datatype(1= real double 2=Complex 3=int32 ...)","number of outputs","initial connected output"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (z0>nout||z0<=0) {
+message("initial connected input is not a valid input port number");
+} else if (((typ<1)||(typ>8))) {
+message("Datatype is not supported");
+ok=None;
+} else {
+it=typ;
+ot=typ*ones(1,nout);
+if (ok) {
+out=[-ones(nout,1),-2*ones(nout,1)];
+in1=[-1,-2];
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(nout,1),[]);
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=z0;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+ISELECT_m.prototype.define = function ISELECT_m() {
+z0=1;
+nout=2;
+model=scicos_model();
+model.sim=list("selector_m",4);
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=1;
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.evtout=[];
+model.state=[];
+model.rpar=[];
+model.ipar=[];
+model.firing=[];
+model.evtin=ones(nout,1);
+model.dstate=z0;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[sci2exp(1),sci2exp(nout),sci2exp(z0)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+ISELECT_m.prototype.details = function ISELECT_m() {
+}
+}
/* autogenerated from "macros/Branching/SELECT_f.sci" */
function SELECT_f() {
SELECT_f.prototype.get = function SELECT_f() {
@@ -2704,6 +3330,65 @@ x=standard_define([2,2],model,exprs,gr_i);
SELECT_f.prototype.details = function SELECT_f() {
}
}
+/* autogenerated from "macros/Branching/GOTOMO.sci" */
+function GOTOMO() {
+GOTOMO.prototype.get = function GOTOMO() {
+}
+GOTOMO.prototype.set = function GOTOMO() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set parameters",["Tag","Tag Visibility(1=Local 2=scoped 3= global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+tagvis=int(tagvis);
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+if (ok) {
+if (((model.ipar!=tagvis)||(model.opar!=list(tag)))) {
+needcompile=4;
+y=needcompile;
+}
+graphics.exprs=exprs;
+model.opar=list(tag);
+model.ipar=tagvis;
+x.model=model;
+x.graphics=graphics;
+arg1=x;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+GOTOMO.prototype.define = function GOTOMO() {
+model=scicos_model();
+model.sim="gotomo";
+model.in=-1;
+model.in2=-2;
+model.intyp=[];
+model.out=[];
+model.out2=[];
+model.outtyp=1;
+model.ipar=int(1);
+model.opar=list("A");
+model.blocktype="c";
+model.dep_ut=[None,None];
+mo=modelica();
+mo.model="gotomo";
+mo.inputs="p";
+exprs=["A",sci2exp(1)];
+gr_i=[];
+x=standard_define([2,1],model,exprs,gr_i);
+x.graphics.in_implicit=["I"];
+}
+GOTOMO.prototype.details = function GOTOMO() {
+}
+}
/* autogenerated from "macros/Branching/SWITCH2_m.sci" */
function SWITCH2_m() {
SWITCH2_m.prototype.get = function SWITCH2_m() {
@@ -2821,6 +3506,58 @@ x=standard_define([3,2],model,exprs,gr_i);
EXTRACTOR.prototype.details = function EXTRACTOR() {
}
}
+/* autogenerated from "macros/Branching/CLKGOTO.sci" */
+function CLKGOTO() {
+CLKGOTO.prototype.get = function CLKGOTO() {
+}
+CLKGOTO.prototype.set = function CLKGOTO() {
+x=arg1;
+graphics=arg1.graphics;
+model=arg1.model;
+exprs=graphics.exprs;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set block parameters",["Tag","Tag Visibility (1=Local 2=Scoped 3=Global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+tagvis=int(tagvis);
+if (ok) {
+if (((model.opar!=list(tag))||(model.ipar!=tagvis))) {
+needcompile=4;
+y=needcompile;
+}
+model.opar=list(tag);
+model.ipar=tagvis;
+model.evtin=1;
+model.firing=-1;
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+CLKGOTO.prototype.define = function CLKGOTO() {
+model=scicos_model();
+model.sim="clkgoto";
+model.evtin=1;
+model.opar=list("A");
+model.ipar=int(1);
+model.blocktype="d";
+model.firing=-1;
+model.dep_ut=[None,None];
+exprs=["A",sci2exp(1)];
+x=standard_define([2,1],model,exprs," ");
+x.graphics.id="Goto";
+}
+CLKGOTO.prototype.details = function CLKGOTO() {
+}
+}
/* autogenerated from "macros/Branching/CLKFROM.sci" */
function CLKFROM() {
CLKFROM.prototype.get = function CLKFROM() {
@@ -2864,6 +3601,62 @@ x.graphics.id="From";
CLKFROM.prototype.details = function CLKFROM() {
}
}
+/* autogenerated from "macros/Branching/GOTO.sci" */
+function GOTO() {
+GOTO.prototype.get = function GOTO() {
+}
+GOTO.prototype.set = function GOTO() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set parameters",["Tag","Tag Visibility(1=Local 2=scoped 3= global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+tagvis=int(tagvis);
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+if (ok) {
+if (((model.ipar!=tagvis)||(model.opar!=list(tag)))) {
+needcompile=4;
+y=needcompile;
+}
+graphics.exprs=exprs;
+model.opar=list(tag);
+model.ipar=tagvis;
+x.model=model;
+x.graphics=graphics;
+arg1=x;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+GOTO.prototype.define = function GOTO() {
+model=scicos_model();
+model.sim="goto";
+model.in=-1;
+model.in2=-2;
+model.intyp=-1;
+model.out=[];
+model.out2=[];
+model.outtyp=1;
+model.ipar=int(1);
+model.opar=list("A");
+model.blocktype="c";
+model.dep_ut=[None,None];
+exprs=["A",sci2exp(1)];
+gr_i=[];
+x=standard_define([2,1],model,exprs,gr_i);
+x.graphics.id="Goto";
+}
+GOTO.prototype.details = function GOTO() {
+}
+}
/* autogenerated from "macros/Branching/SCALAR2VECTOR.sci" */
function SCALAR2VECTOR() {
SCALAR2VECTOR.prototype.get = function SCALAR2VECTOR() {
@@ -3130,6 +3923,70 @@ x=standard_define([2,2],model,exprs,gr_i);
ISELECT_f.prototype.details = function ISELECT_f() {
}
}
+/* autogenerated from "macros/Branching/SELECT_m.sci" */
+function SELECT_m() {
+SELECT_m.prototype.get = function SELECT_m() {
+}
+SELECT_m.prototype.set = function SELECT_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,typ,nin,z0,exprs]=scicos_getvalue("Set parameters",["Datatype(1= real double 2=Complex 3=int32 ..)","number of inputs","initial connected input"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (z0>nin||z0<=0) {
+message("initial connected input is not a valid input port number");
+} else if (((typ<1)||(typ>8))&&(typ!=-1)) {
+message("Datatype is not supported");
+ok=None;
+} else {
+it=typ*ones(1,nin);
+ot=typ;
+if (ok) {
+in1=[-ones(nin,1),-2*ones(nin,1)];
+out=[-1,-2];
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(nin,1),[]);
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=z0;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+SELECT_m.prototype.define = function SELECT_m() {
+z0=1;
+nin=2;
+model=scicos_model();
+model.sim=list("selector_m",4);
+model.in=[-1,-1];
+model.in2=[-2,-2];
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtout=[];
+model.state=[];
+model.rpar=[];
+model.ipar=[];
+model.firing=[];
+model.evtin=ones(nin,1);
+model.dstate=z0;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[sci2exp(1),sci2exp(nin),sci2exp(z0)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+SELECT_m.prototype.details = function SELECT_m() {
+}
+}
/* autogenerated from "macros/Branching/CLKGotoTagVisibility.sci" */
function CLKGotoTagVisibility() {
CLKGotoTagVisibility.prototype.get = function CLKGotoTagVisibility() {
@@ -3179,6 +4036,69 @@ x=standard_define([2,2],model,exprs,gr_i);
CLKGotoTagVisibility.prototype.details = function CLKGotoTagVisibility() {
}
}
+/* autogenerated from "macros/Branching/M_SWITCH.sci" */
+function M_SWITCH() {
+M_SWITCH.prototype.get = function M_SWITCH() {
+}
+M_SWITCH.prototype.set = function M_SWITCH() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,nin,base,rule,exprs]=scicos_getvalue("Set parameters",["number of inputs","zero base indexing (0), otherwise 1","rounding rule: int (0), round (1), ceil (2), floor (3)"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+nin=int(nin);
+base=int(base);
+if (nin<1) {
+message("Number of inputs must be >=1 ");
+} else if (!((base==1)||(base==0))) {
+message("base indexing must be 1 or 0");
+} else if (!((rule==1)||(rule==0)||(rule==2)||(rule==3))) {
+message("incorrect rounding rule");
+} else {
+if (nin==1) {
+in1=[1,1,-1,1];
+out=[1,1];
+} else {
+in1=[1,-ones(nin,1)];
+in2=[1,-2*ones(nin,1)];
+in1=[in1,in2];
+out=[-1,-2];
+}
+it=[-1,-2*ones(nin,1)];
+ot=-2;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+if (ok) {
+graphics.exprs=exprs;
+model.ipar=[base,rule];
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+M_SWITCH.prototype.define = function M_SWITCH() {
+in1=[1,-1,-1];
+ipar=[1,3];
+nin=2;
+model=scicos_model();
+model.sim=list("mswitch",4);
+model.in=in1;
+model.out=-1;
+model.ipar=ipar;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[string(nin),string(ipar)];
+gr_i=[];
+x=standard_define([2.5,2],model,exprs,gr_i);
+}
+M_SWITCH.prototype.details = function M_SWITCH() {
+}
+}
/* autogenerated from "macros/Branching/FROMMO.sci" */
function FROMMO() {
FROMMO.prototype.get = function FROMMO() {
@@ -3422,6 +4342,86 @@ x.graphics.out_implicit=["I"];
INIMPL_f.prototype.details = function INIMPL_f() {
}
}
+/* autogenerated from "macros/Sources/RAND_m.sci" */
+function RAND_m() {
+RAND_m.prototype.get = function RAND_m() {
+}
+RAND_m.prototype.set = function RAND_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")==14) {
+exprs[9-1]=[];
+}
+while (true) {
+[ok,typ,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 matrix with equal sizes"],["Datatype(1=real double 2=complex)","flag","A","B","SEED"],list("vec",1,"vec",1,"mat",[-1,-2],"mat","[-1 -2]","mat",[1,2]),exprs);
+if (!ok) {
+break
+}
+if (flag!=0&&flag!=1) {
+message("flag must be equal to 1 or 0");
+} else {
+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())];
+ot=1;
+} else if (typ==2) {
+function_name="rndblkz_m";
+ot=2;
+model.rpar=[real(a.slice()),imag(a.slice()),real(b.slice()),imag(b.slice())];
+model.dstate=[seed_c.slice(),0*[real(a.slice()),imag(a.slice())]];
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list([],[]),list(out,ot),1,[]);
+if (ok) {
+model.sim=list(function_name,4);
+graphics.exprs=exprs;
+model.ipar=flag;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+RAND_m.prototype.define = function RAND_m() {
+a=0;
+b=1;
+dt=0;
+flag=0;
+function_name="rndblk_m";
+funtyp=4;
+model=scicos_model();
+model.sim=list(function_name,funtyp);
+model.in=[];
+model.in2=[];
+model.intyp=[];
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=1;
+model.evtout=[];
+model.state=[];
+model.dstate=[int(rand()*(10^7-1)),0*a.slice()];
+model.rpar=[a.slice(),b.slice()];
+model.ipar=flag;
+model.blocktype="d";
+model.firing=[];
+model.dep_ut=[None,None];
+exprs=[sci2exp(1),string(flag),sci2exp([a]),sci2exp([b]),sci2exp([model.dstate(1),int(rand()*(10^7-1))])];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+RAND_m.prototype.details = function RAND_m() {
+}
+}
/* autogenerated from "macros/Sources/GENSQR_f.sci" */
function GENSQR_f() {
GENSQR_f.prototype.get = function GENSQR_f() {
@@ -3435,7 +4435,8 @@ if (size(exprs,"*")==2) {
exprs=exprs(2);
}
while (true) {
-[ok,Amplitude,exprs]=scicos_getvalue(["Set Square generator block parameters"],["Amplitude"],list("vec",1),exprs);
+[ok,Amplitude,exprs]=scicos_getvalue([
+ "Set Square generator block parameters"],["Amplitude"],list("vec",1),exprs);
if (!ok) {
break
}
@@ -4153,7 +5154,7 @@ lunit=dstate(3);
fname=exprs(3);
frmt=exprs(4);
while (true) {
-[ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"READC_f")," ",gettext("Read from C binary file")],[gettext("Time Record Selection"),gettext("Outputs Record Selection"),gettext("Input File Name"),gettext("Input Format"),gettext("Record Size"),gettext("Buffer Size"),gettext("Initial Record Index"),gettext("Swap Mode (0:No, 1:Yes)")],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs);
+[ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"READC_f" )," ",gettext("Read from C binary file")],[gettext("Time Record Selection"),gettext("Outputs Record Selection"),gettext("Input File Name"),gettext("Input Format"),gettext("Record Size"),gettext("Buffer Size"),gettext("Initial Record Index"),gettext("Swap Mode (0:No, 1:Yes)")],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs);
if (!ok) {
break
}
@@ -4511,6 +5512,81 @@ x=standard_define([3,2],model,exprs,gr_i);
GENSIN_f.prototype.details = function GENSIN_f() {
}
}
+/* autogenerated from "macros/MatrixOp/MATMAGPHI.sci" */
+function MATMAGPHI() {
+MATMAGPHI.prototype.get = function MATMAGPHI() {
+}
+MATMAGPHI.prototype.set = function MATMAGPHI() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,decomptyp,lab]=scicos_getvalue("Set MATMAGPHI block parameters",["decomposition type (1=Complex2MAG&PHI 2=MAG&PHI2Complex)"],list("vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((decomptyp==1)) {
+function_name="matz_abs";
+in1=[-1,-2];
+it=2;
+out=[-1,-2,-1,-2];
+ot=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_absc";
+in1=[-1,-2,-1,-2];
+it=[1,1];
+out=[-1,-2];
+ot=2;
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATMAGPHI.prototype.define = function MATMAGPHI() {
+model=scicos_model();
+function_name="matz_abs";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=2;
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=[1,1];
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATMAGPHI.prototype.details = function MATMAGPHI() {
+}
+}
/* autogenerated from "macros/MatrixOp/SQRT.sci" */
function SQRT() {
SQRT.prototype.get = function SQRT() {
@@ -4954,6 +6030,102 @@ x=standard_define([2,2],model,label,gr_i);
MATLU.prototype.details = function MATLU() {
}
}
+/* autogenerated from "macros/MatrixOp/MATSUM.sci" */
+function MATSUM() {
+MATSUM.prototype.get = function MATSUM() {
+}
+MATSUM.prototype.set = function MATSUM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATSUM block parameters",["Datatype(1=real double 2=Complex)","Sum along (0=all 1=lines 2=Columns)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==0)) {
+function_name="mat_sum";
+out=[1,1];
+} else if ((decomptyp==2)) {
+function_name="mat_suml";
+out=[-1,1];
+} else if ((decomptyp==1)) {
+function_name="mat_sumc";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+ot=1;
+} else if ((typ==2)) {
+if ((decomptyp==0)) {
+function_name="matz_sum";
+out=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_suml";
+out=[-1,1];
+} else if ((decomptyp==1)) {
+function_name="matz_sumc";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[model.in,model.in2];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATSUM.prototype.define = function MATSUM() {
+model=scicos_model();
+function_name="mat_sum";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(0)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATSUM.prototype.details = function MATSUM() {
+}
+}
/* autogenerated from "macros/MatrixOp/MATBKSL.sci" */
function MATBKSL() {
MATBKSL.prototype.get = function MATBKSL() {
@@ -5244,6 +6416,176 @@ x=standard_define([2,2],model,label,gr_i);
RICC.prototype.details = function RICC() {
}
}
+/* autogenerated from "macros/MatrixOp/MATZREIM.sci" */
+function MATZREIM() {
+MATZREIM.prototype.get = function MATZREIM() {
+}
+MATZREIM.prototype.set = function MATZREIM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,decomptyp,lab]=scicos_getvalue("Set MATZREIM block parameters",["decomposition type (1=Complex2Real&Imag 2=Real&Imag2Complex)"],list("vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((decomptyp==1)) {
+function_name="matz_reim";
+in1=[-1,-2];
+it=2;
+out=[-1,-2,-1,-2];
+ot=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_reimc";
+in1=[-1,-2,-1,-2];
+it=[1,1];
+out=[-1,-2];
+ot=2;
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATZREIM.prototype.define = function MATZREIM() {
+model=scicos_model();
+function_name="matz_reim";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=2;
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=[1,1];
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=sci2exp(1);
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATZREIM.prototype.details = function MATZREIM() {
+}
+}
+/* autogenerated from "macros/MatrixOp/MATSING.sci" */
+function MATSING() {
+MATSING.prototype.get = function MATSING() {
+}
+MATSING.prototype.set = function MATSING() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATSVD block parameters",["Datatype(1=real double 2=Complex)","decomposition type (1=singular values 2=sing values+matrix U & V)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==1)) {
+function_name="mat_sing";
+in1=[-1,-2];
+out=[-1,1];
+ot=1;
+} else if ((decomptyp==2)) {
+function_name="mat_svd";
+in1=[-1,-2];
+out=[-1,-1,-1,-2,-2,-2];
+ot=[1,1,1];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+} else if ((typ==2)) {
+if ((decomptyp==1)) {
+function_name="matz_sing";
+in1=[-1,-2];
+out=[-1,1];
+ot=1;
+} else if ((decomptyp==2)) {
+function_name="matz_svd";
+in1=[-1,-2];
+out=[-1,-1,-1,-2,-2,-2];
+ot=[2,1,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATSING.prototype.define = function MATSING() {
+model=scicos_model();
+function_name="mat_sing";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+MATSING.prototype.details = function MATSING() {
+}
+}
/* autogenerated from "macros/MatrixOp/MATDET.sci" */
function MATDET() {
MATDET.prototype.get = function MATDET() {
@@ -5315,6 +6657,447 @@ x=standard_define([2,2],model,label,gr_i);
MATDET.prototype.details = function MATDET() {
}
}
+/* autogenerated from "macros/MatrixOp/SUBMAT.sci" */
+function SUBMAT() {
+SUBMAT.prototype.get = function SUBMAT() {
+}
+SUBMAT.prototype.set = function SUBMAT() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==5) {
+label[6-1]=sci2exp([1,1]);
+}
+while (true) {
+[ok,typ,a,b,c,d,inp,exprs]=scicos_getvalue("Set SUBMAT Block",["Datatype (1=real double 2=Complex)","Starting Row Index","Ending Row Index","Starting Column Index","Ending Column Index","Input Dimensions"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",2),label);
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="submat";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="submatz";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if ((a<=0)||(b<=0)||(c<=0)||(d<=0)) {
+message("invalid index");
+ok=None;
+}
+if (b<a) {
+message("ending row must be greater than starting row");
+ok=None;
+}
+if (d<c) {
+message("ending column must be greater than starting column");
+ok=None;
+}
+if (b>inp(1)) {
+message("index of ending row is out of range");
+ok=None;
+}
+if (d>inp(2)) {
+message("index of ending column is out of range");
+ok=None;
+}
+model.ipar=[a,b,c,d];
+in1=[inp(1),inp(2)];
+out=[(b-a)+1,(d-c)+1];
+funtyp=4;
+label=exprs;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+SUBMAT.prototype.define = function SUBMAT() {
+model=scicos_model();
+function_name="submat";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[1,1,1,1];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1),sci2exp(1),sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2.5,2],model,label,gr_i);
+}
+SUBMAT.prototype.details = function SUBMAT() {
+}
+}
+/* autogenerated from "macros/MatrixOp/ROOTCOEF.sci" */
+function ROOTCOEF() {
+ROOTCOEF.prototype.get = function ROOTCOEF() {
+}
+ROOTCOEF.prototype.set = function ROOTCOEF() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,inp,exprs]=scicos_getvalue("Set ROOTCOEF Block",["Datatype(1=real double 2=Complex)","input row size"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="root_coef";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="rootz_coef";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[inp,model.in2];
+out=[inp+1,model.out2];
+funtyp=4;
+if (ok) {
+label=exprs;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+ROOTCOEF.prototype.define = function ROOTCOEF() {
+model=scicos_model();
+function_name="root_coef";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=1;
+model.intyp=1;
+model.out=-2;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+ROOTCOEF.prototype.details = function ROOTCOEF() {
+}
+}
+/* autogenerated from "macros/MatrixOp/EXTRACT.sci" */
+function EXTRACT() {
+EXTRACT.prototype.get = function EXTRACT() {
+}
+EXTRACT.prototype.set = function EXTRACT() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,a,b,exprs]=scicos_getvalue("Set EXTRACT Block",["Datatype (1=real double 2=Complex)","Lines to extract","Columns to extract"],list("vec",1,"mat",[1,-1],"mat",[1,-1]),label);
+a=a.slice();
+b=b.slice();
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="extract";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="extractz";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+ma=size(a,1);
+mb=size(b,1);
+if ((ma==0||mb==0)) {
+message("empty field");
+ok=None;
+}
+for(i=1;i<=ma;i+=1) {
+if ((a(i)<=0)) {
+message("invalid index");
+ok=None;
+}
+}
+for(j=1;j<=mb;j+=1) {
+if ((b(j)<=0)) {
+message("invalid index");
+ok=None;
+}
+}
+model.ipar=[a,b,ma,mb];
+in1=[model.in,model.in2];
+out=[ma,mb];
+funtyp=4;
+if (ok) {
+label=exprs;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+EXTRACT.prototype.define = function EXTRACT() {
+model=scicos_model();
+function_name="extract";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[1,1,1,1];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp([1]),sci2exp([1])];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+EXTRACT.prototype.details = function EXTRACT() {
+}
+}
+/* autogenerated from "macros/MatrixOp/MATEIG.sci" */
+function MATEIG() {
+MATEIG.prototype.get = function MATEIG() {
+}
+MATEIG.prototype.set = function MATEIG() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATEIG block parameters",["Datatype(1=real double 2=Complex)","decomposition type (1=eig values 2=eig values+eig vectors"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==1)) {
+function_name="mat_vps";
+out=[-1,1];
+ot=2;
+} else if ((decomptyp==2)) {
+function_name="mat_vpv";
+out=[-1,-1,-1,-1];
+ot=[2,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+} else if ((typ==2)) {
+if ((decomptyp==1)) {
+function_name="matz_vps";
+out=[-1,1];
+ot=2;
+} else if ((decomptyp==2)) {
+function_name="matz_vpv";
+out=[-1,-1,-1,-1];
+ot=[2,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[-1,-1];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATEIG.prototype.define = function MATEIG() {
+model=scicos_model();
+function_name="mat_vps";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-1;
+model.intyp=1;
+model.out=-1;
+model.out2=1;
+model.outtyp=2;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+MATEIG.prototype.details = function MATEIG() {
+}
+}
+/* autogenerated from "macros/MatrixOp/CUMSUM.sci" */
+function CUMSUM() {
+CUMSUM.prototype.get = function CUMSUM() {
+}
+CUMSUM.prototype.set = function CUMSUM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set CUMSUM block parameters",["Datatype(1=real double 2=Complex)","Sum along (0=the first non singleton dimension 1=Rows 2=Columns)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==0)) {
+function_name="cumsum_m";
+out=[-1,-2];
+} else if ((decomptyp==1)) {
+function_name="cumsum_r";
+out=[-1,1];
+} else if ((decomptyp==2)) {
+function_name="cumsum_c";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+ot=1;
+} else if ((typ==2)) {
+if ((decomptyp==0)) {
+function_name="cumsumz_m";
+} else if ((decomptyp==1)) {
+function_name="cumsumz_r";
+} else if ((decomptyp==2)) {
+function_name="cumsumz_c";
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[model.in,model.in2];
+out=[model.out,model.out2];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+CUMSUM.prototype.define = function CUMSUM() {
+model=scicos_model();
+function_name="cumsum_m";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(0)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+CUMSUM.prototype.details = function CUMSUM() {
+}
+}
/* autogenerated from "macros/MatrixOp/MATDIV.sci" */
function MATDIV() {
MATDIV.prototype.get = function MATDIV() {
@@ -6367,6 +8150,53 @@ x.graphics.out_implicit=["I"];
OpAmp.prototype.details = function OpAmp() {
}
}
+/* autogenerated from "macros/Electrical/Capacitor.sci" */
+function Capacitor() {
+Capacitor.prototype.get = function Capacitor() {
+}
+Capacitor.prototype.set = function Capacitor() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,C,v,exprs]=scicos_getvalue("Set Capacitor block parameter",["C (F)","Initial Voltage"],list("vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+model.rpar=C;
+model.equations.parameters[2-1]=list(C,v);
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+Capacitor.prototype.define = function Capacitor() {
+model=scicos_model();
+C=0.01;
+v=0;
+model.rpar=[C,v];
+model.sim="Capacitor";
+model.blocktype="c";
+model.dep_ut=[true,None];
+mo=modelica();
+mo.model="Capacitor";
+mo.inputs="p";
+mo.outputs="n";
+mo.parameters=list(["C","v"],list(C,v),[0,1]);
+model.equations=mo;
+model.in=ones(size(mo.inputs,"*"),1);
+model.out=ones(size(mo.outputs,"*"),1);
+exprs=string([C,v]);
+gr_i=[];
+x=standard_define([2,1.1],model,exprs,list(gr_i,0));
+x.graphics.in_implicit=["I"];
+x.graphics.out_implicit=["I"];
+}
+Capacitor.prototype.details = function Capacitor() {
+}
+}
/* autogenerated from "macros/Electrical/Gyrator.sci" */
function Gyrator() {
Gyrator.prototype.get = function Gyrator() {
@@ -7496,14 +9326,14 @@ graphics=arg1.graphics;
model=arg1.model;
exprs=graphics.exprs;
while (true) {
-[ok,Datatype,np,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"INTMUL")," ",gettext("Integer matrix multiplication")," "],[msprintf(gettext("Data Type %s"),"(3:int32, 4:int16, 5:int8, ...)"),gettext("Do on Overflow (0:Nothing, 1:Saturate, 2:Error)")],list("vec",1,"vec",1),exprs);
+[ok,Datatype,np,exprs]=scicos_getvalue( [msprintf(gettext("Set %s block parameters"),"INTMUL")," ",gettext("Integer matrix multiplication")," "],[msprintf(gettext("Data Type %s"),"(3:int32, 4:int16, 5:int8, ...)"),gettext("Do on Overflow (0:Nothing, 1:Saturate, 2:Error)")],list("vec",1,"vec",1),exprs);
if (!ok) {
break
}
it=Datatype*ones(1,2);
ot=Datatype;
if ((np!=0&&np!=1&&np!=2)) {
-block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Do on Overflow"),np),msprintf(gettext("Must be in the interval %s."),"[0, 2]"));
+block_parameter_error(msprintf( gettext("Wrong value for \'%s\' parameter: %d."),gettext("Do on Overflow"),np),msprintf( gettext("Must be in the interval %s."),"[0, 2]"));
ok=None;
} else if (Datatype==3) {
if (np==0) {
diff --git a/js/Branching/CLKGOTO.js b/js/Branching/CLKGOTO.js
index dff16c09..a8cff8bd 100644
--- a/js/Branching/CLKGOTO.js
+++ b/js/Branching/CLKGOTO.js
@@ -1,3 +1,52 @@
-Syntax error in input LexToken(SEMICOLON,';',1,1409)
/* autogenerated from "macros/Branching/CLKGOTO.sci" */
-None
+function CLKGOTO() {
+CLKGOTO.prototype.get = function CLKGOTO() {
+}
+CLKGOTO.prototype.set = function CLKGOTO() {
+x=arg1;
+graphics=arg1.graphics;
+model=arg1.model;
+exprs=graphics.exprs;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set block parameters",["Tag","Tag Visibility (1=Local 2=Scoped 3=Global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+tagvis=int(tagvis);
+if (ok) {
+if (((model.opar!=list(tag))||(model.ipar!=tagvis))) {
+needcompile=4;
+y=needcompile;
+}
+model.opar=list(tag);
+model.ipar=tagvis;
+model.evtin=1;
+model.firing=-1;
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+CLKGOTO.prototype.define = function CLKGOTO() {
+model=scicos_model();
+model.sim="clkgoto";
+model.evtin=1;
+model.opar=list("A");
+model.ipar=int(1);
+model.blocktype="d";
+model.firing=-1;
+model.dep_ut=[None,None];
+exprs=["A",sci2exp(1)];
+x=standard_define([2,1],model,exprs," ");
+x.graphics.id="Goto";
+}
+CLKGOTO.prototype.details = function CLKGOTO() {
+}
+}
diff --git a/js/Branching/GOTO.js b/js/Branching/GOTO.js
index 2bc1136a..59694dfd 100644
--- a/js/Branching/GOTO.js
+++ b/js/Branching/GOTO.js
@@ -1,3 +1,56 @@
-Syntax error in input LexToken(SEMICOLON,';',1,1444)
/* autogenerated from "macros/Branching/GOTO.sci" */
-None
+function GOTO() {
+GOTO.prototype.get = function GOTO() {
+}
+GOTO.prototype.set = function GOTO() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set parameters",["Tag","Tag Visibility(1=Local 2=scoped 3= global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+tagvis=int(tagvis);
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+if (ok) {
+if (((model.ipar!=tagvis)||(model.opar!=list(tag)))) {
+needcompile=4;
+y=needcompile;
+}
+graphics.exprs=exprs;
+model.opar=list(tag);
+model.ipar=tagvis;
+x.model=model;
+x.graphics=graphics;
+arg1=x;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+GOTO.prototype.define = function GOTO() {
+model=scicos_model();
+model.sim="goto";
+model.in=-1;
+model.in2=-2;
+model.intyp=-1;
+model.out=[];
+model.out2=[];
+model.outtyp=1;
+model.ipar=int(1);
+model.opar=list("A");
+model.blocktype="c";
+model.dep_ut=[None,None];
+exprs=["A",sci2exp(1)];
+gr_i=[];
+x=standard_define([2,1],model,exprs,gr_i);
+x.graphics.id="Goto";
+}
+GOTO.prototype.details = function GOTO() {
+}
+}
diff --git a/js/Branching/GOTOMO.js b/js/Branching/GOTOMO.js
index e6eff816..866e5b2e 100644
--- a/js/Branching/GOTOMO.js
+++ b/js/Branching/GOTOMO.js
@@ -1,3 +1,59 @@
-Syntax error in input LexToken(SEMICOLON,';',1,1446)
/* autogenerated from "macros/Branching/GOTOMO.sci" */
-None
+function GOTOMO() {
+GOTOMO.prototype.get = function GOTOMO() {
+}
+GOTOMO.prototype.set = function GOTOMO() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,tag,tagvis,exprs]=scicos_getvalue("Set parameters",["Tag","Tag Visibility(1=Local 2=scoped 3= global)"],list("str",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+tagvis=int(tagvis);
+if (((tagvis<1)||(tagvis>3))) {
+message("Tag Visibility must be between 1 and 3");
+ok=None;
+}
+if (ok) {
+if (((model.ipar!=tagvis)||(model.opar!=list(tag)))) {
+needcompile=4;
+y=needcompile;
+}
+graphics.exprs=exprs;
+model.opar=list(tag);
+model.ipar=tagvis;
+x.model=model;
+x.graphics=graphics;
+arg1=x;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+GOTOMO.prototype.define = function GOTOMO() {
+model=scicos_model();
+model.sim="gotomo";
+model.in=-1;
+model.in2=-2;
+model.intyp=[];
+model.out=[];
+model.out2=[];
+model.outtyp=1;
+model.ipar=int(1);
+model.opar=list("A");
+model.blocktype="c";
+model.dep_ut=[None,None];
+mo=modelica();
+mo.model="gotomo";
+mo.inputs="p";
+exprs=["A",sci2exp(1)];
+gr_i=[];
+x=standard_define([2,1],model,exprs,gr_i);
+x.graphics.in_implicit=["I"];
+}
+GOTOMO.prototype.details = function GOTOMO() {
+}
+}
diff --git a/js/Branching/ISELECT_m.js b/js/Branching/ISELECT_m.js
index 9460811e..745401ac 100644
--- a/js/Branching/ISELECT_m.js
+++ b/js/Branching/ISELECT_m.js
@@ -1,3 +1,64 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1758)
/* autogenerated from "macros/Branching/ISELECT_m.sci" */
-None
+function ISELECT_m() {
+ISELECT_m.prototype.get = function ISELECT_m() {
+}
+ISELECT_m.prototype.set = function ISELECT_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,typ,nout,z0,exprs]=scicos_getvalue("Set parameters",["Datatype(1= real double 2=Complex 3=int32 ...)","number of outputs","initial connected output"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (z0>nout||z0<=0) {
+message("initial connected input is not a valid input port number");
+} else if (((typ<1)||(typ>8))) {
+message("Datatype is not supported");
+ok=None;
+} else {
+it=typ;
+ot=typ*ones(1,nout);
+if (ok) {
+out=[-ones(nout,1),-2*ones(nout,1)];
+in1=[-1,-2];
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(nout,1),[]);
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=z0;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+ISELECT_m.prototype.define = function ISELECT_m() {
+z0=1;
+nout=2;
+model=scicos_model();
+model.sim=list("selector_m",4);
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=1;
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.evtout=[];
+model.state=[];
+model.rpar=[];
+model.ipar=[];
+model.firing=[];
+model.evtin=ones(nout,1);
+model.dstate=z0;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[sci2exp(1),sci2exp(nout),sci2exp(z0)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+ISELECT_m.prototype.details = function ISELECT_m() {
+}
+}
diff --git a/js/Branching/M_SWITCH.js b/js/Branching/M_SWITCH.js
index 833e6a63..dc7ac82f 100644
--- a/js/Branching/M_SWITCH.js
+++ b/js/Branching/M_SWITCH.js
@@ -1,3 +1,63 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,2040)
/* autogenerated from "macros/Branching/M_SWITCH.sci" */
-None
+function M_SWITCH() {
+M_SWITCH.prototype.get = function M_SWITCH() {
+}
+M_SWITCH.prototype.set = function M_SWITCH() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,nin,base,rule,exprs]=scicos_getvalue("Set parameters",["number of inputs","zero base indexing (0), otherwise 1","rounding rule: int (0), round (1), ceil (2), floor (3)"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+nin=int(nin);
+base=int(base);
+if (nin<1) {
+message("Number of inputs must be >=1 ");
+} else if (!((base==1)||(base==0))) {
+message("base indexing must be 1 or 0");
+} else if (!((rule==1)||(rule==0)||(rule==2)||(rule==3))) {
+message("incorrect rounding rule");
+} else {
+if (nin==1) {
+in1=[1,1,-1,1];
+out=[1,1];
+} else {
+in1=[1,-ones(nin,1)];
+in2=[1,-2*ones(nin,1)];
+in1=[in1,in2];
+out=[-1,-2];
+}
+it=[-1,-2*ones(nin,1)];
+ot=-2;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+if (ok) {
+graphics.exprs=exprs;
+model.ipar=[base,rule];
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+M_SWITCH.prototype.define = function M_SWITCH() {
+in1=[1,-1,-1];
+ipar=[1,3];
+nin=2;
+model=scicos_model();
+model.sim=list("mswitch",4);
+model.in=in1;
+model.out=-1;
+model.ipar=ipar;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[string(nin),string(ipar)];
+gr_i=[];
+x=standard_define([2.5,2],model,exprs,gr_i);
+}
+M_SWITCH.prototype.details = function M_SWITCH() {
+}
+}
diff --git a/js/Branching/SELECT_m.js b/js/Branching/SELECT_m.js
index 5e422e72..d580454a 100644
--- a/js/Branching/SELECT_m.js
+++ b/js/Branching/SELECT_m.js
@@ -1,3 +1,64 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1759)
/* autogenerated from "macros/Branching/SELECT_m.sci" */
-None
+function SELECT_m() {
+SELECT_m.prototype.get = function SELECT_m() {
+}
+SELECT_m.prototype.set = function SELECT_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,typ,nin,z0,exprs]=scicos_getvalue("Set parameters",["Datatype(1= real double 2=Complex 3=int32 ..)","number of inputs","initial connected input"],list("vec",1,"vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (z0>nin||z0<=0) {
+message("initial connected input is not a valid input port number");
+} else if (((typ<1)||(typ>8))&&(typ!=-1)) {
+message("Datatype is not supported");
+ok=None;
+} else {
+it=typ*ones(1,nin);
+ot=typ;
+if (ok) {
+in1=[-ones(nin,1),-2*ones(nin,1)];
+out=[-1,-2];
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(nin,1),[]);
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=z0;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+SELECT_m.prototype.define = function SELECT_m() {
+z0=1;
+nin=2;
+model=scicos_model();
+model.sim=list("selector_m",4);
+model.in=[-1,-1];
+model.in2=[-2,-2];
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtout=[];
+model.state=[];
+model.rpar=[];
+model.ipar=[];
+model.firing=[];
+model.evtin=ones(nin,1);
+model.dstate=z0;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=[sci2exp(1),sci2exp(nin),sci2exp(z0)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+SELECT_m.prototype.details = function SELECT_m() {
+}
+}
diff --git a/js/Branching/SELF_SWITCH.js b/js/Branching/SELF_SWITCH.js
index 5dc84379..8743a359 100644
--- a/js/Branching/SELF_SWITCH.js
+++ b/js/Branching/SELF_SWITCH.js
@@ -1,5 +1,3 @@
Syntax error in input LexToken(FUNCTION,'function',1,466)
-Syntax error in input LexToken(VAR,'diagram',1,701)
-Syntax error in input LexToken(VAR,'diagram',1,1371)
/* autogenerated from "macros/Branching/SELF_SWITCH.sci" */
None
diff --git a/js/Electrical/Capacitor.js b/js/Electrical/Capacitor.js
index 988e0c92..0f32994e 100644
--- a/js/Electrical/Capacitor.js
+++ b/js/Electrical/Capacitor.js
@@ -1,3 +1,47 @@
-Syntax error in input LexToken(COMMA,',',1,1758)
/* autogenerated from "macros/Electrical/Capacitor.sci" */
-None
+function Capacitor() {
+Capacitor.prototype.get = function Capacitor() {
+}
+Capacitor.prototype.set = function Capacitor() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,C,v,exprs]=scicos_getvalue("Set Capacitor block parameter",["C (F)","Initial Voltage"],list("vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+model.rpar=C;
+model.equations.parameters[2-1]=list(C,v);
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+Capacitor.prototype.define = function Capacitor() {
+model=scicos_model();
+C=0.01;
+v=0;
+model.rpar=[C,v];
+model.sim="Capacitor";
+model.blocktype="c";
+model.dep_ut=[true,None];
+mo=modelica();
+mo.model="Capacitor";
+mo.inputs="p";
+mo.outputs="n";
+mo.parameters=list(["C","v"],list(C,v),[0,1]);
+model.equations=mo;
+model.in=ones(size(mo.inputs,"*"),1);
+model.out=ones(size(mo.outputs,"*"),1);
+exprs=string([C,v]);
+gr_i=[];
+x=standard_define([2,1.1],model,exprs,list(gr_i,0));
+x.graphics.in_implicit=["I"];
+x.graphics.out_implicit=["I"];
+}
+Capacitor.prototype.details = function Capacitor() {
+}
+}
diff --git a/js/Electrical/NPN.js b/js/Electrical/NPN.js
index 71fbda02..d44e9310 100644
--- a/js/Electrical/NPN.js
+++ b/js/Electrical/NPN.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(ADDITION,'-',1,2510)
+Syntax error in input LexToken(VAR,'D',1,2509)
/* autogenerated from "macros/Electrical/NPN.sci" */
None
diff --git a/js/Electrical/PNP.js b/js/Electrical/PNP.js
index f5bab144..3afdf184 100644
--- a/js/Electrical/PNP.js
+++ b/js/Electrical/PNP.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(ADDITION,'-',1,2521)
+Syntax error in input LexToken(VAR,'D',1,2520)
/* autogenerated from "macros/Electrical/PNP.sci" */
None
diff --git a/js/Events/IFTHEL_f.js b/js/Events/IFTHEL_f.js
index c23162d6..b08b21b1 100644
--- a/js/Events/IFTHEL_f.js
+++ b/js/Events/IFTHEL_f.js
@@ -1,3 +1,60 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,2282)
/* autogenerated from "macros/Events/IFTHEL_f.sci" */
-None
+function IFTHEL_f() {
+IFTHEL_f.prototype.get = function IFTHEL_f() {
+}
+IFTHEL_f.prototype.set = function IFTHEL_f() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (exprs==[]) {
+exprs=string(1);
+}
+if (size(exprs,"*")==1) {
+exprs[2-1]=string(1);
+}
+while (true) {
+[ok,inh,nmod,exprs]=scicos_getvalue("Set parameters",["Inherit (1: no, 0: yes)","zero-crossing (0: no, 1: yes)"],list("vec",1,"vec",1),exprs);
+if (!ok) {
+break
+}
+model.dep_ut=[true,None];
+if (nmod!=0) {
+nmod=1;
+}
+if (inh!=1) {
+inh=[];
+}
+[model,graphics,ok]=check_io(model,graphics,1,[],inh,[1,1]);
+if (ok) {
+graphics.exprs=exprs;
+model.evtin=inh;
+model.sim[2-1]=-1;
+model.nmode=nmod;
+model.nzcross=nmod;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+IFTHEL_f.prototype.define = function IFTHEL_f() {
+model=scicos_model();
+model.sim=list("ifthel",-1);
+model.in=1;
+model.in2=1;
+model.intyp=-1;
+model.evtin=1;
+model.evtout=[1,1];
+model.blocktype="l";
+model.firing=[-1,-1];
+model.dep_ut=[true,None];
+model.nmode=1;
+model.nzcross=1;
+gr_i=[];
+exprs=[string(model.in),string(model.nmode)];
+x=standard_define([3,3],model,exprs,gr_i);
+}
+IFTHEL_f.prototype.details = function IFTHEL_f() {
+}
+}
diff --git a/js/Events/M_freq.js b/js/Events/M_freq.js
index 95eb0c32..473f9072 100644
--- a/js/Events/M_freq.js
+++ b/js/Events/M_freq.js
@@ -1,4 +1,3 @@
-Syntax error in input LexToken(NUMBER,'40',1,2184)
-Syntax error in input LexToken(VAR,'fr',1,2909)
+Syntax error in input LexToken(FUNCTION,'function',1,2890)
/* autogenerated from "macros/Events/M_freq.sci" */
None
diff --git a/js/Events/freq_div.js b/js/Events/freq_div.js
index ca010b9d..b9c3d427 100644
--- a/js/Events/freq_div.js
+++ b/js/Events/freq_div.js
@@ -1,14 +1,3 @@
Syntax error in input LexToken(PREVAR,'%ph',1,1648)
-Syntax error in input LexToken(IF,'if',1,2360)
-Syntax error in input LexToken(VAR,'blk',1,4902)
-Syntax error in input LexToken(VAR,'blk',1,5315)
-Syntax error in input LexToken(VAR,'blk',1,5671)
-Syntax error in input LexToken(VAR,'blk',1,6028)
-Syntax error in input LexToken(VAR,'blk',1,6449)
-Syntax error in input LexToken(VAR,'lnk',1,6793)
-Syntax error in input LexToken(VAR,'lnk',1,6973)
-Syntax error in input LexToken(VAR,'lnk',1,7125)
-Syntax error in input LexToken(VAR,'lnk',1,7303)
-Syntax error in input LexToken(VAR,'lnk',1,7485)
/* autogenerated from "macros/Events/freq_div.sci" */
None
diff --git a/js/IntegerOp/DLATCH.js b/js/IntegerOp/DLATCH.js
index 34443919..f7077d23 100644
--- a/js/IntegerOp/DLATCH.js
+++ b/js/IntegerOp/DLATCH.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(COMMA,',',1,887)
+Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,982)
/* autogenerated from "macros/IntegerOp/DLATCH.sci" */
None
diff --git a/js/IntegerOp/EXTRACTBITS.js b/js/IntegerOp/EXTRACTBITS.js
index 4869e930..187b2914 100644
--- a/js/IntegerOp/EXTRACTBITS.js
+++ b/js/IntegerOp/EXTRACTBITS.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(EOL,'\n',1,3407)
+Syntax error in input LexToken(EOL,'\n ',1,3407)
/* autogenerated from "macros/IntegerOp/EXTRACTBITS.sci" */
None
diff --git a/js/IntegerOp/INTMUL.js b/js/IntegerOp/INTMUL.js
index 2db0172c..788ecfff 100644
--- a/js/IntegerOp/INTMUL.js
+++ b/js/IntegerOp/INTMUL.js
@@ -8,14 +8,14 @@ graphics=arg1.graphics;
model=arg1.model;
exprs=graphics.exprs;
while (true) {
-[ok,Datatype,np,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"INTMUL")," ",gettext("Integer matrix multiplication")," "],[msprintf(gettext("Data Type %s"),"(3:int32, 4:int16, 5:int8, ...)"),gettext("Do on Overflow (0:Nothing, 1:Saturate, 2:Error)")],list("vec",1,"vec",1),exprs);
+[ok,Datatype,np,exprs]=scicos_getvalue( [msprintf(gettext("Set %s block parameters"),"INTMUL")," ",gettext("Integer matrix multiplication")," "],[msprintf(gettext("Data Type %s"),"(3:int32, 4:int16, 5:int8, ...)"),gettext("Do on Overflow (0:Nothing, 1:Saturate, 2:Error)")],list("vec",1,"vec",1),exprs);
if (!ok) {
break
}
it=Datatype*ones(1,2);
ot=Datatype;
if ((np!=0&&np!=1&&np!=2)) {
-block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Do on Overflow"),np),msprintf(gettext("Must be in the interval %s."),"[0, 2]"));
+block_parameter_error(msprintf( gettext("Wrong value for \'%s\' parameter: %d."),gettext("Do on Overflow"),np),msprintf( gettext("Must be in the interval %s."),"[0, 2]"));
ok=None;
} else if (Datatype==3) {
if (np==0) {
diff --git a/js/IntegerOp/SHIFT.js b/js/IntegerOp/SHIFT.js
index c4783369..96e4bda5 100644
--- a/js/IntegerOp/SHIFT.js
+++ b/js/IntegerOp/SHIFT.js
@@ -1,4 +1,3 @@
-Syntax error in input LexToken(EOL,'\n',1,2341)
-Syntax error in input LexToken(VAR,'exprs',1,5402)
+Syntax error in input LexToken(EOL,'\n ',1,2341)
/* autogenerated from "macros/IntegerOp/SHIFT.sci" */
None
diff --git a/js/Linear/CLR.js b/js/Linear/CLR.js
index a7310ba0..a6b409f5 100644
--- a/js/Linear/CLR.js
+++ b/js/Linear/CLR.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(DOT,'.',1,1222)
-Syntax error in input LexToken(IF,'if',1,1493)
/* autogenerated from "macros/Linear/CLR.sci" */
None
diff --git a/js/Linear/CLR_f.js b/js/Linear/CLR_f.js
index 55cfa76c..3494cc96 100644
--- a/js/Linear/CLR_f.js
+++ b/js/Linear/CLR_f.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(DOT,'.',1,1251)
-Syntax error in input LexToken(IF,'if',1,1523)
/* autogenerated from "macros/Linear/CLR_f.sci" */
None
diff --git a/js/Linear/DELAYV_f.js b/js/Linear/DELAYV_f.js
index 80fd97be..636ab9a0 100644
--- a/js/Linear/DELAYV_f.js
+++ b/js/Linear/DELAYV_f.js
@@ -1,3 +1,62 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,2475)
/* autogenerated from "macros/Linear/DELAYV_f.sci" */
-None
+function DELAYV_f() {
+DELAYV_f.prototype.get = function DELAYV_f() {
+}
+DELAYV_f.prototype.set = function DELAYV_f() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+nin=model.in(1);
+z0=model.dstate;
+zz0=z0.slice(1-1,$-1);
+told=z0($);
+while (true) {
+[ok,nin,zz0,T,exprs]=scicos_getvalue("Set delay parameters",["Number of inputs","Register initial condition","Max delay"],list("vec",1,"vec",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+if (size(zz0,"*")<2) {
+message("Register length must be at least 2");
+ok=None;
+}
+if (T<=0) {
+message("Delay must be positive");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=check_io(model,graphics,[nin,1],nin,1,[1,1]);
+}
+if (ok) {
+graphics.exprs=exprs;
+model.dstate=[zz0.slice(),told];
+model.rpar=T/(size(zz0,"*"));
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DELAYV_f.prototype.define = function DELAYV_f() {
+nin=1;
+z0=zeros(11,1);
+zz0=z0.slice(1-1,$-1);
+T=1;
+model=scicos_model();
+model.sim=list("delayv",1);
+model.in=[nin,1];
+model.out=nin;
+model.evtin=1;
+model.evtout=[1,1];
+model.dstate=z0;
+model.rpar=T/(size(zz0,"*"));
+model.blocktype="d";
+model.firing=[0,-1];
+model.dep_ut=[true,None];
+exprs=[string(nin),strcat(string(z0.slice(1-1,$-1)),";"),string(T)];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+DELAYV_f.prototype.details = function DELAYV_f() {
+}
+}
diff --git a/js/Linear/DOLLAR.js b/js/Linear/DOLLAR.js
index 0b9c7139..8625f8e1 100644
--- a/js/Linear/DOLLAR.js
+++ b/js/Linear/DOLLAR.js
@@ -1,3 +1,90 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1335)
/* autogenerated from "macros/Linear/DOLLAR.sci" */
-None
+function DOLLAR() {
+DOLLAR.prototype.get = function DOLLAR() {
+}
+DOLLAR.prototype.set = function DOLLAR() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")<2) {
+exprs[2-1]="0";
+}
+while (true) {
+[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("mat",[-1,-2],"vec",-1),exprs);
+if (!ok) {
+break
+}
+out=[size(a,1),size(a,2)];
+if (out==0) {
+out=[];
+}
+in1=out;
+model.sim=list("dollar4_m",4);
+model.odstate=list(a);
+model.dstate=[];
+if (type((a)==1)) {
+if (isreal(a)) {
+it=1;
+ot=1;
+if ((size(a,1)==1||size(a,2)==1)) {
+model.sim=list("dollar4",4);
+model.dstate=a.slice();
+model.odstate=list();
+}
+} else {
+it=2;
+ot=2;
+}
+} else if ((typeof(a)=="int32")) {
+it=3;
+ot=3;
+} else if ((typeof(a)=="int16")) {
+it=4;
+ot=4;
+} else if ((typeof(a)=="int8")) {
+it=5;
+ot=5;
+} else if ((typeof(a)=="uint32")) {
+it=6;
+ot=6;
+} else if ((typeof(a)=="uint16")) {
+it=7;
+ot=7;
+} else if ((typeof(a)=="uint8")) {
+it=8;
+ot=8;
+} else {
+message("type is not recognized");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(1-inh,1),[]);
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DOLLAR.prototype.define = function DOLLAR() {
+z=0;
+inh=0;
+in1=1;
+exprs=string([z,inh]);
+model=scicos_model();
+model.sim=list("dollar4",4);
+model.in=in1;
+model.out=in1;
+model.evtin=1-inh;
+model.dstate=z;
+model.blocktype="d";
+model.dep_ut=[None,None];
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+DOLLAR.prototype.details = function DOLLAR() {
+}
+}
diff --git a/js/Linear/DOLLAR_m.js b/js/Linear/DOLLAR_m.js
index df3dace5..5f9397f6 100644
--- a/js/Linear/DOLLAR_m.js
+++ b/js/Linear/DOLLAR_m.js
@@ -1,3 +1,90 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1337)
/* autogenerated from "macros/Linear/DOLLAR_m.sci" */
-None
+function DOLLAR_m() {
+DOLLAR_m.prototype.get = function DOLLAR_m() {
+}
+DOLLAR_m.prototype.set = function DOLLAR_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")<2) {
+exprs[2-1]="0";
+}
+while (true) {
+[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("mat",[-1,-2],"vec",-1),exprs);
+if (!ok) {
+break
+}
+out=[size(a,1),size(a,2)];
+if (out==0) {
+out=[];
+}
+in1=out;
+model.sim=list("dollar4_m",4);
+model.odstate=list(a);
+model.dstate=[];
+if ((type(a)==1)) {
+if (isreal(a)) {
+it=1;
+ot=1;
+if ((size(a,1)==1||size(a,2)==1)) {
+model.sim=list("dollar4",4);
+model.dstate=a.slice();
+model.odstate=list();
+}
+} else {
+it=2;
+ot=2;
+}
+} else if ((typeof(a)=="int32")) {
+it=3;
+ot=3;
+} else if ((typeof(a)=="int16")) {
+it=4;
+ot=4;
+} else if ((typeof(a)=="int8")) {
+it=5;
+ot=5;
+} else if ((typeof(a)=="uint32")) {
+it=6;
+ot=6;
+} else if ((typeof(a)=="uint16")) {
+it=7;
+ot=7;
+} else if ((typeof(a)=="uint8")) {
+it=8;
+ot=8;
+} else {
+message("type is not recognized");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(1-inh,1),[]);
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+DOLLAR_m.prototype.define = function DOLLAR_m() {
+z=0;
+inh=0;
+in1=1;
+exprs=string([z,inh]);
+model=scicos_model();
+model.sim=list("dollar4",4);
+model.in=in1;
+model.out=in1;
+model.evtin=1-inh;
+model.dstate=z;
+model.blocktype="d";
+model.dep_ut=[None,None];
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+DOLLAR_m.prototype.details = function DOLLAR_m() {
+}
+}
diff --git a/js/Linear/INTEGRAL_m.js b/js/Linear/INTEGRAL_m.js
index e40f7dc0..e2d2c6b1 100644
--- a/js/Linear/INTEGRAL_m.js
+++ b/js/Linear/INTEGRAL_m.js
@@ -1,3 +1,123 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1360)
/* autogenerated from "macros/Linear/INTEGRAL_m.sci" */
-None
+function INTEGRAL_m() {
+INTEGRAL_m.prototype.get = function INTEGRAL_m() {
+}
+INTEGRAL_m.prototype.set = function INTEGRAL_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+while (true) {
+[ok,x0,reinit,satur,maxp,lowp,exprs]=scicos_getvalue("Set Integral block parameters",["Initial Condition","With re-intialization (1:yes, 0:no)","With saturation (1:yes, 0:no)","Upper limit","Lower limit"],list("mat",[-1,-1],"vec",1,"vec",1,"mat",[-1,-1],"mat",[-1,-1]),exprs);
+if (!ok) {
+break
+}
+if (isreal(x0)) {
+Datatype=1;
+} else {
+Datatype=2;
+}
+if (reinit!=0) {
+reinit=1;
+}
+if (satur!=0) {
+satur=1;
+if (Datatype==1) {
+if (size(maxp,"*")==1) {
+maxp=maxp*ones(x0);
+}
+if (size(lowp,"*")==1) {
+lowp=lowp*ones(x0);
+}
+if ((size(x0)!=size(maxp)||size(x0)!=size(lowp))) {
+message("x0 and Upper limit and Lower limit must have same size");
+ok=None;
+} else if (or(maxp<=lowp)) {
+message("Upper limits must be > Lower limits");
+ok=None;
+} else if (or(x0>maxp)||or(x0<lowp)) {
+message("Initial condition x0 should be inside the limits");
+ok=None;
+} else {
+rpar=[real(maxp.slice()),real(lowp.slice())];
+model.nzcross=size(x0,"*");
+model.nmode=size(x0,"*");
+}
+} else if ((Datatype==2)) {
+if (size(maxp,"*")==1) {
+maxp=math.complex(maxp*ones(x0),(maxp*ones(x0)));
+}
+if (size(lowp,"*")==1) {
+lowp=math.complex(lowp*ones(x0),(lowp*ones(x0)));
+}
+if ((size(x0)!=size(maxp)||size(x0)!=size(lowp))) {
+message("x0 and Upper limit and Lower limit must have same size");
+ok=None;
+} else if (or(real(maxp)<=real(lowp))||or(imag(maxp)<=imag(lowp))) {
+message("Upper limits must be > Lower limits");
+ok=None;
+} else if (or(real(x0)>real(maxp))||or(real(x0)<real(lowp))||or(imag(x0)>imag(maxp))||or(imag(x0)<imag(lowp))) {
+message("Initial condition x0 should be inside the limits");
+ok=None;
+} else {
+rpar=[real(maxp.slice()),real(lowp.slice()),imag(maxp.slice()),imag(lowp.slice())];
+model.nzcross=2*size(x0,"*");
+model.nmode=2*size(x0,"*");
+}
+}
+} else {
+rpar=[];
+model.nzcross=0;
+model.nmode=0;
+}
+if (ok) {
+model.rpar=rpar;
+if ((Datatype==1)) {
+model.state=real(x0.slice());
+model.sim=list("integral_func",4);
+it=[1,ones(reinit,1)];
+ot=1;
+} else if ((Datatype==2)) {
+model.state=[real(x0.slice()),imag(x0.slice())];
+model.sim=list("integralz_func",4);
+it=[2,2*ones(reinit,1)];
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if (ok) {
+in1=[size(x0,1)*[1,ones(reinit,1)],size(x0,2)*[1,ones(reinit,1)]];
+out=size(x0);
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(reinit,1),[]);
+}
+}
+if (ok) {
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+INTEGRAL_m.prototype.define = function INTEGRAL_m() {
+maxp=1;
+minp=-1;
+rpar=[];
+model=scicos_model();
+model.state=0;
+model.sim=list("integral_func",4);
+model.in=1;
+model.out=1;
+model.in2=1;
+model.out2=1;
+model.rpar=rpar;
+model.blocktype="c";
+model.dep_ut=[None,true];
+exprs=string([0,0,0,maxp,minp]);
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+INTEGRAL_m.prototype.details = function INTEGRAL_m() {
+}
+}
diff --git a/js/Linear/SUMMATION.js b/js/Linear/SUMMATION.js
index 1c324d6d..0c15982e 100644
--- a/js/Linear/SUMMATION.js
+++ b/js/Linear/SUMMATION.js
@@ -1,4 +1,137 @@
-Syntax error in input LexToken(SEMICOLON,';',1,2902)
-Syntax error in input LexToken(VAR,'exprs',1,5706)
/* autogenerated from "macros/Linear/SUMMATION.sci" */
-None
+function SUMMATION() {
+SUMMATION.prototype.get = function SUMMATION() {
+}
+SUMMATION.prototype.set = function SUMMATION() {
+x=arg1;
+graphics=arg1.graphics;
+model=arg1.model;
+exprs=graphics.exprs;
+if (size(exprs,1)==1) {
+exprs=[sci2exp(1),exprs,sci2exp(0)];
+} else if (size(exprs,1)==2) {
+exprs=[exprs,sci2exp(0)];
+}
+while (true) {
+[ok,Datatype,sgn,satur,exprs]=scicos_getvalue("Set sum block parameters",["Datatype (1=real double 2=complex 3=int32 ...)","Number of inputs or sign vector (of +1, -1)","Do on Overflow(0=Nothing 1=Saturate 2=Error)"],list("vec",1,"vec",-1,"vec",1),exprs);
+if (!ok) {
+break
+}
+sgn=sgn.slice();
+if ((satur!=0&&satur!=1&&satur!=2)) {
+message("Do on overflow must be 0,1,2");
+ok=None;
+}
+if (size(sgn,1)==1) {
+if (sgn<1) {
+message("Number of inputs must be > 0");
+ok=None;
+} else if (sgn==1) {
+in1=-1;
+in2=-2;
+sgn=[];
+nout=1;
+nout2=1;
+} else {
+in1=-ones(sgn,1);
+in2=2*in1;
+sgn=ones(sgn,1);
+nout=-1;
+nout2=-2;
+}
+} else {
+if (!and(abs(sgn)==1)) {
+message("Signs can only be +1 or -1");
+ok=None;
+} else {
+in1=-ones(size(sgn,1),1);
+in2=2*in1;
+nout=-1;
+nout2=-2;
+}
+}
+it=Datatype*ones(1,size(in1,1));
+ot=Datatype;
+if (Datatype==1) {
+model.sim=list("summation",4);
+} else if (Datatype==2) {
+model.sim=list("summation_z",4);
+} else if (((Datatype<1)||(Datatype>8))) {
+message("Datatype is not supported");
+ok=None;
+} else {
+if (satur==0) {
+if (Datatype==3) {
+model.sim=list("summation_i32n",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16n",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8n",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32n",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16n",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8n",4);
+}
+} else if (satur==1) {
+if (Datatype==3) {
+model.sim=list("summation_i32s",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16s",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8s",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32s",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16s",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8s",4);
+}
+} else if (satur==2) {
+if (Datatype==3) {
+model.sim=list("summation_i32e",4);
+} else if (Datatype==4) {
+model.sim=list("summation_i16e",4);
+} else if (Datatype==5) {
+model.sim=list("summation_i8e",4);
+} else if (Datatype==6) {
+model.sim=list("summation_ui32e",4);
+} else if (Datatype==7) {
+model.sim=list("summation_ui16e",4);
+} else if (Datatype==8) {
+model.sim=list("summation_ui8e",4);
+}
+}
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list([in1,in2],it),list([nout,nout2],ot),[],[]);
+}
+if (ok) {
+model.rpar=satur;
+model.ipar=sgn;
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+SUMMATION.prototype.define = function SUMMATION() {
+sgn=[1,-1];
+model=scicos_model();
+model.sim=list("summation",4);
+model.in=[-1,-1];
+model.out=-1;
+model.in2=[-2,-2];
+model.out2=-2;
+model.ipar=sgn;
+model.blocktype="c";
+model.dep_ut=[true,None];
+exprs=sci2exp(sgn);
+gr_i=[];
+x=standard_define([2,3],model,exprs,gr_i);
+}
+SUMMATION.prototype.details = function SUMMATION() {
+}
+}
diff --git a/js/MatrixOp/CUMSUM.js b/js/MatrixOp/CUMSUM.js
index 83f3df26..0b111b2f 100644
--- a/js/MatrixOp/CUMSUM.js
+++ b/js/MatrixOp/CUMSUM.js
@@ -1,3 +1,94 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1605)
/* autogenerated from "macros/MatrixOp/CUMSUM.sci" */
-None
+function CUMSUM() {
+CUMSUM.prototype.get = function CUMSUM() {
+}
+CUMSUM.prototype.set = function CUMSUM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set CUMSUM block parameters",["Datatype(1=real double 2=Complex)","Sum along (0=the first non singleton dimension 1=Rows 2=Columns)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==0)) {
+function_name="cumsum_m";
+out=[-1,-2];
+} else if ((decomptyp==1)) {
+function_name="cumsum_r";
+out=[-1,1];
+} else if ((decomptyp==2)) {
+function_name="cumsum_c";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+ot=1;
+} else if ((typ==2)) {
+if ((decomptyp==0)) {
+function_name="cumsumz_m";
+} else if ((decomptyp==1)) {
+function_name="cumsumz_r";
+} else if ((decomptyp==2)) {
+function_name="cumsumz_c";
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[model.in,model.in2];
+out=[model.out,model.out2];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+CUMSUM.prototype.define = function CUMSUM() {
+model=scicos_model();
+function_name="cumsum_m";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(0)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+CUMSUM.prototype.details = function CUMSUM() {
+}
+}
diff --git a/js/MatrixOp/EXTRACT.js b/js/MatrixOp/EXTRACT.js
index aacb03a7..5189f49a 100644
--- a/js/MatrixOp/EXTRACT.js
+++ b/js/MatrixOp/EXTRACT.js
@@ -1,3 +1,92 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1345)
/* autogenerated from "macros/MatrixOp/EXTRACT.sci" */
-None
+function EXTRACT() {
+EXTRACT.prototype.get = function EXTRACT() {
+}
+EXTRACT.prototype.set = function EXTRACT() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,a,b,exprs]=scicos_getvalue("Set EXTRACT Block",["Datatype (1=real double 2=Complex)","Lines to extract","Columns to extract"],list("vec",1,"mat",[1,-1],"mat",[1,-1]),label);
+a=a.slice();
+b=b.slice();
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="extract";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="extractz";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+ma=size(a,1);
+mb=size(b,1);
+if ((ma==0||mb==0)) {
+message("empty field");
+ok=None;
+}
+for(i=1;i<=ma;i+=1) {
+if ((a(i)<=0)) {
+message("invalid index");
+ok=None;
+}
+}
+for(j=1;j<=mb;j+=1) {
+if ((b(j)<=0)) {
+message("invalid index");
+ok=None;
+}
+}
+model.ipar=[a,b,ma,mb];
+in1=[model.in,model.in2];
+out=[ma,mb];
+funtyp=4;
+if (ok) {
+label=exprs;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+EXTRACT.prototype.define = function EXTRACT() {
+model=scicos_model();
+function_name="extract";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[1,1,1,1];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp([1]),sci2exp([1])];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+EXTRACT.prototype.details = function EXTRACT() {
+}
+}
diff --git a/js/MatrixOp/MATCATH.js b/js/MatrixOp/MATCATH.js
index 66648256..40f8c5b8 100644
--- a/js/MatrixOp/MATCATH.js
+++ b/js/MatrixOp/MATCATH.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(COLON,':',1,1460)
+Syntax error in input LexToken(OPENBRACKET,'(',1,1457)
/* autogenerated from "macros/MatrixOp/MATCATH.sci" */
None
diff --git a/js/MatrixOp/MATEIG.js b/js/MatrixOp/MATEIG.js
index 1a4da13a..6f87ebc6 100644
--- a/js/MatrixOp/MATEIG.js
+++ b/js/MatrixOp/MATEIG.js
@@ -1,3 +1,92 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,2562)
/* autogenerated from "macros/MatrixOp/MATEIG.sci" */
-None
+function MATEIG() {
+MATEIG.prototype.get = function MATEIG() {
+}
+MATEIG.prototype.set = function MATEIG() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATEIG block parameters",["Datatype(1=real double 2=Complex)","decomposition type (1=eig values 2=eig values+eig vectors"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==1)) {
+function_name="mat_vps";
+out=[-1,1];
+ot=2;
+} else if ((decomptyp==2)) {
+function_name="mat_vpv";
+out=[-1,-1,-1,-1];
+ot=[2,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+} else if ((typ==2)) {
+if ((decomptyp==1)) {
+function_name="matz_vps";
+out=[-1,1];
+ot=2;
+} else if ((decomptyp==2)) {
+function_name="matz_vpv";
+out=[-1,-1,-1,-1];
+ot=[2,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[-1,-1];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATEIG.prototype.define = function MATEIG() {
+model=scicos_model();
+function_name="mat_vps";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-1;
+model.intyp=1;
+model.out=-1;
+model.out2=1;
+model.outtyp=2;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+MATEIG.prototype.details = function MATEIG() {
+}
+}
diff --git a/js/MatrixOp/MATMAGPHI.js b/js/MatrixOp/MATMAGPHI.js
index 125685a5..ee8c394a 100644
--- a/js/MatrixOp/MATMAGPHI.js
+++ b/js/MatrixOp/MATMAGPHI.js
@@ -1,3 +1,75 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1510)
/* autogenerated from "macros/MatrixOp/MATMAGPHI.sci" */
-None
+function MATMAGPHI() {
+MATMAGPHI.prototype.get = function MATMAGPHI() {
+}
+MATMAGPHI.prototype.set = function MATMAGPHI() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,decomptyp,lab]=scicos_getvalue("Set MATMAGPHI block parameters",["decomposition type (1=Complex2MAG&PHI 2=MAG&PHI2Complex)"],list("vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((decomptyp==1)) {
+function_name="matz_abs";
+in1=[-1,-2];
+it=2;
+out=[-1,-2,-1,-2];
+ot=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_absc";
+in1=[-1,-2,-1,-2];
+it=[1,1];
+out=[-1,-2];
+ot=2;
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATMAGPHI.prototype.define = function MATMAGPHI() {
+model=scicos_model();
+function_name="matz_abs";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=2;
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=[1,1];
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATMAGPHI.prototype.details = function MATMAGPHI() {
+}
+}
diff --git a/js/MatrixOp/MATSING.js b/js/MatrixOp/MATSING.js
index 682208e5..789a1349 100644
--- a/js/MatrixOp/MATSING.js
+++ b/js/MatrixOp/MATSING.js
@@ -1,3 +1,95 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1605)
/* autogenerated from "macros/MatrixOp/MATSING.sci" */
-None
+function MATSING() {
+MATSING.prototype.get = function MATSING() {
+}
+MATSING.prototype.set = function MATSING() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATSVD block parameters",["Datatype(1=real double 2=Complex)","decomposition type (1=singular values 2=sing values+matrix U & V)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==1)) {
+function_name="mat_sing";
+in1=[-1,-2];
+out=[-1,1];
+ot=1;
+} else if ((decomptyp==2)) {
+function_name="mat_svd";
+in1=[-1,-2];
+out=[-1,-1,-1,-2,-2,-2];
+ot=[1,1,1];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+} else if ((typ==2)) {
+if ((decomptyp==1)) {
+function_name="matz_sing";
+in1=[-1,-2];
+out=[-1,1];
+ot=1;
+} else if ((decomptyp==2)) {
+function_name="matz_svd";
+in1=[-1,-2];
+out=[-1,-1,-1,-2,-2,-2];
+ot=[2,1,2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATSING.prototype.define = function MATSING() {
+model=scicos_model();
+function_name="mat_sing";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+MATSING.prototype.details = function MATSING() {
+}
+}
diff --git a/js/MatrixOp/MATSUM.js b/js/MatrixOp/MATSUM.js
index ca92cefa..c85eb356 100644
--- a/js/MatrixOp/MATSUM.js
+++ b/js/MatrixOp/MATSUM.js
@@ -1,3 +1,96 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1814)
/* autogenerated from "macros/MatrixOp/MATSUM.sci" */
-None
+function MATSUM() {
+MATSUM.prototype.get = function MATSUM() {
+}
+MATSUM.prototype.set = function MATSUM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,decomptyp,lab]=scicos_getvalue("Set MATSUM block parameters",["Datatype(1=real double 2=Complex)","Sum along (0=all 1=lines 2=Columns)"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((typ==1)) {
+if ((decomptyp==0)) {
+function_name="mat_sum";
+out=[1,1];
+} else if ((decomptyp==2)) {
+function_name="mat_suml";
+out=[-1,1];
+} else if ((decomptyp==1)) {
+function_name="mat_sumc";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=1;
+ot=1;
+} else if ((typ==2)) {
+if ((decomptyp==0)) {
+function_name="matz_sum";
+out=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_suml";
+out=[-1,1];
+} else if ((decomptyp==1)) {
+function_name="matz_sumc";
+out=[1,-2];
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+it=2;
+ot=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[model.in,model.in2];
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATSUM.prototype.define = function MATSUM() {
+model=scicos_model();
+function_name="mat_sum";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(0)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATSUM.prototype.details = function MATSUM() {
+}
+}
diff --git a/js/MatrixOp/MATZREIM.js b/js/MatrixOp/MATZREIM.js
index a719dd60..ba3a7deb 100644
--- a/js/MatrixOp/MATZREIM.js
+++ b/js/MatrixOp/MATZREIM.js
@@ -1,3 +1,75 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1513)
/* autogenerated from "macros/MatrixOp/MATZREIM.sci" */
-None
+function MATZREIM() {
+MATZREIM.prototype.get = function MATZREIM() {
+}
+MATZREIM.prototype.set = function MATZREIM() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,decomptyp,lab]=scicos_getvalue("Set MATZREIM block parameters",["decomposition type (1=Complex2Real&Imag 2=Real&Imag2Complex)"],list("vec",1),label);
+if (!ok) {
+break
+}
+label=lab;
+if ((decomptyp==1)) {
+function_name="matz_reim";
+in1=[-1,-2];
+it=2;
+out=[-1,-2,-1,-2];
+ot=[1,1];
+} else if ((decomptyp==2)) {
+function_name="matz_reimc";
+in1=[-1,-2,-1,-2];
+it=[1,1];
+out=[-1,-2];
+ot=2;
+} else {
+message("decomposition type is not supported");
+ok=None;
+}
+funtyp=4;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+}
+if (ok) {
+model.sim=list(function_name,funtyp);
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+}
+MATZREIM.prototype.define = function MATZREIM() {
+model=scicos_model();
+function_name="matz_reim";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=2;
+model.out=[-1,-1];
+model.out2=[-2,-2];
+model.outtyp=[1,1];
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=sci2exp(1);
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+MATZREIM.prototype.details = function MATZREIM() {
+}
+}
diff --git a/js/MatrixOp/ROOTCOEF.js b/js/MatrixOp/ROOTCOEF.js
index eb039445..7f24dee9 100644
--- a/js/MatrixOp/ROOTCOEF.js
+++ b/js/MatrixOp/ROOTCOEF.js
@@ -1,3 +1,71 @@
-Syntax error in input LexToken(VAR,'model',1,1794)
/* autogenerated from "macros/MatrixOp/ROOTCOEF.sci" */
-None
+function ROOTCOEF() {
+ROOTCOEF.prototype.get = function ROOTCOEF() {
+}
+ROOTCOEF.prototype.set = function ROOTCOEF() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,typ,inp,exprs]=scicos_getvalue("Set ROOTCOEF Block",["Datatype(1=real double 2=Complex)","input row size"],list("vec",1,"vec",1),label);
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="root_coef";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="rootz_coef";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+in1=[inp,model.in2];
+out=[inp+1,model.out2];
+funtyp=4;
+if (ok) {
+label=exprs;
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+ROOTCOEF.prototype.define = function ROOTCOEF() {
+model=scicos_model();
+function_name="root_coef";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=1;
+model.intyp=1;
+model.out=-2;
+model.out2=1;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([3,2],model,label,gr_i);
+}
+ROOTCOEF.prototype.details = function ROOTCOEF() {
+}
+}
diff --git a/js/MatrixOp/SUBMAT.js b/js/MatrixOp/SUBMAT.js
index 78645082..de8fdf66 100644
--- a/js/MatrixOp/SUBMAT.js
+++ b/js/MatrixOp/SUBMAT.js
@@ -1,3 +1,92 @@
-Syntax error in input LexToken(OPENBRACKET,'(',1,2697)
/* autogenerated from "macros/MatrixOp/SUBMAT.sci" */
-None
+function SUBMAT() {
+SUBMAT.prototype.get = function SUBMAT() {
+}
+SUBMAT.prototype.set = function SUBMAT() {
+x=arg1;
+graphics=arg1.graphics;
+label=graphics.exprs;
+model=arg1.model;
+if (size(label,"*")==5) {
+label[6-1]=sci2exp([1,1]);
+}
+while (true) {
+[ok,typ,a,b,c,d,inp,exprs]=scicos_getvalue("Set SUBMAT Block",["Datatype (1=real double 2=Complex)","Starting Row Index","Ending Row Index","Starting Column Index","Ending Column Index","Input Dimensions"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",2),label);
+if (!ok) {
+break
+}
+if ((typ==1)) {
+function_name="submat";
+ot=1;
+it=1;
+} else if ((typ==2)) {
+function_name="submatz";
+ot=2;
+it=2;
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if ((a<=0)||(b<=0)||(c<=0)||(d<=0)) {
+message("invalid index");
+ok=None;
+}
+if (b<a) {
+message("ending row must be greater than starting row");
+ok=None;
+}
+if (d<c) {
+message("ending column must be greater than starting column");
+ok=None;
+}
+if (b>inp(1)) {
+message("index of ending row is out of range");
+ok=None;
+}
+if (d>inp(2)) {
+message("index of ending column is out of range");
+ok=None;
+}
+model.ipar=[a,b,c,d];
+in1=[inp(1),inp(2)];
+out=[(b-a)+1,(d-c)+1];
+funtyp=4;
+label=exprs;
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
+model.sim=list(function_name,funtyp);
+graphics.exprs=label;
+arg1.graphics=graphics;
+arg1.model=model;
+x=arg1;
+break
+}
+}
+}
+SUBMAT.prototype.define = function SUBMAT() {
+model=scicos_model();
+function_name="submat";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in=-1;
+model.in2=-2;
+model.intyp=1;
+model.out=-1;
+model.out2=-2;
+model.outtyp=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[1,1,1,1];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[sci2exp(1),sci2exp(1),sci2exp(1),sci2exp(1),sci2exp(1)];
+gr_i=[];
+x=standard_define([2.5,2],model,label,gr_i);
+}
+SUBMAT.prototype.details = function SUBMAT() {
+}
+}
diff --git a/js/Misc/AUTOMAT.js b/js/Misc/AUTOMAT.js
index 51b25b1f..182b7a17 100644
--- a/js/Misc/AUTOMAT.js
+++ b/js/Misc/AUTOMAT.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(EOL,'\n',1,2967)
+Syntax error in input LexToken(EOL,'\n ',1,2967)
/* autogenerated from "macros/Misc/AUTOMAT.sci" */
None
diff --git a/js/Misc/CBLOCK.js b/js/Misc/CBLOCK.js
index be6fd1fc..cc93a55b 100644
--- a/js/Misc/CBLOCK.js
+++ b/js/Misc/CBLOCK.js
@@ -1,5 +1,3 @@
Syntax error in input LexToken(CLOSEBRACKET,')',1,2476)
-Syntax error in input LexToken(IF,'if',1,3139)
-Syntax error in input None
/* autogenerated from "macros/Misc/CBLOCK.sci" */
None
diff --git a/js/Misc/CBLOCK4.js b/js/Misc/CBLOCK4.js
index 509787cf..d0c659de 100644
--- a/js/Misc/CBLOCK4.js
+++ b/js/Misc/CBLOCK4.js
@@ -1,5 +1,3 @@
Syntax error in input LexToken(IN,'in',1,1132)
-Syntax error in input LexToken(IF,'if',1,3539)
-Syntax error in input None
/* autogenerated from "macros/Misc/CBLOCK4.sci" */
None
diff --git a/js/Misc/DSUPER.js b/js/Misc/DSUPER.js
index 458b5dea..d1520b1b 100644
--- a/js/Misc/DSUPER.js
+++ b/js/Misc/DSUPER.js
@@ -1,5 +1,3 @@
Syntax error in input LexToken(RETURN,'return',1,1281)
-Syntax error in input LexToken(VAR,'context',1,1584)
-Syntax error in input LexToken(VAR,'tt',1,1845)
/* autogenerated from "macros/Misc/DSUPER.sci" */
None
diff --git a/js/Misc/EDGE_TRIGGER.js b/js/Misc/EDGE_TRIGGER.js
index 8b4aed31..6a6b8b74 100644
--- a/js/Misc/EDGE_TRIGGER.js
+++ b/js/Misc/EDGE_TRIGGER.js
@@ -1,10 +1,3 @@
Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,4093)
-Syntax error in input LexToken(VAR,'blk',1,4450)
-Syntax error in input LexToken(VAR,'blk',1,4827)
-Syntax error in input LexToken(VAR,'blk',1,5266)
-Syntax error in input LexToken(VAR,'blk',1,5620)
-Syntax error in input LexToken(VAR,'lnk',1,5987)
-Syntax error in input LexToken(VAR,'lnk',1,6141)
-Syntax error in input LexToken(VAR,'lnk',1,6293)
/* autogenerated from "macros/Misc/EDGE_TRIGGER.sci" */
None
diff --git a/js/Misc/EXPRESSION.js b/js/Misc/EXPRESSION.js
index 71e315c5..3cb84b6b 100644
--- a/js/Misc/EXPRESSION.js
+++ b/js/Misc/EXPRESSION.js
@@ -1,5 +1,4 @@
Syntax error in input LexToken(PREVAR,'%nin',1,1230)
-Syntax error in input LexToken(IF,'if',1,1951)
Syntax error in input LexToken(PREVAR,'%ok1',1,4135)
Syntax error in input LexToken(PREVAR,'%ipar',1,4580)
/* autogenerated from "macros/Misc/EXPRESSION.sci" */
diff --git a/js/Misc/Extract_Activation.js b/js/Misc/Extract_Activation.js
index 447f8e55..f1683776 100644
--- a/js/Misc/Extract_Activation.js
+++ b/js/Misc/Extract_Activation.js
@@ -1,11 +1,3 @@
Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,1007)
-Syntax error in input LexToken(VAR,'blk',1,1400)
-Syntax error in input LexToken(VAR,'blk',1,1843)
-Syntax error in input LexToken(VAR,'blk',1,2169)
-Syntax error in input LexToken(VAR,'blk',1,2523)
-Syntax error in input LexToken(VAR,'lnk',1,2893)
-Syntax error in input LexToken(VAR,'lnk',1,3070)
-Syntax error in input LexToken(VAR,'lnk',1,3242)
-Syntax error in input LexToken(VAR,'lnk',1,3395)
/* autogenerated from "macros/Misc/Extract_Activation.sci" */
None
diff --git a/js/Misc/HYSTHERESIS.js b/js/Misc/HYSTHERESIS.js
index f4c2d782..a9909edf 100644
--- a/js/Misc/HYSTHERESIS.js
+++ b/js/Misc/HYSTHERESIS.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(TRANSPOSE,"'",1,1661)
-Syntax error in input LexToken(VAR,'gr_i',1,2286)
/* autogenerated from "macros/Misc/HYSTHERESIS.sci" */
None
diff --git a/js/Misc/LOGICAL_OP.js b/js/Misc/LOGICAL_OP.js
index cdaa6b3c..bc75d35e 100644
--- a/js/Misc/LOGICAL_OP.js
+++ b/js/Misc/LOGICAL_OP.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(EOL,'\n',1,2070)
+Syntax error in input LexToken(EOL,'\n ',1,2070)
/* autogenerated from "macros/Misc/LOGICAL_OP.sci" */
None
diff --git a/js/Misc/MBLOCK.js b/js/Misc/MBLOCK.js
index 0ebaaf93..43af51df 100644
--- a/js/Misc/MBLOCK.js
+++ b/js/Misc/MBLOCK.js
@@ -1,29 +1,3 @@
Syntax error in input LexToken(OPENBRACKET,'(',1,1518)
-Syntax error in input LexToken(VAR,'lab_1',1,1799)
-Syntax error in input LexToken(VAR,'lab_2',1,2050)
-Syntax error in input LexToken(WHILE,'while',1,2222)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,2925)
-Syntax error in input LexToken(IF,'if',1,3487)
-Syntax error in input LexToken(VAR,'ierr',1,4046)
-Syntax error in input LexToken(VAR,'messagebox',1,4506)
-Syntax error in input LexToken(IF,'if',1,4707)
-Syntax error in input LexToken(IF,'if',1,6501)
-Syntax error in input LexToken(IF,'if',1,6983)
-Syntax error in input LexToken(IF,'if',1,7437)
-Syntax error in input LexToken(IF,'if',1,7987)
-Syntax error in input LexToken(IF,'if',1,8817)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,9664)
-Syntax error in input LexToken(IF,'if',1,10015)
-Syntax error in input LexToken(IF,'if',1,10228)
-Syntax error in input LexToken(IF,'if',1,10825)
-Syntax error in input LexToken(VAR,'getvalue_txt',1,11910)
-Syntax error in input LexToken(VAR,'execstr',1,12153)
-Syntax error in input LexToken(IF,'if',1,12251)
-Syntax error in input LexToken(IF,'if',1,12458)
-Syntax error in input LexToken(IF,'if',1,12800)
-Syntax error in input LexToken(VAR,'model',1,13875)
-Syntax error in input LexToken(VAR,'x',1,14954)
-Syntax error in input LexToken(CASE,'case',1,15321)
-Syntax error in input LexToken(VAR,'exprs',1,15717)
/* autogenerated from "macros/Misc/MBLOCK.sci" */
None
diff --git a/js/Misc/MPBLOCK.js b/js/Misc/MPBLOCK.js
index 325b27ba..a72e1990 100644
--- a/js/Misc/MPBLOCK.js
+++ b/js/Misc/MPBLOCK.js
@@ -1,29 +1,3 @@
Syntax error in input LexToken(OPENBRACKET,'(',1,1559)
-Syntax error in input LexToken(VAR,'lab_1',1,1840)
-Syntax error in input LexToken(VAR,'lab_2',1,2091)
-Syntax error in input LexToken(WHILE,'while',1,2264)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,2959)
-Syntax error in input LexToken(IF,'if',1,3514)
-Syntax error in input LexToken(VAR,'ierr',1,4073)
-Syntax error in input LexToken(VAR,'x_message',1,4515)
-Syntax error in input LexToken(IF,'if',1,4698)
-Syntax error in input LexToken(IF,'if',1,6444)
-Syntax error in input LexToken(IF,'if',1,6909)
-Syntax error in input LexToken(IF,'if',1,7346)
-Syntax error in input LexToken(IF,'if',1,7862)
-Syntax error in input LexToken(IF,'if',1,8674)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,9440)
-Syntax error in input LexToken(IF,'if',1,9791)
-Syntax error in input LexToken(IF,'if',1,10004)
-Syntax error in input LexToken(VAR,'getvalue_txt',1,11894)
-Syntax error in input LexToken(VAR,'execstr',1,12137)
-Syntax error in input LexToken(IF,'if',1,12235)
-Syntax error in input LexToken(IF,'if',1,12442)
-Syntax error in input LexToken(IF,'if',1,12785)
-Syntax error in input LexToken(VAR,'model',1,13348)
-Syntax error in input LexToken(VAR,'x',1,14473)
-Syntax error in input LexToken(CASE,'case',1,14827)
-Syntax error in input LexToken(VAR,'exprs',1,15172)
-Syntax error in input None
/* autogenerated from "macros/Misc/MPBLOCK.sci" */
None
diff --git a/js/Misc/RELATIONALOP.js b/js/Misc/RELATIONALOP.js
index 3cd26b2a..7ebbd94d 100644
--- a/js/Misc/RELATIONALOP.js
+++ b/js/Misc/RELATIONALOP.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,2671)
+Syntax error in input LexToken(CLOSESQBRACKET,']',1,3405)
/* autogenerated from "macros/Misc/RELATIONALOP.sci" */
None
diff --git a/js/Misc/SUPER_f.js b/js/Misc/SUPER_f.js
index 075ff8c4..19aa3cfb 100644
--- a/js/Misc/SUPER_f.js
+++ b/js/Misc/SUPER_f.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,1198)
-Syntax error in input LexToken(VAR,'model',1,1552)
/* autogenerated from "macros/Misc/SUPER_f.sci" */
None
diff --git a/js/Misc/TEXT_f.js b/js/Misc/TEXT_f.js
index ed2bfccc..08e0e85f 100644
--- a/js/Misc/TEXT_f.js
+++ b/js/Misc/TEXT_f.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(SCICOS_GRAPHICS,'scicos_graphics',1,3437)
-Syntax error in input LexToken(VAR,'x',1,3556)
/* autogenerated from "macros/Misc/TEXT_f.sci" */
None
diff --git a/js/NonLinear/LOOKUP_c.js b/js/NonLinear/LOOKUP_c.js
index 56fcdf02..ea12952b 100644
--- a/js/NonLinear/LOOKUP_c.js
+++ b/js/NonLinear/LOOKUP_c.js
@@ -1,29 +1,15 @@
Syntax error in input LexToken(COMMA,',',1,3808)
Syntax error in input LexToken(VAR,'ixy',1,6905)
-Syntax error in input LexToken(VAR,'xmx',1,9227)
-Syntax error in input LexToken(VAR,'menu_r',1,10204)
-Syntax error in input LexToken(VAR,'drawlater',1,11644)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,12096)
-Syntax error in input LexToken(CASE,'case',1,14481)
-Syntax error in input LexToken(IF,'if',1,24336)
-Syntax error in input LexToken(END,'end',1,25631)
Syntax error in input LexToken(VAR,'a',1,25832)
-Syntax error in input LexToken(VAR,'xmx',1,26475)
-Syntax error in input LexToken(END,'end',1,26833)
Syntax error in input LexToken(VAR,'a',1,27066)
Syntax error in input LexToken(VAR,'a',1,27777)
-Syntax error in input LexToken(VAR,'ymx1',1,27939)
-Syntax error in input LexToken(VAR,'XMX',1,28131)
Syntax error in input LexToken(CLOSEBRACKET,')',1,28535)
-Syntax error in input LexToken(VAR,'lx11',1,30804)
Syntax error in input LexToken(VAR,'xye',1,32671)
-Syntax error in input LexToken(FOR,'for',1,32871)
Syntax error in input LexToken(VAR,'a',1,33307)
Syntax error in input LexToken(VAR,'order',1,33666)
Syntax error in input LexToken(CLOSEBRACKET,')',1,34234)
Syntax error in input LexToken(VAR,'xye',1,35442)
Syntax error in input LexToken(VAR,'N',1,36302)
Syntax error in input LexToken(VAR,'x',1,40233)
-Syntax error in input None
/* autogenerated from "macros/NonLinear/LOOKUP_c.sci" */
None
diff --git a/js/PDE/PDE.js b/js/PDE/PDE.js
index e5aee73c..6fc137e1 100644
--- a/js/PDE/PDE.js
+++ b/js/PDE/PDE.js
@@ -1,10 +1,3 @@
Syntax error in input LexToken(RETURN,'return',1,1805)
-Syntax error in input LexToken(VAR,'okk',1,2410)
-Syntax error in input LexToken(IF,'if',1,3090)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,4133)
-Syntax error in input LexToken(VAR,'Nbr',1,4483)
-Syntax error in input LexToken(OPENSQBRACKET,'[',1,6210)
-Syntax error in input LexToken(IF,'if',1,6332)
-Syntax error in input LexToken(VAR,'params_pde',1,6897)
/* autogenerated from "macros/PDE/PDE.sci" */
None
diff --git a/js/Sinks/AFFICH_m.js b/js/Sinks/AFFICH_m.js
index 09199ea1..3d8b1e11 100644
--- a/js/Sinks/AFFICH_m.js
+++ b/js/Sinks/AFFICH_m.js
@@ -1,5 +1,3 @@
Syntax error in input LexToken(IN,'in',1,1295)
-Syntax error in input LexToken(IF,'if',1,2886)
-Syntax error in input LexToken(CASE,'case',1,3479)
/* autogenerated from "macros/Sinks/AFFICH_m.sci" */
None
diff --git a/js/Sinks/CLKOUTV_f.js b/js/Sinks/CLKOUTV_f.js
index 6870be40..15cb1919 100644
--- a/js/Sinks/CLKOUTV_f.js
+++ b/js/Sinks/CLKOUTV_f.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(NUMBER,'1',1,1923)
+Syntax error in input LexToken(COMMA,',',1,2017)
/* autogenerated from "macros/Sinks/CLKOUTV_f.sci" */
None
diff --git a/js/Sinks/CMSCOPE.js b/js/Sinks/CMSCOPE.js
index 4c2707cf..77ce9ca4 100644
--- a/js/Sinks/CMSCOPE.js
+++ b/js/Sinks/CMSCOPE.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(IN,'in',1,1125)
-Syntax error in input LexToken(VAR,'model',1,4686)
/* autogenerated from "macros/Sinks/CMSCOPE.sci" */
None
diff --git a/js/Sinks/WRITEC_f.js b/js/Sinks/WRITEC_f.js
index 21b8f56f..ae525585 100644
--- a/js/Sinks/WRITEC_f.js
+++ b/js/Sinks/WRITEC_f.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(IN,'in',1,1280)
-Syntax error in input LexToken(VAR,'graphics',1,4725)
/* autogenerated from "macros/Sinks/WRITEC_f.sci" */
None
diff --git a/js/Sources/CURVE_c.js b/js/Sources/CURVE_c.js
index b4cb289f..f48c2832 100644
--- a/js/Sources/CURVE_c.js
+++ b/js/Sources/CURVE_c.js
@@ -1,23 +1,10 @@
Syntax error in input LexToken(COMMA,',',1,3703)
Syntax error in input LexToken(VAR,'ixy',1,6611)
-Syntax error in input LexToken(VAR,'deff',1,6750)
-Syntax error in input LexToken(VAR,'xmx',1,9076)
-Syntax error in input LexToken(VAR,'f',1,9444)
-Syntax error in input LexToken(VAR,'menu_r',1,9467)
-Syntax error in input LexToken(VAR,'drawlater',1,10875)
-Syntax error in input LexToken(VAR,'lines',1,11427)
-Syntax error in input LexToken(CASE,'case',1,13702)
-Syntax error in input LexToken(IF,'if',1,23303)
-Syntax error in input LexToken(END,'end',1,24929)
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)
-Syntax error in input LexToken(VAR,'ymx1',1,27562)
-Syntax error in input LexToken(VAR,'XMX',1,27754)
Syntax error in input LexToken(CLOSEBRACKET,')',1,28162)
-Syntax error in input LexToken(VAR,'lx11',1,30443)
Syntax error in input LexToken(VAR,'xye',1,32329)
-Syntax error in input LexToken(FOR,'for',1,32529)
Syntax error in input LexToken(VAR,'a',1,33109)
Syntax error in input LexToken(VAR,'order',1,33486)
Syntax error in input LexToken(CLOSEBRACKET,')',1,33946)
diff --git a/js/Sources/GENSQR_f.js b/js/Sources/GENSQR_f.js
index f8f70525..db97a300 100644
--- a/js/Sources/GENSQR_f.js
+++ b/js/Sources/GENSQR_f.js
@@ -11,7 +11,8 @@ if (size(exprs,"*")==2) {
exprs=exprs(2);
}
while (true) {
-[ok,Amplitude,exprs]=scicos_getvalue(["Set Square generator block parameters"],["Amplitude"],list("vec",1),exprs);
+[ok,Amplitude,exprs]=scicos_getvalue([
+ "Set Square generator block parameters"],["Amplitude"],list("vec",1),exprs);
if (!ok) {
break
}
diff --git a/js/Sources/GEN_SQR.js b/js/Sources/GEN_SQR.js
index e7bf74fc..eea33f2a 100644
--- a/js/Sources/GEN_SQR.js
+++ b/js/Sources/GEN_SQR.js
@@ -1,4 +1,3 @@
Syntax error in input LexToken(SCICOS_CONTEXT,'scicos_context',1,1457)
-Syntax error in input None
/* autogenerated from "macros/Sources/GEN_SQR.sci" */
None
diff --git a/js/Sources/PULSE_SC.js b/js/Sources/PULSE_SC.js
index b5168b9f..bc19ab77 100644
--- a/js/Sources/PULSE_SC.js
+++ b/js/Sources/PULSE_SC.js
@@ -1,4 +1,3 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1395)
-Syntax error in input None
+Syntax error in input LexToken(SCICOS_CONTEXT,'scicos_context',1,1406)
/* autogenerated from "macros/Sources/PULSE_SC.sci" */
None
diff --git a/js/Sources/RAND_m.js b/js/Sources/RAND_m.js
index daa52675..4a6515bf 100644
--- a/js/Sources/RAND_m.js
+++ b/js/Sources/RAND_m.js
@@ -1,3 +1,80 @@
-Syntax error in input LexToken(CLOSESQBRACKET,']',1,1602)
/* autogenerated from "macros/Sources/RAND_m.sci" */
-None
+function RAND_m() {
+RAND_m.prototype.get = function RAND_m() {
+}
+RAND_m.prototype.set = function RAND_m() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+model=arg1.model;
+if (size(exprs,"*")==14) {
+exprs[9-1]=[];
+}
+while (true) {
+[ok,typ,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 matrix with equal sizes"],["Datatype(1=real double 2=complex)","flag","A","B","SEED"],list("vec",1,"vec",1,"mat",[-1,-2],"mat","[-1 -2]","mat",[1,2]),exprs);
+if (!ok) {
+break
+}
+if (flag!=0&&flag!=1) {
+message("flag must be equal to 1 or 0");
+} else {
+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())];
+ot=1;
+} else if (typ==2) {
+function_name="rndblkz_m";
+ot=2;
+model.rpar=[real(a.slice()),imag(a.slice()),real(b.slice()),imag(b.slice())];
+model.dstate=[seed_c.slice(),0*[real(a.slice()),imag(a.slice())]];
+} else {
+message("Datatype is not supported");
+ok=None;
+}
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list([],[]),list(out,ot),1,[]);
+if (ok) {
+model.sim=list(function_name,4);
+graphics.exprs=exprs;
+model.ipar=flag;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+}
+RAND_m.prototype.define = function RAND_m() {
+a=0;
+b=1;
+dt=0;
+flag=0;
+function_name="rndblk_m";
+funtyp=4;
+model=scicos_model();
+model.sim=list(function_name,funtyp);
+model.in=[];
+model.in2=[];
+model.intyp=[];
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.evtin=1;
+model.evtout=[];
+model.state=[];
+model.dstate=[int(rand()*(10^7-1)),0*a.slice()];
+model.rpar=[a.slice(),b.slice()];
+model.ipar=flag;
+model.blocktype="d";
+model.firing=[];
+model.dep_ut=[None,None];
+exprs=[sci2exp(1),string(flag),sci2exp([a]),sci2exp([b]),sci2exp([model.dstate(1),int(rand()*(10^7-1))])];
+gr_i=[];
+x=standard_define([3,2],model,exprs,gr_i);
+}
+RAND_m.prototype.details = function RAND_m() {
+}
+}
diff --git a/js/Sources/READC_f.js b/js/Sources/READC_f.js
index aeff85c7..eafac6be 100644
--- a/js/Sources/READC_f.js
+++ b/js/Sources/READC_f.js
@@ -16,7 +16,7 @@ lunit=dstate(3);
fname=exprs(3);
frmt=exprs(4);
while (true) {
-[ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"READC_f")," ",gettext("Read from C binary file")],[gettext("Time Record Selection"),gettext("Outputs Record Selection"),gettext("Input File Name"),gettext("Input Format"),gettext("Record Size"),gettext("Buffer Size"),gettext("Initial Record Index"),gettext("Swap Mode (0:No, 1:Yes)")],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs);
+[ok,tmask1,outmask,fname1,frmt1,M,N,offset,swap,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"READC_f" )," ",gettext("Read from C binary file")],[gettext("Time Record Selection"),gettext("Outputs Record Selection"),gettext("Input File Name"),gettext("Input Format"),gettext("Record Size"),gettext("Buffer Size"),gettext("Initial Record Index"),gettext("Swap Mode (0:No, 1:Yes)")],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs);
if (!ok) {
break
}
diff --git a/js/Sources/STEP_FUNCTION.js b/js/Sources/STEP_FUNCTION.js
index 9a06f407..2e0d3006 100644
--- a/js/Sources/STEP_FUNCTION.js
+++ b/js/Sources/STEP_FUNCTION.js
@@ -1,7 +1,3 @@
Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,4227)
-Syntax error in input LexToken(VAR,'blk',1,4437)
-Syntax error in input LexToken(VAR,'blk',1,4784)
-Syntax error in input LexToken(VAR,'lnk',1,5142)
-Syntax error in input LexToken(VAR,'lnk',1,5285)
/* autogenerated from "macros/Sources/STEP_FUNCTION.sci" */
None
diff --git a/js/Sources/Sigbuilder.js b/js/Sources/Sigbuilder.js
index 8b22d600..1f9d70dd 100644
--- a/js/Sources/Sigbuilder.js
+++ b/js/Sources/Sigbuilder.js
@@ -2,6 +2,5 @@ Syntax error in input LexToken(SCICOS_DIAGRAM,'scicos_diagram',1,4459)
Syntax error in input LexToken(VAR,'N',1,10287)
Syntax error in input LexToken(VAR,'order',1,12980)
Syntax error in input LexToken(VAR,'x',1,13322)
-Syntax error in input None
/* autogenerated from "macros/Sources/Sigbuilder.sci" */
None
diff --git a/sci2jslex.py b/sci2jslex.py
index eca88059..c4a3c562 100755
--- a/sci2jslex.py
+++ b/sci2jslex.py
@@ -7,6 +7,7 @@ import sys
''' keep track of how many open brackets have been encountered so far '''
brackets = 0
+sqbrackets = 0
''' keep current string in memory '''
qstring = ''
@@ -63,6 +64,7 @@ tokens = [
'COMPARISON',
'DOT',
'DQSTRING',
+ 'SPACE',
'EOL',
'LASTINDEX',
'LOGICAL',
@@ -84,28 +86,26 @@ states = (
('dqstring', 'exclusive'),
)
-t_ignore = ' \t'
-t_qstring_ignore = ''
-t_dqstring_ignore = ''
-
-def t_COMMA_COMMENT(t):
- r',[ \t]*//.*'
+def t_COMMA(t):
+ r'[ \t]*,([ \t]*(//.*)?\n?)*'
global afterarray, brackets
+ afterarray = False
if brackets != 0:
- afterarray = False
- t.type = 'COMMA'
return t
+ t.type = 'EOL'
+ return t
-def t_SEMICOLON_COMMENT(t):
- r';[ \t]*//.*'
+def t_SEMICOLON(t):
+ r'[ \t]*;([ \t]*(//.*)?\n?)*'
global afterarray, brackets
+ afterarray = False
if brackets != 0:
- afterarray = False
- t.type = 'SEMICOLON'
return t
+ t.type = 'EOL'
+ return t
def t_COMMENT(t):
- r'\.\.+[ \t]*(//.*)?(\n|$)|//.*'
+ r'\.\.+[ \t]*(//.*)?(\n[ \t]*|$)|//.*'
pass
def t_NUMBER(t):
@@ -141,11 +141,14 @@ def t_LASTINDEX(t):
return t
def t_EOL(t):
- r'\n'
+ r'[ \t]*\n([ \t]*(//.*)?\n?)*'
global afterarray, brackets
if brackets == 0:
afterarray = False
return t
+ if sqbrackets != 0:
+ t.type = 'SPACE'
+ return t
def t_DOT(t):
r'\.'
@@ -165,72 +168,36 @@ def t_ADDITION(t):
afterarray = False
return t
-def t_COMMA_EOL(t):
- r',\n'
- global afterarray, brackets
- if brackets == 0:
- afterarray = False
- t.type = 'EOL'
- t.value = '\n'
- return t
-
- afterarray = False
- t.type = 'COMMA'
- return t
-
-def t_COMMA(t):
- r','
- global afterarray
- afterarray = False
- return t
-
def t_OPENSQBRACKET(t):
- r'\['
- global afterarray, brackets
+ r'\[([ \t]*(//.*)?\n?)*'
+ global afterarray, brackets, sqbrackets
afterarray = False
brackets += 1
+ sqbrackets += 1
return t
def t_CLOSESQBRACKET(t):
- r'\]'
- global afterarray, brackets
+ r'[ \t]*\]'
+ global afterarray, brackets, sqbrackets
afterarray = True
brackets -= 1
+ sqbrackets -= 1
return t
def t_OPENBRACKET(t):
- r'\('
+ r'\(([ \t]*(//.*)?\n?)*'
global afterarray, brackets
afterarray = False
brackets += 1
return t
def t_CLOSEBRACKET(t):
- r'\)'
+ r'[ \t]*\)'
global afterarray, brackets
afterarray = True
brackets -= 1
return t
-def t_SEMICOLON_EOL(t):
- r';\n'
- global afterarray, brackets
- if brackets == 0:
- afterarray = False
- t.type = 'EOL'
- t.value = '\n'
- return t
-
- afterarray = False
- t.type = 'SEMICOLON'
- return t
-
-def t_SEMICOLON(t):
- r';'
- global afterarray
- afterarray = False
- return t
-
def t_NOT(t):
r'~'
global afterarray
@@ -255,6 +222,12 @@ def t_COLON(t):
afterarray = False
return t
+def t_SPACE(t):
+ r'[ \t]+'
+ global sqbrackets
+ if sqbrackets != 0:
+ return t
+
def t_error(t):
print("Illegal character '", t.value[0], "'", sep='')
t.lexer.skip(1)
diff --git a/sci2jsyacc.py b/sci2jsyacc.py
index cff7a331..7eca9a39 100755
--- a/sci2jsyacc.py
+++ b/sci2jsyacc.py
@@ -71,11 +71,11 @@ def p_statement_assignment(p):
def p_statement_resume(p):
'statement : lterm ASSIGNMENT RESUME OPENBRACKET expression CLOSEBRACKET EOL'
- p[0] = p[1] + p[2] + p[3] + p[4] + p[5] + p[6] + p[7]
+ p[0] = p[1] + p[2] + p[3] + p[4] + p[5] + p[6] + '\n'
def p_statement_where(p):
'statement : lterm ASSIGNMENT WHERE OPENBRACKET CLOSEBRACKET EOL'
- p[0] = p[1] + p[2] + p[3] + p[4] + p[5] + p[6]
+ p[0] = p[1] + p[2] + p[3] + p[4] + p[5] + '\n'
def p_statement_forstatement_forstatementblock(p):
'statement : forstatementblock END EOL'
@@ -257,8 +257,8 @@ def p_assignment_expression(p):
# define ltermarraylist
def p_ltermarraylist_ltermarraylist_semicolon_var(p):
- '''ltermarraylist : ltermarraylist SEMICOLON VAR
- | ltermarraylist COMMA VAR'''
+ '''ltermarraylist : ltermarraylist COMMA VAR
+ | ltermarraylist SPACE VAR'''
p[0] = str(p[1]) + ',' + str(p[3])
def p_ltermarraylist_ltermarraylist_var(p):
@@ -276,19 +276,12 @@ def p_ltermarraylist_var(p):
def p_termarraylist_termarraylist_semicolon_expression(p):
'''termarraylist : termarraylist SEMICOLON expression
| termarraylist COMMA expression
+ | termarraylist SPACE expression
| expression SEMICOLON expression
- | expression COMMA expression'''
+ | expression COMMA expression
+ | expression SPACE expression'''
p[0] = str(p[1]) + ',' + str(p[3])
-def p_termarraylist_termarraylist_term(p):
- '''termarraylist : termarraylist term
- | term term'''
- p[0] = str(p[1]) + ',' + str(p[2])
-
-def p_termarraylist_addition_term_term(p):
- 'termarraylist : ADDITION term term'
- p[0] = str(p[1]) + str(p[2]) + ',' + str(p[3])
-
# end define termarraylist
# define list
@@ -296,7 +289,7 @@ def p_termarraylist_addition_term_term(p):
def p_list_list_expression(p):
'''list : list COMMA expression
| expression COMMA expression'''
- p[0] = str(p[1]) + str(p[2]) + str(p[3])
+ p[0] = str(p[1]) + ',' + str(p[3])
# end define list
@@ -313,7 +306,8 @@ def p_expression_expression(p):
def p_expression_termarraylist(p):
'''expression : OPENSQBRACKET termarraylist CLOSESQBRACKET
| OPENSQBRACKET termarraylist SEMICOLON CLOSESQBRACKET
- | OPENSQBRACKET termarraylist COMMA CLOSESQBRACKET'''
+ | OPENSQBRACKET termarraylist COMMA CLOSESQBRACKET
+ | OPENSQBRACKET termarraylist SPACE CLOSESQBRACKET'''
p[0] = '[' + str(p[2]) + ']'
def p_expression_sqbracket_addition_term_sqbracket(p):
@@ -473,7 +467,7 @@ def p_term_index(p):
# A(2,3)
def p_term_part_parameters(p):
'term : PART OPENBRACKET expression COMMA expression COLON expression CLOSEBRACKET'
- p[0] = p[1] + p[2] + p[3] + p[4] + p[5] + ',' + p[7] + p[8]
+ p[0] = p[1] + p[2] + p[3] + ',' + p[5] + ',' + p[7] + p[8]
# A(2,3)
def p_term_function_parameters(p):