diff --git a/.babelrc b/.babelrc
index 6c335cd5..43349505 100644
--- a/.babelrc
+++ b/.babelrc
@@ -4,6 +4,7 @@
"@babel/preset-typescript"
],
"plugins": [
- "@babel/plugin-transform-runtime"
+ "@babel/plugin-transform-runtime",
+ "@babel/plugin-proposal-class-properties"
]
}
diff --git a/.eslintrc.js b/.eslintrc.js
index 8646d3ae..71613a54 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,24 +1,47 @@
module.exports = {
- "env": {
- "browser": true,
- "es2021": true
+ 'env': {
+ 'browser': true,
+ 'es2021': true
},
- "extends": [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended"
+ 'extends': [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended'
],
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "ecmaVersion": 12,
- "sourceType": "module"
+ 'parser': '@typescript-eslint/parser',
+ 'parserOptions': {
+ 'ecmaVersion': 12,
+ 'sourceType': 'module'
},
- "plugins": [
- "@typescript-eslint"
+ 'plugins': [
+ '@typescript-eslint'
],
- "ignorePatterns": ["**/*.js"],
- "rules": {
- "@typescript-eslint/no-explicit-any": "off",
+ 'ignorePatterns': ['**/*.js'],
+ 'rules': {
+ '@typescript-eslint/no-explicit-any': 'off',
"@typescript-eslint/no-non-null-assertion": "off",
"prefer-arrow-callback": "error",
+ 'indent': [
+ 'error',
+ 4,
+ {
+ 'SwitchCase': 1,
+ }
+ ],
+ 'linebreak-style': [
+ 'error',
+ 'unix'
+ ],
+ 'quotes': [
+ 'error',
+ 'single'
+ ],
+ 'semi': [
+ 'error',
+ 'always'
+ ],
+ 'prefer-arrow-callback': 'error',
+ '@typescript-eslint/no-non-null-assertion': 'off',
+ 'camelcase': 'error',
+ '@typescript-eslint/ban-ts-comment': 'off',
}
};
diff --git a/.gitignore b/.gitignore
index 0527d98d..f578d6ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+.DS_Store
+
# Logs
logs
*.log
diff --git a/README.md b/README.md
index 46cbc627..0b6ef835 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,6 @@ npm install
npm run watch
```
-Before committing your changes, run `npm install && npm run build-prod` to build
-a production bundle. GitHub Actions will fail if the production bundle in your
-commit is not up-to-date. If the CI is failing, make sure that you run
-`npm install` before building as the dependencies might've changed.
+To launch a local server with hot reloading, replace the second command with `npm run serve`.
+
+Before committing your changes, run `npm install && npm run build-prod` to build a production bundle. GitHub Actions will fail if the production bundle in your commit is not up-to-date. If the CI is failing, make sure that you run `npm install` before building as the dependencies might've changed.
diff --git a/dist/306.js b/dist/306.js
deleted file mode 100755
index 68f78e53..00000000
--- a/dist/306.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunk_spcl_sdfv=self.webpackChunk_spcl_sdfv||[]).push([[306],{3725:(A,C,I)=>{"use strict";I.r(C),I.d(C,{MemoryOpButton:()=>a,AutoSuperSectionMemoryOpAnalysis:()=>w});var Q=I(2137),E=I(5991),B=I(7329),g=I(6610),e=I(379),i=I(6070),n=I(7608),t=I(7757),h=I.n(t),k=I(4286),s=I(1318);function D(A){var C=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var I,Q=(0,n.Z)(A);if(C){var E=(0,n.Z)(this).constructor;I=Reflect.construct(Q,arguments,E)}else I=Q.apply(this,arguments);return(0,i.Z)(this,I)}}var a=function(A){(0,e.Z)(I,A);var C=D(I);function I(A,Q,E){var e;(0,g.Z)(this,I),(e=C.call(this,A)).supersection_all_vec_analyses=Q;var i="data:image/png;base64,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";e._display_image={1:i,"-1":i};var n={},t=s.Vw.majority([1]);e.setButtonImage(e._display_image[t]),e.dataparams=[Q,E];var h=new k.Layout(e.button_subwindow);h.setRect("Title",new k.Pos(0,0),new k.Pos(100,10),new k.RU_DataViewText);var D=new k.RU_DataViewBarGraph({type:"bar",yAxes:[{type:"linear",display:!0,position:"left",id:"axis-1"}]}).setDataAnalysisFunction((function(A){var C=[],I=[],E=[];null!=A&&(C=A.data.map((function(A){return A.data.write_stall})),I=A.data.map((function(A){return A.data.load_ins})),E=A.data.map((function(A){return A.data.store_ins})));var g=k.RU_DataViewBarGraph.colorList().slice(0,C.length+1),e=[],i=Q.repcount;if(all_analyses_global){var n=C.length/i;C=s.tV.createChunks(C,n,s.Vw.sumArray),I=s.tV.createChunks(I,n,s.Vw.sumArray),E=s.tV.createChunks(E,n,s.Vw.sumArray)}return e.push({label:"Cycles stalled on writes",yAxisID:"axis-1",data:C[0],backgroundColor:g[0]}),e.push({label:"Load ins",yAxisID:"axis-1",data:I[0],backgroundColor:g[1]}),e.push({label:"Store ins",yAxisID:"axis-1",data:E[0],backgroundColor:g[2]}),{labels:(0,B.Z)(Array(C[0].length).keys()),datasets:e}})).linkMouse(h._layout_clickable).changeGraphOptions((function(A){A.options.title.text="Memory operations per thread",A.options.scales.yAxes.find((function(A){return"axis-1"==A.id})).scaleLabel={labelString:"Operations",display:!0},A.options.scales.yAxes.find((function(A){return"axis-1"==A.id})).ticks.beginAtZero=!0,A.options.scales.xAxes=[{scaleLabel:{labelString:"Thread",display:!0}}]}));return h.setRect("Graph",new k.Pos(0,10),new k.Pos(70,50),D),n.Title=new k.DataBlock({fontsize:32,text:"Memory operations",color:"black",align:"center"},"Text"),n.Graph=Q,h.setDataBinding(n),e.button_subwindow.setLayout(h),e.setOnEnterHover((function(A){e.color="#FF0000",e.button_subwindow_state="open"})),e.setOnLeaveHover((function(A){e.color="orange",e.is_locked_open||(e.button_subwindow_state="collapsed")})),e.setOnClick((function(A,C){e.is_locked_open=!e.is_locked_open})),e.setDefaultDblClick(),e}return I}(k.Button),o=function(){function A(C,I,Q,E){(0,g.Z)(this,A),this.section=C,this.critical_path_analysis=E,this.for_node=I,this.for_state=Q,this.analysis_result=null,65535!=Q&&65535!=Q&&s.tV.assert("for_node defined",null!=this.for_node&&NaN!=new Number(this.for_node))}return(0,E.Z)(A,[{key:"judgement",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null==A&&(A=this.analysis_result),-1}},{key:"analyze",value:function(){s.tV.assert("Not available over old interface",!1)}}]),A}(),S=function(A){(0,e.Z)(B,A);var C,I=D(B);function B(A,C,Q,E,e){var i;return(0,g.Z)(this,B),(i=I.call(this,C,Q,E,e,null)).communicator=A,i}return(0,E.Z)(B,[{key:"analyze",value:(C=(0,Q.Z)(h().mark((function A(){var C,I,Q,E;return h().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return C=this.section.toSection(this.for_node,this.for_state),A.next=3,C;case 3:if(void 0!==(C=A.sent)){A.next=6;break}return A.abrupt("return",void 0);case 6:return A.next=8,this.communicator.runAnalysis("MemoryOpAnalysis",[new Number(C.unified_id),new Number(C.supersection_id)]).get();case 8:return I=A.sent,Q=I,E=new k.DataBlock(Q,"MemoryOp"),this.analysis_result=E,E.judgement=this.judgement(),A.abrupt("return",E);case 14:case"end":return A.stop()}}),A,this)}))),function(){return C.apply(this,arguments)})}]),B}(o);function w(A,C,I,Q,E){return C instanceof LazySuperSection?new S(A,C,I,Q):(s.tV.assert("Do not use",!1),new o(C,I,Q,E))}}}]);
-//# sourceMappingURL=306.js.map
\ No newline at end of file
diff --git a/dist/306.js.map b/dist/306.js.map
deleted file mode 100755
index e66bcfc3..00000000
--- a/dist/306.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack://@spcl/sdfv/./renderer_dir/memop_button.js"],"names":["MemoryOpButton","ctx","supersection_all_vec_analyses","path_analysis","baseimgstr","_display_image","databinding","majority","MathHelper","setButtonImage","dataparams","layout","Layout","button_subwindow","setRect","Pos","RU_DataViewText","thread_graph","RU_DataViewBarGraph","type","yAxes","display","position","id","setDataAnalysisFunction","x","write_stall","load_ins","store_ins","data","map","colors","slice","length","datasets","repcount","all_analyses_global","chunksize","ObjectHelper","push","label","yAxisID","backgroundColor","labels","Array","keys","linkMouse","_layout_clickable","changeGraphOptions","options","title","text","scales","find","scaleLabel","labelString","ticks","beginAtZero","xAxes","DataBlock","fontsize","color","align","setDataBinding","setLayout","setOnEnterHover","p","button_subwindow_state","setOnLeaveHover","is_locked_open","setOnClick","mb","setDefaultDblClick","Button","SuperSectionMemoryOpAnalysis","section","nodeid","stateid","critical_path_analysis","this","for_node","for_state","analysis_result","undefined","NaN","Number","analysis","LazySuperSectionMemoryOpAnalysis","communicator","toSection","runAnalysis","unified_id","supersection_id","get","tmp","ret","judgement","AutoSuperSectionMemoryOpAnalysis","LazySuperSection"],"mappings":"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","file":"306.js","sourcesContent":["// Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.\nimport { Button, Layout, Pos, RU_DataViewText, RU_DataViewFormLayout, RU_DataViewNumberBlock, RU_DataViewBarGraph, DataBlock } from \"./renderer_util.js\";\nimport { MathHelper, ObjectHelper } from \"./datahelper.js\";\n\n\nclass MemoryOpButton extends Button {\n constructor(ctx, supersection_all_vec_analyses, path_analysis) {\n super(ctx);\n\n this.supersection_all_vec_analyses = supersection_all_vec_analyses;\n\n const baseimgstr = \"data:image/png;base64,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\";\n this._display_image = {\n \"1\": baseimgstr,\n \"-1\": baseimgstr\n };\n\n let databinding = {};\n\n // This is not really easy to judge because of machine-dependent measures\n // TODO: Find a way to create a judgement value\n let judgements = [1];\n let majority = MathHelper.majority(judgements);\n this.setButtonImage(this._display_image[majority]);\n\n this.dataparams = [supersection_all_vec_analyses, path_analysis]; // Fill in parameters\n\n let layout = new Layout(this.button_subwindow);\n layout.setRect(\"Title\", new Pos(0, 0), new Pos(100, 10), new RU_DataViewText());\n\n \n let thread_graph = new RU_DataViewBarGraph({\n type: 'bar',\n yAxes: [{\n type: \"linear\",\n display: true,\n position: 'left',\n id: 'axis-1'\n }\n ]\n }).setDataAnalysisFunction(x => {\n \n let write_stall = [];\n let load_ins = [];\n let store_ins = [];\n if (x != null) {\n write_stall = x.data.map(x => x.data.write_stall);\n load_ins = x.data.map(x => x.data.load_ins);\n store_ins = x.data.map(x => x.data.store_ins);\n }\n\n\n let colors = RU_DataViewBarGraph.colorList().slice(0, write_stall.length + 1);\n\n let datasets = [];\n // So now we have a mapping of thread -> cycles.\n\n let repcount = supersection_all_vec_analyses.repcount;\n if(all_analyses_global) {\n // We need to group and add\n let chunksize = write_stall.length / repcount;\n\n write_stall = ObjectHelper.createChunks(write_stall, chunksize, MathHelper.sumArray);\n load_ins = ObjectHelper.createChunks(load_ins, chunksize, MathHelper.sumArray);\n store_ins = ObjectHelper.createChunks(store_ins, chunksize, MathHelper.sumArray);\n }\n\n\n // All runs should be identical, so we take the first element from each set\n datasets.push({ label: \"Cycles stalled on writes\", yAxisID: \"axis-1\", data: write_stall[0], backgroundColor: colors[0] });\n datasets.push({ label: \"Load ins\", yAxisID: \"axis-1\", data: load_ins[0], backgroundColor: colors[1] });\n datasets.push({ label: \"Store ins\", yAxisID: \"axis-1\", data: store_ins[0], backgroundColor: colors[2] });\n\n let chartData = {\n labels: [...Array(write_stall[0].length).keys()],\n \"datasets\": datasets,\n\n };\n return chartData;\n }).linkMouse(layout._layout_clickable).changeGraphOptions(x => {\n x.options.title.text = \"Memory operations per thread\";\n x.options.scales.yAxes.find(x => x.id == 'axis-1').scaleLabel = { labelString: \"Operations\", display: true };\n x.options.scales.yAxes.find(x => x.id == 'axis-1').ticks.beginAtZero = true;\n x.options.scales.xAxes = [{ scaleLabel: { labelString: \"Thread\", display: true } }];\n });\n\n layout.setRect(\"Graph\", new Pos(0, 10), new Pos(70, 50), thread_graph);\n\n \n\n databinding[\"Title\"] = new DataBlock({ fontsize: 32, text: \"Memory operations\", color: \"black\", align: \"center\" }, \"Text\");\n databinding['Graph'] = supersection_all_vec_analyses;\n\n layout.setDataBinding(databinding);\n this.button_subwindow.setLayout(layout);\n\n this.setOnEnterHover(p => { this.color = \"#FF0000\"; this.button_subwindow_state = 'open'; })\n this.setOnLeaveHover(p => { this.color = \"orange\"; if (!this.is_locked_open) this.button_subwindow_state = 'collapsed'; })\n this.setOnClick((p, mb) => { this.is_locked_open = !this.is_locked_open; });\n\n this.setDefaultDblClick();\n }\n\n\n\n}\n// Specialized version of the class in datahelper\nclass SuperSectionMemoryOpAnalysis {\n constructor(section, nodeid, stateid, critical_path_analysis) {\n this.section = section;\n this.critical_path_analysis = critical_path_analysis;\n this.for_node = nodeid;\n this.for_state = stateid;\n this.analysis_result = null;\n\n if(!(stateid == 0xFFFF || stateid == 65535))\n ObjectHelper.assert(\"for_node defined\", this.for_node != undefined && new Number(this.for_node) != NaN);\n }\n\n judgement(analysis = null) {\n if (analysis == null) analysis = this.analysis_result;\n\n // TODO: Find a good judgement variable\n return -1;\n }\n\n analyze() {\n ObjectHelper.assert(\"Not available over old interface\", false);\n }\n}\n\nclass LazySuperSectionMemoryOpAnalysis extends SuperSectionMemoryOpAnalysis {\n\n constructor(communicator, section, nodeid, stateid, critical_path_analysis) {\n super(section, nodeid, stateid, critical_path_analysis, null);\n this.communicator = communicator;\n }\n\n async analyze() {\n // We differ from the eager analysis here: We let the python/sql-side do the hard work\n\n // Project to a section from the supersection.\n let section = this.section.toSection(this.for_node, this.for_state);\n section = await section;\n if(section === undefined) {\n return undefined;\n }\n let tmp = await this.communicator.runAnalysis(\"MemoryOpAnalysis\", [new Number(section.unified_id), new Number(section.supersection_id)]).get();\n\n let data = tmp;\n\n let ret = new DataBlock(data, \"MemoryOp\");\n this.analysis_result = ret;\n ret.judgement = this.judgement();\n return ret;\n }\n}\n\nfunction AutoSuperSectionMemoryOpAnalysis(communicator, section, nodeid, stateid, critical_path_analysis) {\n if(section instanceof LazySuperSection) {\n return new LazySuperSectionMemoryOpAnalysis(communicator, section, nodeid, stateid);\n }\n else {\n ObjectHelper.assert(\"Do not use\", false);\n return new SuperSectionMemoryOpAnalysis(section, nodeid, stateid, critical_path_analysis);\n }\n}\n\nexport { MemoryOpButton, AutoSuperSectionMemoryOpAnalysis };"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/626.js b/dist/626.js
deleted file mode 100755
index 2a7c650e..00000000
--- a/dist/626.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunk_spcl_sdfv=self.webpackChunk_spcl_sdfv||[]).push([[626],{6626:(A,g,Q)=>{"use strict";Q.r(g),Q.d(g,{MemoryButton:()=>o});var I=Q(7329),E=Q(6610),C=Q(3349),B=Q(379),t=Q(6070),e=Q(7608),a=Q(4286),n=Q(1318);function i(A,g){var Q;if("undefined"==typeof Symbol||null==A[Symbol.iterator]){if(Array.isArray(A)||(Q=function(A,g){if(A){if("string"==typeof A)return r(A,g);var Q=Object.prototype.toString.call(A).slice(8,-1);return"Object"===Q&&A.constructor&&(Q=A.constructor.name),"Map"===Q||"Set"===Q?Array.from(A):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?r(A,g):void 0}}(A))||g&&A&&"number"==typeof A.length){Q&&(A=Q);var I=0,E=function(){};return{s:E,n:function(){return I>=A.length?{done:!0}:{done:!1,value:A[I++]}},e:function(A){throw A},f:E}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var C,B=!0,t=!1;return{s:function(){Q=A[Symbol.iterator]()},n:function(){var A=Q.next();return B=A.done,A},e:function(A){t=!0,C=A},f:function(){try{B||null==Q.return||Q.return()}finally{if(t)throw C}}}}function r(A,g){(null==g||g>A.length)&&(g=A.length);for(var Q=0,I=new Array(g);Q Do not close this window while instrumented programs are runningHelp for category "+n.type+"
"+n.name+"Instrumentation control
"+t.label+"
")})),n.registerComponent("SettingsComponent",(function(t,n){var r=new k(e,t,n);Re(t.getElement()).load("settings_view.html",(function(){r.get_settings()}))})),n.registerComponent("PerfTimesComponent",(function(t,n){var r=new de(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("InstControlComponent",(function(t,n){var r=new he(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("RooflineComponent",(function(t,n){var r=new Ie(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("SDFGComponent",(function(t,n){var r=new W(e,t,n);r.create_renderer_pane(n.sdfg_data),r.setupEvents(e.getCurrentProject())})),n.registerComponent("TransformationHistoryComponent",(function(t,n){var r=new ie(e,t,n);r.setupEvents(e.getCurrentProject());var i=r.project().getTransformationHistory();r.create(i)})),n.registerComponent("AvailableTransformationsComponent",(function(t,n){var r=new ue(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("CodeInComponent",(function(t,n){var r=new D(e,t,n),i="code_in_"+r.created,o=Re(t.getElement()),s=Re("");o.append(s),o.hide().show(0),function(){var o=s;o.attr("id",i),o.text(n.code_content),o.hide().show(0);var u=ace.edit(s[0]);u.setTheme(a.C.themeString()),u.session.setMode("ace/mode/python"),u.getSession().on("change",(function(){t.extendState({code_content:u.getValue()})})),Le(s[0],(function(e,t){console.log("File dropped",e,t),u.setValue(t),u.clearSelection()})),u.resize(),u.commands.addCommand({name:"Compile",bindKey:{win:"Ctrl-P",mac:"Command-P"},exec:function(e){alert("Compile pressed"),r.compile(e.getValue())},readOnly:!0}),u.commands.addCommand({name:"Compile and Run",bindKey:{win:"Alt-R",mac:"Alt-R"},exec:function(e){alert("Compile & Run pressed"),r.compile_and_run(e.getValue())},readOnly:!0}),r.setEditorReference(u),r.setupEvents(e.getCurrentProject())}()})),n.registerComponent("CodeOutComponent",(function(t,n){var r=new L(e,t,n),i="code_out_"+r.created,o=Re(t.getElement()),s=Re("");o.append(s),o.hide().show(0),function(){var t=s;t.attr("id",i),t.hide().show(0);var n=ace.edit(s[0]);n.setTheme(a.C.themeString()),n.session.setMode("ace/mode/c_cpp"),n.setReadOnly(!0),r.setEditorReference(n),r.setupEvents(e.getCurrentProject());var o=r.getState().code;r.setCode(o),n.resize()}()})),n.registerComponent("ErrorComponent",(function(t,n){var r=new ce(e,t,n),i="error_"+r.created,o=Re(t.getElement()),s=Re("");o.append(s),o.hide().show(0),function(){var t=s;t.attr("id",i),t.hide().show(0);var n=ace.edit(s[0]);n.setTheme(a.C.themeString()),n.session.setMode("ace/mode/python"),r.setEditorReference(n),r.setupEvents(e.getCurrentProject());var o=r.getState().error;r.setError(o),n.resize()}()})),n.registerComponent("TerminalComponent",(function(t,r){var i=new j(e,t,r),o="terminal_"+i.created,s=Re(t.getElement()),u=Re("");s.append(u),s.hide().show(0),u.hide().show(0);var l=ace.edit(u[0]);l.setTheme(a.C.themeString()),l.session.setMode("ace/mode/sh"),l.setReadOnly(!0);var c=i.getState().current_value;void 0!==c&&l.setValue(c),l.clearSelection(),i.setEditorReference(l),console.log("Client listening to",o),n.eventHub.on(o,(function(e){i.append(e)})),i.setupEvents(e.getCurrentProject())})),n.registerComponent("DIODESettingsComponent",(function(t,n){var r=new C(e,t,n),i="diode_settings"+r.created,a=Re(t.getElement()),o=Re("");o.append("DIODE settings
"),r.setContainer(o),a.append(o)})),n.registerComponent("RunConfigComponent",(function(t,n){var r=new fe(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("PropWinComponent",(function(t,n){var r=new $(e,t,n),i=document.createElement("div");i.classList.add("sdfgpropdiv"),i.style="width: 100%; height: 100%",Re(t.getElement()).append(i),r.setupEvents(e.getCurrentProject()),r.createFromState()})),n.registerComponent("StartPageComponent",(function(t,n){var r=new ee(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.registerComponent("RunqueueComponent",(function(t,n){var r=new Y(e,t,n);r.setupEvents(e.getCurrentProject()),r.create()})),n.on("itemDestroyed",(function(e){if(void 0!==e.config.componentState){var t=e.config.componentState.created;n.eventHub.emit("destroy-"+t),console.log("itemDestroyed",e)}})),e.setLayout(n),e.getProject(),n.init(),window.addEventListener("resize",(function(e){n.updateSize()})),document.body.addEventListener("keydown",(function(t){e.onKeyDown(t)})),document.body.addEventListener("keyup",(function(t){e.onKeyUp(t)})),e.addKeyShortcut("gg",(function(){e.groupOptGraph(),e.groupSDFGsAndCodeOutsTogether()})),e.addKeyShortcut("gd",(function(){e.groupLikeDIODE1()})),e.addKeyShortcut("0",(function(){e.open_diode_settings()})),e.addKeyShortcut("r",(function(){e.gatherProjectElementsAndCompile(e,{},{sdfg_over_code:!0})})),e.addKeyShortcut("s",(function(){e.project().save()}),!1,!0),e.setupEvents(),Le(Re("#diode_gl_container")[0].firstChild,(function(t,n){console.log("File dropped",t,n);var r={type:"component",componentName:"CodeInComponent",componentState:{code_content:n}};e.addContentItem(r)}),void 0,{readMode:"text",condition:function(e){return 0==e.childNodes.length}})}();var Ue=function(){function e(){(0,r.Z)(this,e)}return(0,i.Z)(e,null,[{key:"createContainer",value:function(e){var t=document.createElement("div");return t.id=e,t.classList="settings_key_value",Re(t)}},{key:"createHostInput",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["localhost"],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"localhost",i=document.createElement("input");i.type="list",i.id=e;var a=document.getElementById("hosttype-dlist");a||((a=document.createElement("datalist")).id="hosttype-dlist",document.body.appendChild(a)),Re(i).attr("list","hosttype-dlist"),a.innerHTML="";var o,s=De(n);try{for(s.s();!(o=s.n()).done;){var u=o.value;a.innerHTML+='
'+e.string_data.trim()+'':"";if(void 0!==e.approx&&void 0!==e.main)return e.main;if(e.constructor==Object)return''+JSON.stringify(e,void 0,4)+'';if(e.constructor==Array){var m,v="[ ",y=!0,g=i(e);try{for(g.s();!(m=g.n()).done;){var _=m.value;y||(v+=", "),v+=s(_,t),y=!1}}catch(e){g.e(e)}finally{g.f()}return v+" ]"}return e}function u(e){if(e.replace(/\s+/g,""),""===e||"null"===e)return null;if(e.endsWith(")"))if(e.startsWith("vector(")){var t=e.substring(7,e.length-1);if(t){var n=t.lastIndexOf(",");if(n){var r=u(t.substring(0,n)),i=t.substring(n);if(r&&i)return{type:"vector",dtype:r,elements:i}}}}else if(e.startsWith("pointer(")){var a=e.substring(8,e.length-1);if(a)return{type:"pointer",dtype:u(a)}}else if(e.startsWith("opaque(")){var o=e.substring(7,e.length-1);if(o)return{type:"opaque",name:o}}else if(e.startsWith("callback(")){var s=e.substring(9,e.length-1);if(s){var l=s.lastIndexOf(",");if(l){var c=s.substring(0,l);if(c.startsWith("[")&&c.endsWith("]")){var f=c.substring(1,c.length-1).split(","),d=u(s.substring(l)),p=[];if(f&&f.forEach((function(e){p.push(u(e))})),p&&d)return{type:"callback",arguments:p,returntype:d}}}}}return e}function l(e){if(null==e)return"null";if(e.constructor===Object){if(void 0!==e.type)switch(e.type){case"vector":if(void 0!==e.elements&&void 0!==e.dtype)return"vector("+l(e.dtype)+", "+e.elements+")";break;case"pointer":if(void 0!==e.dtype)return"pointer("+l(e.dtype)+")";break;case"opaque":if(void 0!==e.name)return"opaque("+e.name+")";break;case"callback":if(void 0!==e.arguments){for(var t="callback([",n=0;n{var{typed:t}=e;return function(e,r,i){var a,o=e._data,s=e._size,u=e._datatype,l=r._data,c=r._size,f=r._datatype,d=[];if(s.length!==c.length)throw new Xe.m(s.length,c.length);for(var p=0;p {var{typed:t,DenseMatrix:n}=e;return function(e,r,i,a){var o=e._values,s=e._index,u=e._ptr,l=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var f,d=l[0],p=l[1],h=i;"string"==typeof c&&(f=c,r=t.convert(r,f),h=t.find(i,[f,f]));for(var m=[],v=[],y=[],g=0;g {var{typed:t,matrix:n,equalScalar:r,DenseMatrix:i}=e,a=So({typed:t,equalScalar:r}),o=ko({typed:t}),s=Co({typed:t,equalScalar:r}),u=To({typed:t,equalScalar:r}),l=Do({typed:t,DenseMatrix:i}),c=_o({typed:t}),f=xo({typed:t});return t("mod",{"number, number":rn,"BigNumber, BigNumber":function(e,t){if(t.isNeg())throw new Error("Cannot calculate mod for a negative divisor");return t.isZero()?e:e.mod(t)},"Fraction, Fraction":function(e,t){if(t.compare(0)<0)throw new Error("Cannot calculate mod for a negative divisor");return e.compare(0)>=0?e.mod(t):e.mod(t).add(t).mod(t)},"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return c(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return u(e,t,this,!1)},"DenseMatrix, any":function(e,t){return f(e,t,this,!1)},"any, SparseMatrix":function(e,t){return l(t,e,this,!0)},"any, DenseMatrix":function(e,t){return f(t,e,this,!0)},"Array, any":function(e,t){return f(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return f(n(t),e,this,!0).valueOf()}})})),Ro=["typed","equalScalar"],Lo=(0,i.d5)("algorithm06",Ro,(e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._size,s=e._datatype,u=r._values,l=r._size,c=r._datatype;if(o.length!==l.length)throw new Xe.m(o.length,l.length);if(o[0]!==l[0]||o[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+l+")");var f,d=o[0],p=o[1],h=n,m=0,v=i;"string"==typeof s&&s===c&&(f=s,h=t.find(n,[f,f]),m=t.convert(0,f),v=t.find(i,[f,f]));for(var y=a&&u?[]:void 0,g=[],_=[],b=y?[]:void 0,x=[],w=[],E=0;E {var{typed:t,matrix:n,equalScalar:r,BigNumber:i}=e,a=po({typed:t}),o=So({typed:t,equalScalar:r}),s=Lo({typed:t,equalScalar:r}),u=To({typed:t,equalScalar:r}),l=_o({typed:t}),c=xo({typed:t}),f="Complex number not supported in function nthRoot. Use nthRoots instead.";return t(Bo,{number:function(e){return an(e,2)},"number, number":an,BigNumber:function(e){return d(e,new i(2))},Complex:function(e){throw new Error(f)},"Complex, number":function(e,t){throw new Error(f)},"BigNumber, BigNumber":d,"Array | Matrix":function(e){return this(e,2)},"SparseMatrix, SparseMatrix":function(e,t){if(1===t.density())return s(e,t,this);throw new Error("Root must be non-zero")},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){if(1===t.density())return a(e,t,this,!1);throw new Error("Root must be non-zero")},"DenseMatrix, DenseMatrix":function(e,t){return l(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return u(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return c(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){if(1===t.density())return u(t,e,this,!0);throw new Error("Root must be non-zero")},"number | BigNumber, DenseMatrix":function(e,t){return c(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return this(n(e),t).valueOf()},"number | BigNumber, Array":function(e,t){return this(e,n(t)).valueOf()}});function d(e,t){var n=i.precision,r=i.clone({precision:n+2}),a=new i(0),o=new r(1),s=t.isNegative();if(s&&(t=t.neg()),t.isZero())throw new Error("Root must be non-zero");if(e.isNegative()&&!t.abs().mod(2).equals(1))throw new Error("Root must be odd when a is negative.");if(e.isZero())return s?new r(1/0):0;if(!e.isFinite())return s?a:e;var u=e.abs().pow(o.div(t));return u=e.isNeg()?u.neg():u,new i((s?o.div(u):u).toPrecision(n))}})),zo="xgcd",Fo=["typed","config","matrix","BigNumber"],Ho=(0,i.d5)(zo,Fo,(e=>{var{typed:t,config:n,matrix:r,BigNumber:i}=e;return t(zo,{"number, number":function(e,t){var i=un(e,t);return"Array"===n.matrix?i:r(i)},"BigNumber, BigNumber":function(e,t){var a,o,s,u,l=new i(0),c=new i(1),f=l,d=c,p=c,h=l;if(!e.isInt()||!t.isInt())throw new Error("Parameters in function xgcd must be integer numbers");for(;!t.isZero();)o=e.div(t).floor(),s=e.mod(t),a=f,f=d.minus(o.times(f)),d=a,a=p,p=h.minus(o.times(p)),h=a,e=t,t=s;return u=e.lt(l)?[e.neg(),d.neg(),h.neg()]:[e,e.isZero()?0:d,h],"Array"===n.matrix?u:r(u)}})})),Zo="bitAnd",Wo=["typed","matrix","equalScalar"],Go=(0,i.d5)(Zo,Wo,(e=>{var{typed:t,matrix:n,equalScalar:r}=e,i=So({typed:t,equalScalar:r}),a=Lo({typed:t,equalScalar:r}),o=To({typed:t,equalScalar:r}),s=_o({typed:t}),u=xo({typed:t});return t(Zo,{"number, number":qn,"BigNumber, BigNumber":Tn,"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return o(e,t,this,!1)},"DenseMatrix, any":function(e,t){return u(e,t,this,!1)},"any, SparseMatrix":function(e,t){return o(t,e,this,!0)},"any, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, any":function(e,t){return u(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,this,!0).valueOf()}})})),Jo=["typed","DenseMatrix"],$o=(0,i.d5)("algorithm07",Jo,(e=>{var{typed:t,DenseMatrix:n}=e;return function(e,i,a){var o=e._size,s=e._datatype,u=i._size,l=i._datatype;if(o.length!==u.length)throw new Xe.m(o.length,u.length);if(o[0]!==u[0]||o[1]!==u[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+u+")");var c,f,d,p=o[0],h=o[1],m=0,v=a;"string"==typeof s&&s===l&&(c=s,m=t.convert(0,c),v=t.find(a,[c,c]));var y=[];for(f=0;f {var{typed:t,matrix:n,DenseMatrix:r}=e,i=ko({typed:t}),a=$o({typed:t,DenseMatrix:r}),o=Do({typed:t,DenseMatrix:r}),s=_o({typed:t}),u=xo({typed:t});return t(Vo,{"number, number":Hn,"BigNumber, BigNumber":Rn,"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return o(e,t,this,!1)},"DenseMatrix, any":function(e,t){return u(e,t,this,!1)},"any, SparseMatrix":function(e,t){return o(t,e,this,!0)},"any, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, any":function(e,t){return u(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,this,!0).valueOf()}})})),Xo=["typed","matrix","equalScalar","DenseMatrix"],Qo=(0,i.d5)("or",Xo,(e=>{var{typed:t,matrix:n,equalScalar:r,DenseMatrix:i}=e,a=ko({typed:t}),o=Co({typed:t,equalScalar:r}),s=Do({typed:t,DenseMatrix:i}),u=_o({typed:t}),l=xo({typed:t});return t("or",{"number, number":nr,"Complex, Complex":function(e,t){return 0!==e.re||0!==e.im||0!==t.re||0!==t.im},"BigNumber, BigNumber":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},"Unit, Unit":function(e,t){return this(e.value||0,t.value||0)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(n(t),e,this,!0).valueOf()}})})),es="diag",ts=["typed","matrix","DenseMatrix","SparseMatrix"],ns=(0,i.d5)(es,ts,(e=>{var{typed:t,matrix:n,DenseMatrix:r,SparseMatrix:i}=e;return t(es,{Array:function(e){return a(e,0,(0,Ve.aJ)(e),null)},"Array, number":function(e,t){return a(e,t,(0,Ve.aJ)(e),null)},"Array, BigNumber":function(e,t){return a(e,t.toNumber(),(0,Ve.aJ)(e),null)},"Array, string":function(e,t){return a(e,0,(0,Ve.aJ)(e),t)},"Array, number, string":function(e,t,n){return a(e,t,(0,Ve.aJ)(e),n)},"Array, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),(0,Ve.aJ)(e),n)},Matrix:function(e){return a(e,0,e.size(),e.storage())},"Matrix, number":function(e,t){return a(e,t,e.size(),e.storage())},"Matrix, BigNumber":function(e,t){return a(e,t.toNumber(),e.size(),e.storage())},"Matrix, string":function(e,t){return a(e,0,e.size(),t)},"Matrix, number, string":function(e,t,n){return a(e,t,e.size(),n)},"Matrix, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),e.size(),n)}});function a(e,t,a,o){if(!(0,u.U)(t))throw new TypeError("Second parameter in function diag must be an integer");var s=t>0?t:0,c=t<0?-t:0;switch(a.length){case 1:return function(e,t,n,a,o,s){var u=[a+o,a+s];if(n&&"sparse"!==n&&"dense"!==n)throw new TypeError("Unknown matrix type ".concat(n,'"'));var l="sparse"===n?i.diagonal(u,e,t):r.diagonal(u,e,t);return null!==n?l:l.valueOf()}(e,t,o,a[0],c,s);case 2:return function(e,t,r,i,a,o){if((0,l.SW)(e)){var s=e.diagonal(t);return null!==r?r!==s.storage()?n(s,r):s:s.valueOf()}for(var u=Math.min(i[0]-a,i[1]-o),c=[],f=0;f{var{typed:t,config:n,matrix:r,BigNumber:i,DenseMatrix:a,SparseMatrix:o}=e;return t(rs,{"":function(){return"Matrix"===n.matrix?r([]):[]},string:function(e){return r(e)},"number | BigNumber":function(e){return c(e,e,"Matrix"===n.matrix?"dense":void 0)},"number | BigNumber, string":function(e,t){return c(e,e,t)},"number | BigNumber, number | BigNumber":function(e,t){return c(e,t,"Matrix"===n.matrix?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(e,t,n){return c(e,t,n)},Array:function(e){return s(e)},"Array, string":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},"Matrix, string":function(e,t){return s(e.valueOf(),t)}});function s(e,t){switch(e.length){case 0:return t?r(t):[];case 1:return c(e[0],e[0],t);case 2:return c(e[0],e[1],t);default:throw new Error("Vector containing two values expected")}}function c(e,t,n){var r=(0,l.l9)(e)||(0,l.l9)(t)?i:null;if((0,l.l9)(e)&&(e=e.toNumber()),(0,l.l9)(t)&&(t=t.toNumber()),!(0,u.U)(e)||e<1)throw new Error("Parameters in function identity must be positive integers");if(!(0,u.U)(t)||t<1)throw new Error("Parameters in function identity must be positive integers");var s=r?new i(1):1,c=r?new r(0):0,f=[e,t];if(n){if("sparse"===n)return o.diagonal(f,s,0,c);if("dense"===n)return a.diagonal(f,s,0,c);throw new TypeError('Unknown matrix type "'.concat(n,'"'))}for(var d=(0,Ve.SI)([],f,c),p=el)break}return u}throw new RangeError("Matrix must be square (size: "+(0,Ke.WU)(a)+")")},DenseMatrix:i,any:Ye.d9});function i(e){var t=e._size,n=e._data;switch(t.length){case 1:if(1===t[0])return(0,Ye.d9)(n[0]);throw new RangeError("Matrix must be square (size: "+(0,Ke.WU)(t)+")");case 2:var i=t[0];if(i===t[1]){for(var a=0,o=0;o{var{typed:t,add:n,multiply:r,partitionSelect:i,compare:a}=e;function o(e,t,o){var u=(0,Ve.xH)(e),c=u.length;if(0===c)throw new Error("Cannot calculate quantile of an empty sequence");if((0,l.hj)(t)){var f=t*(c-1),d=f%1;if(0===d){var p=o?u[f]:i(u,f);return s(p),p}var h,m,v=Math.floor(f);if(o)h=u[v],m=u[v+1];else{m=i(u,v+1),h=u[v];for(var y=0;y0&&e.forEach(0,n-1,(function(t,n){d._forEachRow(t,g,_,b,(function(r,i){r>t&&e.accumulate(r,c(o(i,n)))}))}));var O,C,A,T,I=n,D=e.get(n),P=r(D);e.forEach(n+1,s-1,(function(e,t){var n=r(t);u(n,P)&&(I=e,P=n,D=t)})),n!==I&&(d._swapRows(n,I,x[1],g,_,b),d._swapRows(n,I,S[1],w,E,N),e.swap(n,I),C=I,A=k[O=n],T=k[C],M[A]=C,M[T]=O,k[O]=T,k[C]=A),e.forEach(0,s-1,(function(e,t){e<=n?(w.push(t),E.push(e)):(t=a(t,D),l(t,0)||(g.push(t),_.push(e)))}))};for(n=0;n{var{divideScalar:t,multiply:n,subtract:r}=e;return function(e,i,a,o,s,u,l){var c,f,d,p,h=e._values,m=e._index,v=e._ptr,y=e._size[1],g=i._values,_=i._index,b=i._ptr,x=function(e,t,n,r,i){var a,o,s,u=e._ptr,l=e._size,c=t._index,f=t._ptr,d=l[1],p=d;for(o=f[n],s=f[n+1],a=o;a{var{abs:t,divideScalar:n,multiply:r,subtract:i,larger:a,largerEq:o,SparseMatrix:s}=e,u=Zf({divideScalar:n,multiply:r,subtract:i});return function(e,i,l){if(!e)return null;var c,f=e._size[1],d=100,p=100;i&&(c=i.q,d=i.lnz||d,p=i.unz||p);var h,m,v=[],y=[],g=[],_=new s({values:v,index:y,ptr:g,size:[f,f]}),b=[],x=[],w=[],E=new s({values:b,index:x,ptr:w,size:[f,f]}),N=[],S=[],M=[];for(h=0;h