summaryrefslogtreecommitdiff
path: root/js/MatrixOp/SUBMAT.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/MatrixOp/SUBMAT.js')
-rw-r--r--js/MatrixOp/SUBMAT.js93
1 files changed, 91 insertions, 2 deletions
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() {
+}
+}