first simple part of the interpreter finished
Some checks failed
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.10) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.6) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, pre) (push) Has been cancelled
Some checks failed
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.10) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.6) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, pre) (push) Has been cancelled
This commit is contained in:
parent
6b7a4b4bca
commit
f1f8c3b2a4
2
Ressources.txt
Normal file
2
Ressources.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
https://www.markussteinberger.net/papers/DynMemory.pdf
|
||||||
|
- Shows the performance impact of dynamically allocating Memory for different allocators (including the CUDA internal which I am using. Might be a topic for "Future Work" so as in the future, one could look into another allocator to gain more performance)
|
Binary file not shown.
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 114 KiB |
|
@ -1,313 +1,313 @@
|
||||||
<mxfile host="app.diagrams.net" modified="2024-07-24T12:37:01.199Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0" etag="LhDBOwM3VCB9XBT4hWlF" version="24.5.4" type="device">
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0" version="24.7.4">
|
||||||
<diagram name="Page-1" id="gpsZjoig8lt5hVv5Hzwz">
|
<diagram name="Page-1" id="gpsZjoig8lt5hVv5Hzwz">
|
||||||
<mxGraphModel dx="1604" dy="920" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
<mxGraphModel dx="1195" dy="652" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
||||||
<root>
|
<root>
|
||||||
<mxCell id="0" />
|
<mxCell id="0" />
|
||||||
<mxCell id="1" parent="0" />
|
<mxCell id="1" parent="0" />
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-13" value="" style="group" vertex="1" connectable="0" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-13" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||||
<mxGeometry x="520" y="360" width="240" height="40" as="geometry" />
|
<mxGeometry x="520" y="360" width="240" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="9Xn2HrUYLFHSwPnNgvM3-13">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="9Xn2HrUYLFHSwPnNgvM3-13" vertex="1">
|
||||||
<mxGeometry width="240" height="40" as="geometry" />
|
<mxGeometry width="240" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-2" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-13" source="9Xn2HrUYLFHSwPnNgvM3-1" target="9Xn2HrUYLFHSwPnNgvM3-1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-2" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-13" source="9Xn2HrUYLFHSwPnNgvM3-1" target="9Xn2HrUYLFHSwPnNgvM3-1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="40" y="60" as="sourcePoint" />
|
<mxPoint x="40" y="60" as="sourcePoint" />
|
||||||
<mxPoint x="90" y="10" as="targetPoint" />
|
<mxPoint x="90" y="10" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-3" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-13">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-3" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-13" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="80" y="40" as="sourcePoint" />
|
<mxPoint x="80" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="80" as="targetPoint" />
|
<mxPoint x="80" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-4" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-13">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-4" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-13" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="119.89999999999998" y="40" as="sourcePoint" />
|
<mxPoint x="119.89999999999998" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="119.89999999999998" as="targetPoint" />
|
<mxPoint x="119.89999999999998" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-5" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-13">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-5" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-13" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="160" y="40" as="sourcePoint" />
|
<mxPoint x="160" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="160" as="targetPoint" />
|
<mxPoint x="160" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-6" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-13">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-6" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-13" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="200" y="40" as="sourcePoint" />
|
<mxPoint x="200" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="200" as="targetPoint" />
|
<mxPoint x="200" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-14" value="" style="group" vertex="1" connectable="0" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-14" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||||
<mxGeometry x="880" y="360" width="240" height="40" as="geometry" />
|
<mxGeometry x="880" y="360" width="240" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-7" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-7" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="9Xn2HrUYLFHSwPnNgvM3-14" vertex="1">
|
||||||
<mxGeometry width="240" height="40" as="geometry" />
|
<mxGeometry width="240" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-8" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="9Xn2HrUYLFHSwPnNgvM3-7" target="9Xn2HrUYLFHSwPnNgvM3-7" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-8" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-14" source="9Xn2HrUYLFHSwPnNgvM3-7" target="9Xn2HrUYLFHSwPnNgvM3-7" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="40" y="60" as="sourcePoint" />
|
<mxPoint x="40" y="60" as="sourcePoint" />
|
||||||
<mxPoint x="90" y="10" as="targetPoint" />
|
<mxPoint x="90" y="10" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-9" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-9" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-14" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="80" y="40" as="sourcePoint" />
|
<mxPoint x="80" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="80" as="targetPoint" />
|
<mxPoint x="80" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-10" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-10" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-14" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="119.89999999999998" y="40" as="sourcePoint" />
|
<mxPoint x="119.89999999999998" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="119.89999999999998" as="targetPoint" />
|
<mxPoint x="119.89999999999998" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-11" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-11" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-14" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="160" y="40" as="sourcePoint" />
|
<mxPoint x="160" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="160" as="targetPoint" />
|
<mxPoint x="160" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-12" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="9Xn2HrUYLFHSwPnNgvM3-14">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-12" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9Xn2HrUYLFHSwPnNgvM3-14" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="200" y="40" as="sourcePoint" />
|
<mxPoint x="200" y="40" as="sourcePoint" />
|
||||||
<mxPoint x="200" as="targetPoint" />
|
<mxPoint x="200" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-37" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-37" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="520" width="200" height="40" as="geometry" />
|
<mxGeometry x="920" y="520" width="200" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-39" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-39" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1000" y="520" as="sourcePoint" />
|
<mxPoint x="1000" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="1040" y="520" as="targetPoint" />
|
<mxPoint x="1040" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-40" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-40" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1000" y="560" as="sourcePoint" />
|
<mxPoint x="1000" y="560" as="sourcePoint" />
|
||||||
<mxPoint x="1040" y="560" as="targetPoint" />
|
<mxPoint x="1040" y="560" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-41" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-41" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1000" y="600" as="sourcePoint" />
|
<mxPoint x="1000" y="600" as="sourcePoint" />
|
||||||
<mxPoint x="1040" y="600" as="targetPoint" />
|
<mxPoint x="1040" y="600" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-57" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-57" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1000" y="480" as="sourcePoint" />
|
<mxPoint x="1000" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="1040" y="480" as="targetPoint" />
|
<mxPoint x="1040" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-23" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-23" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="820" y="540" width="240" height="40" as="geometry" />
|
<mxGeometry x="820" y="540" width="240" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-25" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-25" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="920" y="520" as="sourcePoint" />
|
<mxPoint x="920" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="960" y="520" as="targetPoint" />
|
<mxPoint x="960" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-26" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-26" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="920" y="560" as="sourcePoint" />
|
<mxPoint x="920" y="560" as="sourcePoint" />
|
||||||
<mxPoint x="960" y="560" as="targetPoint" />
|
<mxPoint x="960" y="560" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-27" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-27" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="920" y="600" as="sourcePoint" />
|
<mxPoint x="920" y="600" as="sourcePoint" />
|
||||||
<mxPoint x="960" y="600" as="targetPoint" />
|
<mxPoint x="960" y="600" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-28" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-28" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="920" y="640" as="sourcePoint" />
|
<mxPoint x="920" y="640" as="sourcePoint" />
|
||||||
<mxPoint x="960" y="640" as="targetPoint" />
|
<mxPoint x="960" y="640" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-16" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-16" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="820" y="500" width="160" height="40" as="geometry" />
|
<mxGeometry x="820" y="500" width="160" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-18" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-18" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="880" y="520" as="sourcePoint" />
|
<mxPoint x="880" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="920" y="520" as="targetPoint" />
|
<mxPoint x="920" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-19" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-19" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="880" y="560" as="sourcePoint" />
|
<mxPoint x="880" y="560" as="sourcePoint" />
|
||||||
<mxPoint x="920" y="560" as="targetPoint" />
|
<mxPoint x="920" y="560" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-20" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-20" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="880" y="600" as="sourcePoint" />
|
<mxPoint x="880" y="600" as="sourcePoint" />
|
||||||
<mxPoint x="920" y="600" as="targetPoint" />
|
<mxPoint x="920" y="600" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-30" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-30" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="940" y="460" width="80" height="40" as="geometry" />
|
<mxGeometry x="940" y="460" width="80" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="960" y="520" as="sourcePoint" />
|
<mxPoint x="960" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="1000" y="520" as="targetPoint" />
|
<mxPoint x="1000" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-44" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-44" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1040" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="1040" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-51" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-51" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1040" y="480" width="120" height="40" as="geometry" />
|
<mxGeometry x="1040" y="480" width="120" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-53" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-53" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1080" y="520" as="sourcePoint" />
|
<mxPoint x="1080" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="1120" y="520" as="targetPoint" />
|
<mxPoint x="1120" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-58" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-58" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="880" y="480" as="sourcePoint" />
|
<mxPoint x="880" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="920" y="480" as="targetPoint" />
|
<mxPoint x="920" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-59" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-59" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="920" y="480" as="sourcePoint" />
|
<mxPoint x="920" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="960" y="480" as="targetPoint" />
|
<mxPoint x="960" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-60" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-60" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="960" y="480" as="sourcePoint" />
|
<mxPoint x="960" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="1000" y="480" as="targetPoint" />
|
<mxPoint x="1000" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-61" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-61" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1040" y="480" as="sourcePoint" />
|
<mxPoint x="1040" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="1080" y="480" as="targetPoint" />
|
<mxPoint x="1080" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-62" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-62" value="" style="endArrow=none;html=1;rounded=0;exitX=0.167;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.167;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1080" y="480" as="sourcePoint" />
|
<mxPoint x="1080" y="480" as="sourcePoint" />
|
||||||
<mxPoint x="1120" y="480" as="targetPoint" />
|
<mxPoint x="1120" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-64" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-64" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="899.83" y="400" as="sourcePoint" />
|
<mxPoint x="899.83" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="899.83" y="440" as="targetPoint" />
|
<mxPoint x="899.83" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-65" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-65" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="939.6700000000001" y="400" as="sourcePoint" />
|
<mxPoint x="939.6700000000001" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="939.6700000000001" y="440" as="targetPoint" />
|
<mxPoint x="939.6700000000001" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-66" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-66" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="979.83" y="400" as="sourcePoint" />
|
<mxPoint x="979.83" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="979.83" y="440" as="targetPoint" />
|
<mxPoint x="979.83" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-67" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-67" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1019.6700000000001" y="400" as="sourcePoint" />
|
<mxPoint x="1019.6700000000001" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="1019.6700000000001" y="440" as="targetPoint" />
|
<mxPoint x="1019.6700000000001" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-68" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-68" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1059.8300000000002" y="400" as="sourcePoint" />
|
<mxPoint x="1059.8300000000002" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="1059.8300000000002" y="440" as="targetPoint" />
|
<mxPoint x="1059.8300000000002" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-69" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-69" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="1099.8300000000002" y="400" as="sourcePoint" />
|
<mxPoint x="1099.8300000000002" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="1099.8300000000002" y="440" as="targetPoint" />
|
<mxPoint x="1099.8300000000002" y="440" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-70" value="Parameters" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-70" value="Parameters" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="810" y="370" width="70" height="20" as="geometry" />
|
<mxGeometry x="810" y="370" width="70" height="20" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-71" value="Variable Matrix" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-71" value="Variable Matrix" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="450" y="520" width="70" height="40" as="geometry" />
|
<mxGeometry x="470" y="540" width="70" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-79" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-79" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="880" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="880" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-80" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-80" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="880" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="880" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-81" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-81" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="880" y="520" width="40" height="40" as="geometry" />
|
<mxGeometry x="880" y="520" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-82" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-82" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="880" y="560" width="40" height="40" as="geometry" />
|
<mxGeometry x="880" y="560" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-83" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-83" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-84" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-84" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-85" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-85" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="520" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="520" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-86" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-86" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="560" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="560" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-87" value="<div>p5</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-87" value="<div>p5</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="600" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="600" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-88" value="p6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-88" value="p6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="920" y="640" width="40" height="40" as="geometry" />
|
<mxGeometry x="920" y="640" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-89" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-89" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="960" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="960" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-90" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-90" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="960" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="960" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-91" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-91" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1000" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="1000" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-92" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-92" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1000" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="1000" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-93" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-93" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1000" y="520" width="40" height="40" as="geometry" />
|
<mxGeometry x="1000" y="520" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-94" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-94" value="p4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1000" y="560" width="40" height="40" as="geometry" />
|
<mxGeometry x="1000" y="560" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-95" value="<div>p5</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-95" value="<div>p5</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1000" y="600" width="40" height="40" as="geometry" />
|
<mxGeometry x="1000" y="600" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-96" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-96" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1040" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="1040" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-97" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-97" value="p1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1080" y="440" width="40" height="40" as="geometry" />
|
<mxGeometry x="1080" y="440" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-98" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-98" value="p2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1080" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="1080" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-99" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-99" value="p3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry x="1080" y="520" width="40" height="40" as="geometry" />
|
<mxGeometry x="1080" y="520" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-100" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="9Xn2HrUYLFHSwPnNgvM3-1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-100" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="9Xn2HrUYLFHSwPnNgvM3-1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="540" y="321" as="sourcePoint" />
|
<mxPoint x="540" y="321" as="sourcePoint" />
|
||||||
<mxPoint x="900" y="360" as="targetPoint" />
|
<mxPoint x="900" y="360" as="targetPoint" />
|
||||||
|
@ -317,7 +317,7 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-101" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-101" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="580" y="360" as="sourcePoint" />
|
<mxPoint x="580" y="360" as="sourcePoint" />
|
||||||
<mxPoint x="940" y="360" as="targetPoint" />
|
<mxPoint x="940" y="360" as="targetPoint" />
|
||||||
|
@ -327,7 +327,7 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-102" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-102" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="620" y="360" as="sourcePoint" />
|
<mxPoint x="620" y="360" as="sourcePoint" />
|
||||||
<mxPoint x="980" y="360" as="targetPoint" />
|
<mxPoint x="980" y="360" as="targetPoint" />
|
||||||
|
@ -337,7 +337,7 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-103" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-103" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="660" y="360" as="sourcePoint" />
|
<mxPoint x="660" y="360" as="sourcePoint" />
|
||||||
<mxPoint x="1020" y="360" as="targetPoint" />
|
<mxPoint x="1020" y="360" as="targetPoint" />
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-104" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-104" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="700" y="360" as="sourcePoint" />
|
<mxPoint x="700" y="360" as="sourcePoint" />
|
||||||
<mxPoint x="1060" y="360" as="targetPoint" />
|
<mxPoint x="1060" y="360" as="targetPoint" />
|
||||||
|
@ -357,7 +357,7 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-105" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-105" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" parent="1" edge="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="740" y="360" as="sourcePoint" />
|
<mxPoint x="740" y="360" as="sourcePoint" />
|
||||||
<mxPoint x="1100" y="360" as="targetPoint" />
|
<mxPoint x="1100" y="360" as="targetPoint" />
|
||||||
|
@ -367,135 +367,130 @@
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-107" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-107" value="" style="rounded=0;whiteSpace=wrap;html=1;direction=south;" parent="1" vertex="1">
|
||||||
<mxGeometry x="520" y="480" width="160" height="120" as="geometry" />
|
<mxGeometry x="560" y="480" width="120" height="160" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-109" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-109" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1" source="9Xn2HrUYLFHSwPnNgvM3-117">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="520" y="520" as="sourcePoint" />
|
<mxPoint x="720" y="520" as="sourcePoint" />
|
||||||
<mxPoint x="680" y="520" as="targetPoint" />
|
<mxPoint x="560" y="520" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-110" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-110" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1" source="9Xn2HrUYLFHSwPnNgvM3-123">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="639.66" y="480" as="sourcePoint" />
|
<mxPoint x="640" y="599.31" as="sourcePoint" />
|
||||||
<mxPoint x="639.66" y="599.31" as="targetPoint" />
|
<mxPoint x="640" y="480" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-111" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-111" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1" source="9Xn2HrUYLFHSwPnNgvM3-119">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="560" y="480" as="sourcePoint" />
|
<mxPoint x="599.52" y="600" as="sourcePoint" />
|
||||||
<mxPoint x="560" y="599.31" as="targetPoint" />
|
<mxPoint x="599.52" y="480.69000000000005" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-112" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-114" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1" source="9Xn2HrUYLFHSwPnNgvM3-117">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="599.66" y="480.69" as="sourcePoint" />
|
<mxPoint x="720" y="559.76" as="sourcePoint" />
|
||||||
<mxPoint x="599.66" y="600" as="targetPoint" />
|
<mxPoint x="560" y="559.76" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-114" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-115" value="Expressions" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
||||||
<mxPoint x="520" y="560" as="sourcePoint" />
|
|
||||||
<mxPoint x="680" y="560" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-115" value="Expressions" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="450" y="370" width="70" height="20" as="geometry" />
|
<mxGeometry x="450" y="370" width="70" height="20" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-116" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-116" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
<mxGeometry x="520" y="480" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-117" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="560" y="480" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-118" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="600" y="480" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-119" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="640" y="480" width="40" height="40" as="geometry" />
|
<mxGeometry x="640" y="480" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-120" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-117" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
<mxGeometry x="520" y="520" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-121" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="560" y="520" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-122" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="600" y="520" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-123" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="640" y="520" width="40" height="40" as="geometry" />
|
<mxGeometry x="640" y="520" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-124" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-118" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
<mxGeometry x="520" y="560" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-125" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="560" y="560" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-126" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="600" y="560" width="40" height="40" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-127" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
|
||||||
<mxGeometry x="640" y="560" width="40" height="40" as="geometry" />
|
<mxGeometry x="640" y="560" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-140" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="9Xn2HrUYLFHSwPnNgvM3-1" target="9Xn2HrUYLFHSwPnNgvM3-119">
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-119" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="600" y="600" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-120" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="600" y="480" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-121" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="600" y="520" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-122" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="600" y="560" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-123" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="640" y="600" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-124" value="x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="480" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-125" value="x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="520" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-126" value="x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="560" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-127" value="x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;direction=south;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="600" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-1" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="9Xn2HrUYLFHSwPnNgvM3-118">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="540" y="440" as="sourcePoint" />
|
<mxPoint x="720" y="600" as="sourcePoint" />
|
||||||
<mxPoint x="760" y="520" as="targetPoint" />
|
<mxPoint x="560" y="600" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-2" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="540" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="580" y="480" as="targetPoint" />
|
||||||
<Array as="points">
|
<Array as="points">
|
||||||
<mxPoint x="540" y="440" />
|
<mxPoint x="540" y="440" />
|
||||||
<mxPoint x="700" y="440" />
|
<mxPoint x="580" y="440" />
|
||||||
<mxPoint x="700" y="500" />
|
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-141" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="9Xn2HrUYLFHSwPnNgvM3-123">
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-3" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="700" y="500" as="sourcePoint" />
|
<mxPoint x="580" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="760" y="520" as="targetPoint" />
|
<mxPoint x="620" y="480" as="targetPoint" />
|
||||||
<Array as="points">
|
<Array as="points">
|
||||||
<mxPoint x="700" y="540" />
|
<mxPoint x="580" y="440" />
|
||||||
|
<mxPoint x="620" y="440" />
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-142" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-4" value="" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="700" y="540" as="sourcePoint" />
|
<mxPoint x="620" y="400" as="sourcePoint" />
|
||||||
<mxPoint x="680" y="580" as="targetPoint" />
|
<mxPoint x="660" y="480" as="targetPoint" />
|
||||||
<Array as="points">
|
<Array as="points">
|
||||||
<mxPoint x="700" y="580" />
|
<mxPoint x="620" y="440" />
|
||||||
|
<mxPoint x="660" y="440" />
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-144" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-5" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="580" y="440" as="sourcePoint" />
|
<mxPoint x="660" y="470" as="sourcePoint" />
|
||||||
<mxPoint x="579.83" y="400" as="targetPoint" />
|
<mxPoint x="660" y="400" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-145" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-9" value="" style="endArrow=none;html=1;rounded=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" target="9Xn2HrUYLFHSwPnNgvM3-1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
||||||
<mxPoint x="620" y="440" as="sourcePoint" />
|
|
||||||
<mxPoint x="619.83" y="400" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-146" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="660" y="440" as="sourcePoint" />
|
<mxPoint x="660" y="440" as="sourcePoint" />
|
||||||
<mxPoint x="659.83" y="400" as="targetPoint" />
|
<mxPoint x="710" y="403.5" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="700" y="440" />
|
||||||
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-147" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
<mxCell id="J6L5rIkjYbQ64Ew3ZQAR-10" value="" style="endArrow=none;html=1;rounded=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
||||||
<mxPoint x="700" y="460" as="sourcePoint" />
|
|
||||||
<mxPoint x="700" y="400" as="targetPoint" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="9Xn2HrUYLFHSwPnNgvM3-149" value="" style="endArrow=none;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1">
|
|
||||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="700" y="440" as="sourcePoint" />
|
<mxPoint x="700" y="440" as="sourcePoint" />
|
||||||
<mxPoint x="740" y="400" as="targetPoint" />
|
<mxPoint x="740" y="400" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="740" y="440" />
|
||||||
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
</root>
|
</root>
|
||||||
|
|
|
@ -5,6 +5,7 @@ version = "1.0.0-DEV"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
|
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
|
||||||
|
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
|
||||||
|
|
||||||
[compat]
|
[compat]
|
||||||
julia = "1.6.7"
|
julia = "1.6.7"
|
||||||
|
|
|
@ -3,11 +3,11 @@ module ExpressionProcessing
|
||||||
export expr_to_postfix
|
export expr_to_postfix
|
||||||
export PostfixType
|
export PostfixType
|
||||||
export Operator, ADD, SUBTRACT, MULTIPLY, DIVIDE, POWER, ABS, LOG, EXP, SQRT
|
export Operator, ADD, SUBTRACT, MULTIPLY, DIVIDE, POWER, ABS, LOG, EXP, SQRT
|
||||||
export ElementType, EMPTY, FLOAT64, OPERATOR, INT64
|
export ElementType, EMPTY, FLOAT64, OPERATOR, INDEX
|
||||||
export ExpressionElement
|
export ExpressionElement
|
||||||
|
|
||||||
@enum Operator::Int64 ADD=1 SUBTRACT=2 MULTIPLY=3 DIVIDE=4 POWER=5 ABS=6 LOG=7 EXP=8 SQRT=9
|
@enum Operator::Int64 ADD=1 SUBTRACT=2 MULTIPLY=3 DIVIDE=4 POWER=5 ABS=6 LOG=7 EXP=8 SQRT=9
|
||||||
@enum ElementType EMPTY=0 FLOAT64=1 OPERATOR=2 INT64=3
|
@enum ElementType EMPTY=0 FLOAT64=1 OPERATOR=2 INDEX=3
|
||||||
|
|
||||||
struct ExpressionElement
|
struct ExpressionElement
|
||||||
Type::ElementType
|
Type::ElementType
|
||||||
|
@ -84,7 +84,7 @@ function convert_to_ExpressionElement(element)::ExpressionElement
|
||||||
if element isa Float64
|
if element isa Float64
|
||||||
return ExpressionElement(FLOAT64, Value)
|
return ExpressionElement(FLOAT64, Value)
|
||||||
elseif element isa Int64
|
elseif element isa Int64
|
||||||
return ExpressionElement(INT64, Value)
|
return ExpressionElement(INDEX, Value)
|
||||||
elseif element isa Operator
|
elseif element isa Operator
|
||||||
return ExpressionElement(OPERATOR, Value)
|
return ExpressionElement(OPERATOR, Value)
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
module Interpreter
|
module Interpreter
|
||||||
using CUDA
|
using CUDA
|
||||||
|
using StaticArrays
|
||||||
using ..ExpressionProcessing
|
using ..ExpressionProcessing
|
||||||
|
|
||||||
export interpret
|
export interpret
|
||||||
|
@ -20,7 +21,6 @@ function interpret(expressions::Vector{ExpressionProcessing.PostfixType}, variab
|
||||||
cudaExprs = create_cuda_array(expressions, ExpressionElement(EMPTY, 0)) # column corresponds to data for one expression
|
cudaExprs = create_cuda_array(expressions, ExpressionElement(EMPTY, 0)) # column corresponds to data for one expression
|
||||||
cudaStepsize = CuArray([get_max_inner_length(expressions), get_max_inner_length(parameters)]) # put into seperate cuArray, as this is static and would be inefficient to send seperatly to every kernel
|
cudaStepsize = CuArray([get_max_inner_length(expressions), get_max_inner_length(parameters)]) # put into seperate cuArray, as this is static and would be inefficient to send seperatly to every kernel
|
||||||
|
|
||||||
println(cudaVars)
|
|
||||||
# Start kernel for each expression to ensure that no warp is working on different expressions
|
# Start kernel for each expression to ensure that no warp is working on different expressions
|
||||||
for i in eachindex(expressions)
|
for i in eachindex(expressions)
|
||||||
kernel = @cuda launch=false interpret_expression(cudaExprs, cudaVars, cudaParams, cudaStepsize, i)
|
kernel = @cuda launch=false interpret_expression(cudaExprs, cudaVars, cudaParams, cudaStepsize, i)
|
||||||
|
@ -28,27 +28,41 @@ function interpret(expressions::Vector{ExpressionProcessing.PostfixType}, variab
|
||||||
threads = min(variableRows, config.threads)
|
threads = min(variableRows, config.threads)
|
||||||
blocks = cld(variableRows, threads)
|
blocks = cld(variableRows, threads)
|
||||||
|
|
||||||
|
# TODO: Operation stack should be n-dims. nr. of Rows == length of this expression
|
||||||
|
# nr. of columns == nr. of rows in Vars
|
||||||
|
# This means every run with different variable set has its own stack
|
||||||
|
# cudaOperationStack = CuArray{Float64}(undef, get_max_inner_length(expressions), length(expressions))
|
||||||
|
|
||||||
kernel(cudaExprs, cudaVars, cudaParams, cudaStepsize, i; threads, blocks)
|
kernel(cudaExprs, cudaVars, cudaParams, cudaStepsize, i; threads, blocks)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
const MAX_STACK_SIZE = 25 # The max number of values the expression can have. so Constant values, Variables and parameters
|
||||||
function interpret_expression(expressions::CuDeviceArray{ExpressionElement}, variables::CuDeviceArray{Float64}, parameters::CuDeviceArray{Float64}, stepsize::CuDeviceArray{Int}, exprIndex::Int)
|
function interpret_expression(expressions::CuDeviceArray{ExpressionElement}, variables::CuDeviceArray{Float64}, parameters::CuDeviceArray{Float64}, stepsize::CuDeviceArray{Int}, exprIndex::Int)
|
||||||
firstExprIndex = ((exprIndex - 1) * stepsize[1]) + 1 # Inclusive
|
firstExprIndex = ((exprIndex - 1) * stepsize[1]) + 1 # Inclusive
|
||||||
lastExprIndex = firstExprIndex + stepsize[1] - 1 # Inclusive
|
lastExprIndex = firstExprIndex + stepsize[1] - 1 # Inclusive
|
||||||
firstParamIndex = ((exprIndex - 1) * stepsize[2]) + 1 # Inclusive
|
firstParamIndex = ((exprIndex - 1) * stepsize[2]) # Exclusive
|
||||||
# lastParamIndex = firstParamIndex + stepsize[2] - 1 # Inclusive (probably not needed)
|
# lastParamIndex = firstParamIndex + stepsize[2] - 1 # Inclusive (probably not needed)
|
||||||
|
operationStack = MVector{MAX_STACK_SIZE, Float64}(undef) # Vector{Float64}(undef, MAX_STACK_SIZE) # Try to get this to function with variable size too
|
||||||
|
operationStackTop = 1
|
||||||
|
|
||||||
|
for i in reverse(firstExprIndex:lastExprIndex) # Calculate real "lastExprIndex"
|
||||||
|
if expressions[i].Type != EMPTY
|
||||||
|
lastExprIndex = i
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
for i in 1:5
|
for i in 1:5
|
||||||
@cuprintln(variables[i])
|
@cuprintln(variables[i])
|
||||||
end
|
end
|
||||||
|
|
||||||
# Not the correct approach. Redo this to be more stack based.
|
return
|
||||||
|
|
||||||
for i in firstExprIndex:lastExprIndex
|
for i in firstExprIndex:lastExprIndex
|
||||||
# TODO Implement interpreter
|
|
||||||
# - start at firstExprIndex and interpret until the first ExpressionElement is "Empty" or we reached lastExprIndex
|
|
||||||
if expressions[i].Type == EMPTY
|
if expressions[i].Type == EMPTY
|
||||||
break
|
break
|
||||||
elseif expressions[i].Type == INT64
|
elseif expressions[i].Type == INDEX
|
||||||
# TODO: Load value from variables/parameters matrix and store for calculation
|
# TODO: Load value from variables/parameters matrix and store for calculation
|
||||||
val = expressions[i].Value
|
val = expressions[i].Value
|
||||||
|
|
||||||
|
@ -56,14 +70,14 @@ function interpret_expression(expressions::CuDeviceArray{ExpressionElement}, var
|
||||||
# TODO: access variables
|
# TODO: access variables
|
||||||
else
|
else
|
||||||
val = abs(val)
|
val = abs(val)
|
||||||
# TODO: access parameters
|
operationStack[operationStackTop] = parameters[firstParamIndex + val]
|
||||||
end
|
end
|
||||||
continue
|
operationStackTop += 1
|
||||||
elseif expressions[i].Type == FLOAT64
|
elseif expressions[i].Type == FLOAT64
|
||||||
# TODO: store value as is for calculation
|
operationStack[operationStackTop] = expressions[i].Value
|
||||||
continue
|
operationStackTop += 1
|
||||||
elseif expressions[i].Type == OPERATOR
|
elseif expressions[i].Type == OPERATOR
|
||||||
# TODO: Perform calculation of the two stored values according to the operator
|
# TODO: Perform calculation of the stored values. Either 1 or 2, depending on the operator
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
# TODO: handle this case. Should not happen but in case it does, it needs to do something
|
# TODO: handle this case. Should not happen but in case it does, it needs to do something
|
||||||
|
|
|
@ -13,7 +13,7 @@ parameters[1][1] = 5
|
||||||
|
|
||||||
@testset "Test conversion expression element" begin
|
@testset "Test conversion expression element" begin
|
||||||
reference1 = ExpressionElement(FLOAT64, reinterpret(Int64, 1.0))
|
reference1 = ExpressionElement(FLOAT64, reinterpret(Int64, 1.0))
|
||||||
reference2 = ExpressionElement(INT64, reinterpret(Int64, 1))
|
reference2 = ExpressionElement(INDEX, reinterpret(Int64, 1))
|
||||||
reference3 = ExpressionElement(OPERATOR, reinterpret(Int64, ADD))
|
reference3 = ExpressionElement(OPERATOR, reinterpret(Int64, ADD))
|
||||||
|
|
||||||
@test isequal(reference1, ExpressionProcessing.convert_to_ExpressionElement(1.0))
|
@test isequal(reference1, ExpressionProcessing.convert_to_ExpressionElement(1.0))
|
||||||
|
|
|
@ -10,8 +10,8 @@ parameters = Vector{Vector{Float64}}(undef, 2)
|
||||||
expressions[1] = :(x1 + 1 * x2 + p1)
|
expressions[1] = :(x1 + 1 * x2 + p1)
|
||||||
expressions[2] = :(5 + x1 + 1 * x2 + p1 + p2)
|
expressions[2] = :(5 + x1 + 1 * x2 + p1 + p2)
|
||||||
variables[1,1] = 2.0
|
variables[1,1] = 2.0
|
||||||
variables[1,2] = 3.0
|
variables[2,1] = 3.0
|
||||||
variables[2,1] = 0.0
|
variables[1,2] = 0.0
|
||||||
variables[2,2] = 5.0
|
variables[2,2] = 5.0
|
||||||
parameters[1] = Vector{Float64}(undef, 1)
|
parameters[1] = Vector{Float64}(undef, 1)
|
||||||
parameters[2] = Vector{Float64}(undef, 2)
|
parameters[2] = Vector{Float64}(undef, 2)
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[deps]
|
[deps]
|
||||||
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
|
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
|
||||||
|
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
|
||||||
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user