diff options
Diffstat (limited to 'js/NonLinear/PRODUCT.js')
-rw-r--r-- | js/NonLinear/PRODUCT.js | 492 |
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() { +} +} |