diff options
author | Sunil Shetye | 2018-06-19 12:46:54 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-19 15:23:41 +0530 |
commit | 044f5fad7f84b7d4def0b0abb278c1303102e03d (patch) | |
tree | e55e174ac72149af018a5fbf30e1ce87d5f0400f /js/Sources/RFILE_f.js | |
parent | 3595bbad218ca834662ebcd884f8c2815f0ec339 (diff) | |
download | sci2js-044f5fad7f84b7d4def0b0abb278c1303102e03d.tar.gz sci2js-044f5fad7f84b7d4def0b0abb278c1303102e03d.tar.bz2 sci2js-044f5fad7f84b7d4def0b0abb278c1303102e03d.zip |
support assignment to array
Diffstat (limited to 'js/Sources/RFILE_f.js')
-rw-r--r-- | js/Sources/RFILE_f.js | 107 |
1 files changed, 105 insertions, 2 deletions
diff --git a/js/Sources/RFILE_f.js b/js/Sources/RFILE_f.js index 265cc7f6..a5e13f89 100644 --- a/js/Sources/RFILE_f.js +++ b/js/Sources/RFILE_f.js @@ -1,3 +1,106 @@ -Syntax error in input LexToken(SPACE,' ',1,5989) /* autogenerated from "macros/Sources/RFILE_f.sci" */ -None +function RFILE_f() { +RFILE_f.prototype.define = function RFILE_f() { +out=1; +nout=sum(out); +frmt="(7(e10.3,1x))"; +fname="foo"; +lunit=0; +N=2; +rpar=[]; +tmask=0; +outmask=1; +ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code(fname)],[_str2code(frmt)],[tmask],[outmask]]; +dstate=[[1],[1],[lunit],[zeros((nout)*N,1)]]; +model=scicos_model(); +model.sim="readf"; +model.out=nout; +model.evtin=1; +model.dstate=dstate; +model.ipar=[[length(fname)],[length(frmt)],[0],[N],[_str2code(fname)],[_str2code(frmt)],[tmask],[outmask]]; +model.blocktype="d"; +model.dep_ut=[false,false]; +exprs=[[sci2exp([])],[sci2exp(outmask)],[fname],[frmt],[string(N)],[sci2exp(out)]]; +gr_i=[]; +x=standard_define([3,2],model,exprs,gr_i); +} +RFILE_f.prototype.details = function RFILE_f() { +} +RFILE_f.prototype.get = function RFILE_f() { +} +RFILE_f.prototype.set = function RFILE_f() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +dstate=model.dstate; +ipar=model.ipar; +ievt=ipar(3); +N=ipar(4); +imask=5+ipar(1)+ipar(2); +tmask=ipar(imask); +lunit=dstate(3); +fname=exprs[3-1]; +frmt=exprs[4-1]; +if (size(exprs,"*")>5) { +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); +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)) { +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) { +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)) { +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 (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 (tmask1==[]) { +ievt=0; +cout=[]; +tmask1=0; +} else { +ievt=1; +cout=1; +} +[model,graphics,ok]=check_io(model,graphics,[],nout,1,cout); +if (ok) { +if (ievt==0) { +model.firing=[]; +} else { +model.firing=0; +} +ipar=[[length(fname1)],[length(frmt1)],[ievt],[N],[_str2code(fname1)],[_str2code(frmt1)],[tmask1],[outmask.slice()]]; +if (prod(size(dstate))!=(nout+ievt)*N+3) { +dstate=[[-1],[-1],[lunit],[zeros((nout+ievt)*N,1)]]; +} +model.dstate=dstate; +model.ipar=ipar; +graphics.exprs=exprs; +x.graphics=graphics; +x.model=model; +break; +} +} +} +} +} |