summaryrefslogtreecommitdiff
path: root/dependencies.js
diff options
context:
space:
mode:
Diffstat (limited to 'dependencies.js')
-rw-r--r--dependencies.js449
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;
+ }
+}