summaryrefslogtreecommitdiff
path: root/js/NonLinear/PRODUCT.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/NonLinear/PRODUCT.js')
-rw-r--r--js/NonLinear/PRODUCT.js492
1 files changed, 65 insertions, 427 deletions
diff --git a/js/NonLinear/PRODUCT.js b/js/NonLinear/PRODUCT.js
index f5a30713..3eb21afb 100644
--- a/js/NonLinear/PRODUCT.js
+++ b/js/NonLinear/PRODUCT.js
@@ -1,427 +1,65 @@
-LexToken(EOL,'\n',1,10)
-LexToken(EOL,'\n',1,13)
-LexToken(EOL,'\n',1,73)
-LexToken(EOL,'\n',1,76)
-LexToken(EOL,'\n',1,148)
-LexToken(EOL,'\n',1,220)
-LexToken(EOL,'\n',1,289)
-LexToken(EOL,'\n',1,328)
-LexToken(EOL,'\n',1,331)
-LexToken(EOL,'\n',1,398)
-LexToken(EOL,'\n',1,464)
-LexToken(EOL,'\n',1,529)
-LexToken(EOL,'\n',1,577)
-LexToken(EOL,'\n',1,580)
-LexToken(EOL,'\n',1,649)
-LexToken(EOL,'\n',1,712)
-LexToken(EOL,'\n',1,794)
-LexToken(EOL,'\n',1,797)
-LexToken(EOL,'\n',1,828)
-LexToken(EOL,'\n',1,831)
-LexToken(EOL,'\n',1,832)
-LexToken(FUNCTION,'function',1,833)
-LexToken(OPENSQBRACKET,'[',1,842)
-LexToken(VAR,'x',1,843)
-LexToken(COMMA,',',1,844)
-LexToken(VAR,'y',1,845)
-LexToken(COMMA,',',1,846)
-LexToken(VAR,'typ',1,847)
-LexToken(CLOSESQBRACKET,']',1,850)
-LexToken(ASSIGNMENT,'=',1,852)
-LexToken(VAR,'PRODUCT',1,854)
-LexToken(OPENBRACKET,'(',1,861)
-LexToken(VAR,'job',1,862)
-LexToken(COMMA,',',1,865)
-LexToken(VAR,'arg1',1,866)
-LexToken(COMMA,',',1,870)
-LexToken(VAR,'arg2',1,871)
-LexToken(CLOSEBRACKET,')',1,875)
-LexToken(EOL,'\n',1,876)
-LexToken(VAR,'x',1,881)
-LexToken(ASSIGNMENT,'=',1,882)
-LexToken(OPENSQBRACKET,'[',1,883)
-LexToken(CLOSESQBRACKET,']',1,884)
-LexToken(EOL,'\n',1,885)
-LexToken(VAR,'y',1,891)
-LexToken(ASSIGNMENT,'=',1,892)
-LexToken(OPENSQBRACKET,'[',1,893)
-LexToken(CLOSESQBRACKET,']',1,894)
-LexToken(EOL,'\n',1,895)
-LexToken(VAR,'typ',1,901)
-LexToken(ASSIGNMENT,'=',1,904)
-LexToken(OPENSQBRACKET,'[',1,905)
-LexToken(CLOSESQBRACKET,']',1,906)
-LexToken(EOL,'\n',1,907)
-LexToken(SELECT,'select',1,913)
-LexToken(VAR,'job',1,920)
-LexToken(EOL,'\n',1,923)
-LexToken(CASE,'case',1,928)
-LexToken(DQSTRING,'"set"',1,937)
-LexToken(THEN,'then',1,939)
-LexToken(EOL,'\n',1,943)
-LexToken(VAR,'x',1,952)
-LexToken(ASSIGNMENT,'=',1,953)
-LexToken(VAR,'arg1',1,954)
-LexToken(EOL,'\n',1,958)
-LexToken(VAR,'graphics',1,968)
-LexToken(ASSIGNMENT,'=',1,976)
-LexToken(VAR,'arg1',1,977)
-LexToken(DOT,'.',1,981)
-LexToken(VAR,'graphics',1,982)
-LexToken(EOL,'\n',1,990)
-LexToken(VAR,'model',1,999)
-LexToken(ASSIGNMENT,'=',1,1004)
-LexToken(VAR,'arg1',1,1005)
-LexToken(DOT,'.',1,1009)
-LexToken(VAR,'model',1,1010)
-LexToken(EOL,'\n',1,1015)
-LexToken(VAR,'exprs',1,1024)
-LexToken(ASSIGNMENT,'=',1,1029)
-LexToken(VAR,'graphics',1,1030)
-LexToken(DOT,'.',1,1038)
-LexToken(VAR,'exprs',1,1039)
-LexToken(EOL,'\n',1,1044)
-LexToken(WHILE,'while',1,1053)
-LexToken(PREVAR_BOOLEAN,'%t',1,1059)
-LexToken(DO,'do',1,1062)
-LexToken(EOL,'\n',1,1064)
-LexToken(OPENSQBRACKET,'[',1,1077)
-LexToken(VAR,'ok',1,1078)
-LexToken(COMMA,',',1,1080)
-LexToken(VAR,'sgn',1,1081)
-LexToken(COMMA,',',1,1084)
-LexToken(VAR,'exprs',1,1085)
-LexToken(CLOSESQBRACKET,']',1,1090)
-LexToken(ASSIGNMENT,'=',1,1091)
-LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1092)
-LexToken(OPENBRACKET,'(',1,1107)
-LexToken(OPENSQBRACKET,'[',1,1108)
-LexToken(DQSTRING,'" Set multiplication block parameters"',1,1154)
-LexToken(SEMICOLON,';\n',1,1155)
-LexToken(DQSTRING,'"(multiplication is set with + 1, division with -1)"',1,1220)
-LexToken(SEMICOLON,';',1,1221)
-LexToken(DQSTRING,'""',1,1223)
-LexToken(CLOSESQBRACKET,']',1,1224)
-LexToken(COMMA,',',1,1225)
-LexToken(DQSTRING,'"Number of inputs or sign vector"',1,1274)
-LexToken(COMMA,',',1,1275)
-LexToken(VAR,'list',1,1292)
-LexToken(OPENBRACKET,'(',1,1296)
-LexToken(DQSTRING,'"vec"',1,1301)
-LexToken(COMMA,',',1,1302)
-LexToken(ADDITION,'-',1,1303)
-LexToken(NUMBER,'1',1,1304)
-LexToken(CLOSEBRACKET,')',1,1305)
-LexToken(COMMA,',',1,1306)
-LexToken(VAR,'exprs',1,1307)
-LexToken(CLOSEBRACKET,')',1,1312)
-LexToken(EOL,'\n',1,1313)
-LexToken(IF,'if',1,1326)
-LexToken(NOT,'~',1,1329)
-LexToken(VAR,'ok',1,1330)
-LexToken(THEN,'then',1,1333)
-LexToken(EOL,'\n',1,1337)
-LexToken(BREAK,'break',1,1354)
-LexToken(EOL,'\n',1,1359)
-LexToken(END,'end',1,1373)
-LexToken(EOL,'\n',1,1376)
-LexToken(VAR,'sgn',1,1389)
-LexToken(ASSIGNMENT,'=',1,1392)
-LexToken(VAR,'sgn',1,1393)
-LexToken(OPENBRACKET,'(',1,1396)
-LexToken(COLON,':',1,1397)
-LexToken(CLOSEBRACKET,')',1,1398)
-LexToken(EOL,'\n',1,1399)
-LexToken(IF,'if',1,1413)
-LexToken(VAR,'size',1,1416)
-LexToken(OPENBRACKET,'(',1,1420)
-LexToken(VAR,'sgn',1,1421)
-LexToken(COMMA,',',1,1424)
-LexToken(NUMBER,'1',1,1425)
-LexToken(CLOSEBRACKET,')',1,1426)
-LexToken(COMPARISON,'==',1,1427)
-LexToken(NUMBER,'1',1,1429)
-LexToken(THEN,'then',1,1431)
-LexToken(EOL,'\n',1,1435)
-LexToken(IF,'if',1,1452)
-LexToken(VAR,'sgn',1,1455)
-LexToken(COMPARISON,'<',1,1458)
-LexToken(NUMBER,'1',1,1459)
-LexToken(THEN,'then',1,1461)
-LexToken(EOL,'\n',1,1465)
-LexToken(VAR,'message',1,1486)
-LexToken(OPENBRACKET,'(',1,1493)
-LexToken(DQSTRING,'"Number of inputs must be > 0"',1,1523)
-LexToken(CLOSEBRACKET,')',1,1524)
-LexToken(EOL,'\n',1,1525)
-LexToken(VAR,'ok',1,1546)
-LexToken(ASSIGNMENT,'=',1,1548)
-LexToken(PREVAR_BOOLEAN,'%f',1,1549)
-LexToken(EOL,'\n',1,1551)
-LexToken(ELSEIF,'elseif',1,1568)
-LexToken(VAR,'sgn',1,1575)
-LexToken(COMPARISON,'==',1,1578)
-LexToken(NUMBER,'1',1,1580)
-LexToken(THEN,'then',1,1582)
-LexToken(EOL,'\n',1,1586)
-LexToken(VAR,'in',1,1607)
-LexToken(ASSIGNMENT,'=',1,1609)
-LexToken(ADDITION,'-',1,1610)
-LexToken(NUMBER,'1',1,1611)
-LexToken(EOL,'\n',1,1612)
-LexToken(VAR,'sgn',1,1633)
-LexToken(ASSIGNMENT,'=',1,1636)
-LexToken(OPENSQBRACKET,'[',1,1637)
-LexToken(CLOSESQBRACKET,']',1,1638)
-LexToken(EOL,'\n',1,1639)
-LexToken(VAR,'nout',1,1660)
-LexToken(ASSIGNMENT,'=',1,1664)
-LexToken(NUMBER,'1',1,1665)
-LexToken(EOL,'\n',1,1666)
-LexToken(ELSE,'else',1,1683)
-LexToken(EOL,'\n',1,1687)
-LexToken(VAR,'in',1,1708)
-LexToken(ASSIGNMENT,'=',1,1710)
-LexToken(ADDITION,'-',1,1711)
-LexToken(VAR,'ones',1,1712)
-LexToken(OPENBRACKET,'(',1,1716)
-LexToken(VAR,'sgn',1,1717)
-LexToken(COMMA,',',1,1720)
-LexToken(NUMBER,'1',1,1721)
-LexToken(CLOSEBRACKET,')',1,1722)
-LexToken(EOL,'\n',1,1723)
-LexToken(VAR,'sgn',1,1744)
-LexToken(ASSIGNMENT,'=',1,1747)
-LexToken(VAR,'ones',1,1748)
-LexToken(OPENBRACKET,'(',1,1752)
-LexToken(VAR,'sgn',1,1753)
-LexToken(COMMA,',',1,1756)
-LexToken(NUMBER,'1',1,1757)
-LexToken(CLOSEBRACKET,')',1,1758)
-LexToken(EOL,'\n',1,1759)
-LexToken(VAR,'nout',1,1780)
-LexToken(ASSIGNMENT,'=',1,1784)
-LexToken(ADDITION,'-',1,1785)
-LexToken(NUMBER,'1',1,1786)
-LexToken(EOL,'\n',1,1787)
-LexToken(END,'end',1,1804)
-LexToken(EOL,'\n',1,1807)
-LexToken(ELSE,'else',1,1820)
-LexToken(EOL,'\n',1,1824)
-LexToken(IF,'if',1,1841)
-LexToken(NOT,'~',1,1844)
-LexToken(VAR,'and',1,1845)
-LexToken(OPENBRACKET,'(',1,1848)
-LexToken(VAR,'abs',1,1849)
-LexToken(OPENBRACKET,'(',1,1852)
-LexToken(VAR,'sgn',1,1853)
-LexToken(CLOSEBRACKET,')',1,1856)
-LexToken(COMPARISON,'==',1,1857)
-LexToken(NUMBER,'1',1,1859)
-LexToken(CLOSEBRACKET,')',1,1860)
-LexToken(THEN,'then',1,1862)
-LexToken(EOL,'\n',1,1866)
-LexToken(VAR,'message',1,1887)
-LexToken(OPENBRACKET,'(',1,1894)
-LexToken(DQSTRING,'"Signs can only be +1 or -1"',1,1922)
-LexToken(CLOSEBRACKET,')',1,1923)
-LexToken(EOL,'\n',1,1924)
-LexToken(VAR,'ok',1,1945)
-LexToken(ASSIGNMENT,'=',1,1947)
-LexToken(PREVAR_BOOLEAN,'%f',1,1948)
-LexToken(EOL,'\n',1,1950)
-LexToken(ELSE,'else',1,1967)
-LexToken(EOL,'\n',1,1971)
-LexToken(VAR,'in',1,1992)
-LexToken(ASSIGNMENT,'=',1,1994)
-LexToken(ADDITION,'-',1,1995)
-LexToken(VAR,'ones',1,1996)
-LexToken(OPENBRACKET,'(',1,2000)
-LexToken(VAR,'size',1,2001)
-LexToken(OPENBRACKET,'(',1,2005)
-LexToken(VAR,'sgn',1,2006)
-LexToken(COMMA,',',1,2009)
-LexToken(NUMBER,'1',1,2010)
-LexToken(CLOSEBRACKET,')',1,2011)
-LexToken(COMMA,',',1,2012)
-LexToken(NUMBER,'1',1,2013)
-LexToken(CLOSEBRACKET,')',1,2014)
-LexToken(EOL,'\n',1,2015)
-LexToken(VAR,'nout',1,2036)
-LexToken(ASSIGNMENT,'=',1,2040)
-LexToken(ADDITION,'-',1,2041)
-LexToken(NUMBER,'1',1,2042)
-LexToken(EOL,'\n',1,2043)
-LexToken(END,'end',1,2060)
-LexToken(EOL,'\n',1,2063)
-LexToken(END,'end',1,2076)
-LexToken(EOL,'\n',1,2079)
-LexToken(IF,'if',1,2092)
-LexToken(VAR,'ok',1,2095)
-LexToken(THEN,'then',1,2098)
-LexToken(EOL,'\n',1,2102)
-LexToken(OPENSQBRACKET,'[',1,2119)
-LexToken(VAR,'model',1,2120)
-LexToken(COMMA,',',1,2125)
-LexToken(VAR,'graphics',1,2126)
-LexToken(COMMA,',',1,2134)
-LexToken(VAR,'ok',1,2135)
-LexToken(CLOSESQBRACKET,']',1,2137)
-LexToken(ASSIGNMENT,'=',1,2138)
-LexToken(VAR,'check_io',1,2139)
-LexToken(OPENBRACKET,'(',1,2147)
-LexToken(VAR,'model',1,2148)
-LexToken(COMMA,',',1,2153)
-LexToken(VAR,'graphics',1,2154)
-LexToken(COMMA,',',1,2162)
-LexToken(VAR,'in',1,2163)
-LexToken(COMMA,',',1,2165)
-LexToken(VAR,'nout',1,2166)
-LexToken(COMMA,',',1,2170)
-LexToken(OPENSQBRACKET,'[',1,2171)
-LexToken(CLOSESQBRACKET,']',1,2172)
-LexToken(COMMA,',',1,2173)
-LexToken(OPENSQBRACKET,'[',1,2174)
-LexToken(CLOSESQBRACKET,']',1,2175)
-LexToken(CLOSEBRACKET,')',1,2176)
-LexToken(EOL,'\n',1,2177)
-LexToken(END,'end',1,2190)
-LexToken(EOL,'\n',1,2193)
-LexToken(IF,'if',1,2206)
-LexToken(VAR,'ok',1,2209)
-LexToken(THEN,'then',1,2212)
-LexToken(EOL,'\n',1,2216)
-LexToken(VAR,'model',1,2233)
-LexToken(DOT,'.',1,2238)
-LexToken(VAR,'ipar',1,2239)
-LexToken(ASSIGNMENT,'=',1,2243)
-LexToken(VAR,'sgn',1,2244)
-LexToken(EOL,'\n',1,2247)
-LexToken(VAR,'graphics',1,2264)
-LexToken(DOT,'.',1,2272)
-LexToken(VAR,'exprs',1,2273)
-LexToken(ASSIGNMENT,'=',1,2278)
-LexToken(VAR,'exprs',1,2279)
-LexToken(EOL,'\n',1,2284)
-LexToken(VAR,'x',1,2301)
-LexToken(DOT,'.',1,2302)
-LexToken(VAR,'graphics',1,2303)
-LexToken(ASSIGNMENT,'=',1,2311)
-LexToken(VAR,'graphics',1,2312)
-LexToken(EOL,'\n',1,2320)
-LexToken(VAR,'x',1,2338)
-LexToken(DOT,'.',1,2339)
-LexToken(VAR,'model',1,2340)
-LexToken(ASSIGNMENT,'=',1,2345)
-LexToken(VAR,'model',1,2346)
-LexToken(EOL,'\n',1,2351)
-LexToken(BREAK,'break',1,2368)
-LexToken(EOL,'\n',1,2373)
-LexToken(END,'end',1,2386)
-LexToken(EOL,'\n',1,2389)
-LexToken(END,'end',1,2398)
-LexToken(EOL,'\n',1,2401)
-LexToken(CASE,'case',1,2406)
-LexToken(DQSTRING,'"define"',1,2418)
-LexToken(THEN,'then',1,2420)
-LexToken(EOL,'\n',1,2424)
-LexToken(VAR,'sgn',1,2433)
-LexToken(ASSIGNMENT,'=',1,2436)
-LexToken(OPENSQBRACKET,'[',1,2437)
-LexToken(NUMBER,'1',1,2438)
-LexToken(SEMICOLON,';',1,2439)
-LexToken(ADDITION,'-',1,2440)
-LexToken(NUMBER,'1',1,2441)
-LexToken(CLOSESQBRACKET,']',1,2442)
-LexToken(EOL,'\n',1,2443)
-LexToken(VAR,'model',1,2452)
-LexToken(ASSIGNMENT,'=',1,2457)
-LexToken(SCICOS_MODEL,'scicos_model',1,2458)
-LexToken(OPENBRACKET,'(',1,2470)
-LexToken(CLOSEBRACKET,')',1,2471)
-LexToken(EOL,'\n',1,2472)
-LexToken(VAR,'model',1,2481)
-LexToken(DOT,'.',1,2486)
-LexToken(VAR,'sim',1,2487)
-LexToken(ASSIGNMENT,'=',1,2490)
-LexToken(VAR,'list',1,2491)
-LexToken(OPENBRACKET,'(',1,2495)
-LexToken(DQSTRING,'"product"',1,2504)
-LexToken(COMMA,',',1,2505)
-LexToken(NUMBER,'4',1,2506)
-LexToken(CLOSEBRACKET,')',1,2507)
-LexToken(EOL,'\n',1,2508)
-LexToken(VAR,'model',1,2517)
-LexToken(DOT,'.',1,2522)
-LexToken(VAR,'in',1,2523)
-LexToken(ASSIGNMENT,'=',1,2525)
-LexToken(OPENSQBRACKET,'[',1,2526)
-LexToken(ADDITION,'-',1,2527)
-LexToken(NUMBER,'1',1,2528)
-LexToken(SEMICOLON,';',1,2529)
-LexToken(ADDITION,'-',1,2530)
-LexToken(NUMBER,'1',1,2531)
-LexToken(CLOSESQBRACKET,']',1,2532)
-LexToken(EOL,'\n',1,2533)
-LexToken(VAR,'model',1,2542)
-LexToken(DOT,'.',1,2547)
-LexToken(VAR,'out',1,2548)
-LexToken(ASSIGNMENT,'=',1,2551)
-LexToken(ADDITION,'-',1,2552)
-LexToken(NUMBER,'1',1,2553)
-LexToken(EOL,'\n',1,2554)
-LexToken(VAR,'model',1,2563)
-LexToken(DOT,'.',1,2568)
-LexToken(VAR,'ipar',1,2569)
-LexToken(ASSIGNMENT,'=',1,2573)
-LexToken(VAR,'sgn',1,2574)
-LexToken(EOL,'\n',1,2577)
-LexToken(VAR,'model',1,2586)
-LexToken(DOT,'.',1,2591)
-LexToken(VAR,'blocktype',1,2592)
-LexToken(ASSIGNMENT,'=',1,2601)
-LexToken(DQSTRING,'"c"',1,2604)
-LexToken(EOL,'\n',1,2605)
-LexToken(VAR,'model',1,2614)
-LexToken(DOT,'.',1,2619)
-LexToken(VAR,'dep_ut',1,2620)
-LexToken(ASSIGNMENT,'=',1,2626)
-LexToken(OPENSQBRACKET,'[',1,2627)
-LexToken(PREVAR_BOOLEAN,'%t',1,2628)
-LexToken(PREVAR_BOOLEAN,'%f',1,2631)
-LexToken(CLOSESQBRACKET,']',1,2633)
-LexToken(EOL,'\n',1,2634)
-LexToken(EOL,'\n',1,2635)
-LexToken(EOL,'\n',1,2636)
-LexToken(VAR,'exprs',1,2645)
-LexToken(ASSIGNMENT,'=',1,2650)
-LexToken(VAR,'sci2exp',1,2651)
-LexToken(OPENBRACKET,'(',1,2658)
-LexToken(VAR,'sgn',1,2659)
-LexToken(CLOSEBRACKET,')',1,2662)
-LexToken(EOL,'\n',1,2663)
-LexToken(VAR,'gr_i',1,2672)
-LexToken(ASSIGNMENT,'=',1,2676)
-LexToken(OPENSQBRACKET,'[',1,2677)
-LexToken(CLOSESQBRACKET,']',1,2678)
-LexToken(EOL,'\n',1,2679)
-LexToken(VAR,'x',1,2688)
-LexToken(ASSIGNMENT,'=',1,2689)
-LexToken(VAR,'standard_define',1,2690)
-LexToken(OPENBRACKET,'(',1,2705)
-LexToken(OPENSQBRACKET,'[',1,2706)
-LexToken(NUMBER,'2',1,2707)
-LexToken(NUMBER,'3',1,2709)
-LexToken(CLOSESQBRACKET,']',1,2710)
-LexToken(COMMA,',',1,2711)
-LexToken(VAR,'model',1,2712)
-LexToken(COMMA,',',1,2717)
-LexToken(VAR,'exprs',1,2719)
-LexToken(COMMA,',',1,2724)
-LexToken(VAR,'gr_i',1,2725)
-LexToken(CLOSEBRACKET,')',1,2729)
-LexToken(EOL,'\n',1,2730)
-LexToken(END,'end',1,2735)
-LexToken(EOL,'\n',1,2738)
-LexToken(ENDFUNCTION,'endfunction',1,2739)
-LexToken(EOL,'\n',1,2750)
+/* autogenerated from "macros/NonLinear/PRODUCT.sci" */
+function PRODUCT() {
+PRODUCT.prototype.get = function PRODUCT() {
+}
+PRODUCT.prototype.set = function PRODUCT() {
+x=arg1;
+graphics=arg1.graphics;
+model=arg1.model;
+exprs=graphics.exprs;
+while (true) {
+[ok,sgn,exprs]=scicos_getvalue([" Set multiplication block parameters","(multiplication is set with + 1, division with -1)",""],"Number of inputs or sign vector",list("vec",-1),exprs);
+if (!ok) {
+break
+}
+sgn=sgn.slice();
+if (size(sgn,1)==1) {
+if (sgn<1) {
+message("Number of inputs must be > 0");
+ok=None;
+} else if (sgn==1) {
+in1=-1;
+sgn=[];
+nout=1;
+} else {
+in1=-ones(sgn,1);
+sgn=ones(sgn,1);
+nout=-1;
+}
+} else {
+if (!and(abs(sgn)==1)) {
+message("Signs can only be +1 or -1");
+ok=None;
+} else {
+in1=-ones(size(sgn,1),1);
+nout=-1;
+}
+}
+if (ok) {
+[model,graphics,ok]=check_io(model,graphics,in1,nout,[],[]);
+}
+if (ok) {
+model.ipar=sgn;
+graphics.exprs=exprs;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+PRODUCT.prototype.define = function PRODUCT() {
+sgn=[1,-1];
+model=scicos_model();
+model.sim=list("product",4);
+model.in=[-1,-1];
+model.out=-1;
+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);
+}
+PRODUCT.prototype.details = function PRODUCT() {
+}
+}