diff options
Diffstat (limited to 'dependencies.js')
-rw-r--r-- | dependencies.js | 449 |
1 files changed, 429 insertions, 20 deletions
diff --git a/dependencies.js b/dependencies.js index 11f6d97..dd2a087 100644 --- a/dependencies.js +++ b/dependencies.js @@ -1,24 +1,30 @@ -var dir = ["data_structures_correct"]; -var fileextension = "."; +$.getScript('math.js'); +$.getScript('combined.js'); -var script = document.createElement("script"); - script.src = "math.js"; - document.head.appendChild(script); -$.each(dir, function(index, value) { - $.ajax({ // http://stackoverflow.com/a/18480589 - url: value, - success: function(data) { - $(data).find("a:contains(" + fileextension + ")").each(function() { - var filename = this.href.replace(window.location.host, ""); - filename = filename.replace("https://", value); - filename = filename.replace("http://", value); - var script = document.createElement("script"); - script.src = filename; - document.head.appendChild(script); - }); - } - }); +// @Adhitya: 02-07-2016: Commented Jitesh's work to call Data Structures individually, +// and combined all of them into combined.js using combine_script.bat + +/* +$.ajax({ + type: "POST", + // Invoke filenames.php + url: "filenames.php", + // Receive the resultant filenames from the php script in JSON format + dataType: "json", + // Add url for the required folder + data: { + url: "/data_structures_correct/" + }, + success: function (data) { + + // @Parameter: data will have the required filenames in the mentioned folder + // For each url, add the script to the body div element with getScript function + for (i in data) { + $.getScript(data[i]); + } + } }); +*/ function AfficheBlock() { if (arguments.length > 0) { @@ -411,6 +417,351 @@ function RoundBlock() { } } +function GroundBlock() { + + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.style = arguments.callee.caller.name; + this.value = options.value; // Not Known + this.exprs = options.graphics.exprs; + this.realParameters = options.model.rpar; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + this.nbZerosCrossing = options.model.nzcross; + this.nmode = options.model.nmode; + this.oDState = list(); + this.equations = options.model.equations; // Not Known + this.blockName = "GroundBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function Product() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + if(!isEmpty(options.graphics.style)) { + this.style = getData(options.graphics.style)[0]; + } + else { + this.style = arguments.callee.caller.name; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.realParameters = options.model.rpar; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + this.nbZerosCrossing = options.model.nzcross; + this.nmode = options.model.nmode; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.oDState = options.model.odstate; + this.equations = options.model.equations; + this.blockName = "Product"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function ImplicitOutBlock() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.equations = options.model.equations; + this.blockName = "ImplicitOutBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function ImplicitInBlock() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.equations = options.model.equations; + this.blockName = "ImplicitInBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + function zeros() { if (arguments.length == 0) { return [0]; @@ -475,4 +826,62 @@ function inverse() { str += arg + "]]"; var array = JSON.parse(str); return array; -}
\ No newline at end of file +} + +function _str2code() { + var conversion = "0123456789abcdefghijklmnopqrstuvwxyz_#!$ ();:+-*/\\=.,'[]%|&<>~^"; + var conversion2 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ00?0 00000000$000\"{}000`0@0r"; + var str = arguments[0]; + var code = []; + for (var i = 0; i < str.length; i++) { + code[i] = [conversion.indexOf(str[i])]; + if (code[i] == -1) { + code[i] = [conversion2.indexOf(str[i]) * -1]; + } + } + return code; +} + +function real() { + var matrix = arguments[0]; + var sz = math.size(matrix); + var res = []; + for (var i = 0; i < sz[0]; i++) { + for (var j = 0; j < sz[1]; j++) { + res.push([math.re(matrix[i][j])]); + } + } + return res; +} + +function imag() { + var matrix = arguments[0]; + var sz = math.size(matrix); + var res = []; + for (var i = 0; i < sz[0]; i++) { + for (var j = 0; j < sz[1]; j++) { + res.push([math.im(matrix[i][j])]); + } + } + return res; +} + +function _check() { + var param = arguments[0]; + if(typeof param == "object") { + var str = param.toString(); + str = str.substring(1, str.length - 1); + str = str.replace(/\B\+/,"+%i*"); + str = str.replace(/\B-/,"-%i*"); + str = param.toString().substring(0,1) + str; + str = str.replace(/ /g,''); + return str; + } + else if(typeof param == "string") { + // needs to be changed later + return param; + } + else { + return param; + } +} |