diff options
Diffstat (limited to 'js/Sources/RFILE_f.js')
-rw-r--r-- | js/Sources/RFILE_f.js | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/js/Sources/RFILE_f.js b/js/Sources/RFILE_f.js index dc0b6a87..399eac41 100644 --- a/js/Sources/RFILE_f.js +++ b/js/Sources/RFILE_f.js @@ -6,21 +6,21 @@ function RFILE_f() { frmt = "(7(e10.3,1x))"; fname = "foo"; lunit = 0; - N = 2; + this.N = 2; rpar = []; tmask = 0; - outmask = 1; - ipar = [[length(fname)],[length(frmt)],[0],[N],[this._str2code[fname-1]],[this._str2code[frmt-1]],[tmask],[outmask]]; - dstate = [[1],[1],[lunit],[zeros((nout)*N,1)]]; + this.outmask = 1; + ipar = [[length(fname)],[length(frmt)],[0],[this.N],[this._str2code[fname-1]],[this._str2code[frmt-1]],[tmask],[this.outmask]]; + dstate = [[1],[1],[lunit],[zeros((nout)*this.N,1)]]; model = scicos_model(); model.sim = "readf"; model.out = nout; model.evtin = 1; model.dstate = dstate; - model.ipar = [[length(fname)],[length(frmt)],[0],[N],[this._str2code[fname-1]],[this._str2code[frmt-1]],[tmask],[outmask]]; + model.ipar = [[length(fname)],[length(frmt)],[0],[this.N],[this._str2code[fname-1]],[this._str2code[frmt-1]],[tmask],[this.outmask]]; model.blocktype = "d"; model.dep_ut = [false,false]; - exprs = [[sci2exp([])],[sci2exp(outmask)],[fname],[frmt],[string(N)],[sci2exp(out)]]; + exprs = [[sci2exp([])],[sci2exp(this.outmask)],[fname],[frmt],[string(this.N)],[sci2exp(out)]]; gr_i = []; this.x = standard_define([3,2],model,exprs,gr_i); return new BasicBlock(this.x); @@ -38,7 +38,7 @@ function RFILE_f() { dstate = model.dstate; ipar = model.ipar; ievt = ipar[3-1]; - N = ipar[4-1]; + this.N = ipar[4-1]; imask = 5+ipar[1-1]+ipar[2-1]; tmask = ipar[imask-1]; lunit = dstate[3-1]; @@ -48,38 +48,38 @@ function RFILE_f() { exprs[6-1] = []; } while (true) { - [ok,tmask1,outmask,fname1,frmt1,N,exprs] = scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"RFILE_f")],[" "],[gettext("Read from an input file")],[" "],[gettext("Read is done on:")],[gettext(" - A binary file if no format given")],[gettext(" - A formatted text file if a format (fortran type) is given")]],[[gettext("Time Record Selection")],[gettext("Outputs Record Selection")],[gettext("Input File Name")],[gettext("Input Format")],[gettext("Buffer Size")]],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1),exprs); + [ok,this.tmask1,this.outmask,this.fname1,this.frmt1,this.N,exprs] = scicos_getvalue([[msprintf(gettext("Set %s block parameters"),"RFILE_f")],[" "],[gettext("Read from an input file")],[" "],[gettext("Read is done on:")],[gettext(" - A binary file if no format given")],[gettext(" - A formatted text file if a format (fortran type) is given")]],[[gettext("Time Record Selection")],[gettext("Outputs Record Selection")],[gettext("Input File Name")],[gettext("Input Format")],[gettext("Buffer Size")]],list("vec",-1,"vec",-1,"str",1,"str",1,"vec",1),exprs); if (!ok) { break; } - fname1 = pathconvert(stripblanks(fname1),false,true); - frmt1 = stripblanks(frmt1); - nout = size(outmask,"*"); - if (prod(size(tmask1))>1) { - block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s."),gettext("Time Record Selection"),strcat(string(tmask1.slice())," ")),gettext("Empty matrix or scalar expected.")); - } else if (tmask1!=[]&&tmask1<1) { - block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d"),gettext("Time Record Selection"),tmask1),gettext("Strictly positive integer expected.")); - } else if (lunit>0&&min(length(frmt),1)!=min(length(frmt1),1)) { + this.fname1 = pathconvert(stripblanks(this.fname1),false,true); + this.frmt1 = stripblanks(this.frmt1); + nout = size(this.outmask,"*"); + if (prod(size(this.tmask1))>1) { + block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s."),gettext("Time Record Selection"),strcat(string(this.tmask1.slice())," ")),gettext("Empty matrix or scalar expected.")); + } else if (this.tmask1!=[]&&this.tmask1<1) { + block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d"),gettext("Time Record Selection"),this.tmask1),gettext("Strictly positive integer expected.")); + } else if (lunit>0&&min(length(frmt),1)!=min(length(this.frmt1),1)) { block_parameter_error([gettext("Simulation running !!! You cannot switch <br />between formatted and unformatted")],gettext("End current simulation first.")); - } else if (lunit>0&&fname1!=fname) { + } else if (lunit>0&&this.fname1!=fname) { block_parameter_error(gettext("Simulation running !!! You cannot modify \'Input File Name\'"),gettext("End current simulation first.")); - } else if (lunit>0&&size(tmask1)!=size(tmask)) { + } else if (lunit>0&&size(this.tmask1)!=size(tmask)) { block_parameter_error(gettext("Simulation running !!! You cannot modify \'Time Record Selection\'"),gettext("End current simulation first.")); - } else if (fname1=="") { - block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s"),gettext("Input File Name"),fname1),gettext("You must provide a filename.")); - } else if (frmt1!=""&&(part(frmt1,1)!="("||part(frmt1,length(frmt1))!=")")) { - block_parameter_error(msprintf(gettext("Wrong format for \'%s\' parameter: %s."),gettext("Input Format"),frmt1),gettext("You must enclose the format\'s string between parentheses.")); - } else if (N<2) { - block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Buffer Size"),N),gettext("Buffer size must be at least 2.")); + } else if (this.fname1=="") { + block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s"),gettext("Input File Name"),this.fname1),gettext("You must provide a filename.")); + } else if (this.frmt1!=""&&(part(this.frmt1,1)!="("||part(this.frmt1,length(this.frmt1))!=")")) { + block_parameter_error(msprintf(gettext("Wrong format for \'%s\' parameter: %s."),gettext("Input Format"),this.frmt1),gettext("You must enclose the format\'s string between parentheses.")); + } else if (this.N<2) { + block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Buffer Size"),this.N),gettext("Buffer size must be at least 2.")); } else if (nout==0) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Outputs Record Selection"),nout),gettext("You must read at least one field in record.")); - } else if (min(outmask)<1) { - block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s"),gettext("Outputs Record Selection"),strcat(string(outmask.slice())," ")),gettext("Strictly positive indexes expected.")); + } else if (min(this.outmask)<1) { + block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %s"),gettext("Outputs Record Selection"),strcat(string(this.outmask.slice())," ")),gettext("Strictly positive indexes expected.")); } else { - if (tmask1==[]) { + if (this.tmask1==[]) { ievt = 0; cout = []; - tmask1 = 0; + this.tmask1 = 0; } else { ievt = 1; cout = 1; @@ -91,9 +91,9 @@ function RFILE_f() { } else { model.firing = 0; } - ipar = [[length(fname1)],[length(frmt1)],[ievt],[N],[this._str2code[fname1-1]],[this._str2code[frmt1-1]],[tmask1],[outmask.slice()]]; - if (prod(size(dstate))!=(nout+ievt)*N+3) { - dstate = [[-1],[-1],[lunit],[zeros((nout+ievt)*N,1)]]; + ipar = [[length(this.fname1)],[length(this.frmt1)],[ievt],[this.N],[this._str2code[this.fname1-1]],[this._str2code[this.frmt1-1]],[this.tmask1],[this.outmask.slice()]]; + if (prod(size(dstate))!=(nout+ievt)*this.N+3) { + dstate = [[-1],[-1],[lunit],[zeros((nout+ievt)*this.N,1)]]; } model.dstate = dstate; model.ipar = ipar; |