EMAM2Cpp issueshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues2018-07-27T10:42:35+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/18Matrix containing variables is created as constant2018-07-27T10:42:35+02:00Christoph RichterMatrix containing variables is created as constantIf a matrix definition contains a variable it is defined as constant. This creates wrong results if the matrix was modified in any situation. Also ports are always passed as a constant value.
Example:
```
ports in Q in1,
...If a matrix definition contains a variable it is defined as constant. This creates wrong results if the matrix was modified in any situation. Also ports are always passed as a constant value.
Example:
```
ports in Q in1,
out Q out1;
implementation Math{
Q^{3} A = [0, in1, 1];
out1 = sum(A);
}
```
creates C++ code:
```
class test_portInMatrixDefinition{
public:
double in1;
double out1;
rowvec CONSTANTCONSTANTVECTOR0;
void init()
{
CONSTANTCONSTANTVECTOR0 = rowvec(3);
CONSTANTCONSTANTVECTOR0(0,0) = 0;
CONSTANTCONSTANTVECTOR0(0,1) = in1;
CONSTANTCONSTANTVECTOR0(0,2) = 1;
}
void execute()
{
colvec A = CONSTANTCONSTANTVECTOR0;
out1 = (accu(A));
}
```
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/17Column Vector is not initialized if declared with 2 dimensions2018-08-08T13:46:26+02:00Christoph RichterColumn Vector is not initialized if declared with 2 dimensionsFor EMAM statement `Q^{n,1} a;` the following C++ code is generated: `colvec a;` This vector can be used in EMAM but is not initialized in C++.For EMAM statement `Q^{n,1} a;` the following C++ code is generated: `colvec a;` This vector can be used in EMAM but is not initialized in C++.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/15Sum command for armadillo not supported2018-07-13T12:27:03+02:00Christoph RichterSum command for armadillo not supportedUntil now EMAM only supports `sum(X)` which creates `accu(X)` in armadillo.
Nevertheless armadillo and MATLAB also support `sum(X,1)` or `sum(X,2)` to only sum rows or columns. Would be nice if EMAM also supports this.Until now EMAM only supports `sum(X)` which creates `accu(X)` in armadillo.
Nevertheless armadillo and MATLAB also support `sum(X,1)` or `sum(X,2)` to only sum rows or columns. Would be nice if EMAM also supports this.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/14Vector colon expression generates invalid code!2018-07-18T17:57:22+02:00Christoph RichterVector colon expression generates invalid code!Expressions:
```
Q^{1,10} A = 1:10;
Q^{1,5} B = 1:2:10;
```
generates the following invalid expression:
```
rowvec A = ;
rowvec B = ;
```Expressions:
```
Q^{1,10} A = 1:10;
Q^{1,5} B = 1:2:10;
```
generates the following invalid expression:
```
rowvec A = ;
rowvec B = ;
```Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/13Element-wise multiplication does not generate correct armadillo code!2018-07-18T17:56:53+02:00Christoph RichterElement-wise multiplication does not generate correct armadillo code!Math statements:
```
Q^{2,2} A = [1,1;1,1];
Q^{2,2} B = [1,2;3,4];
Q^{2,2} C = A .* B;
```
produce wrong armadillo C++ code:
`mat C = A .* B;`
Armadillo uses % for element wise multiplication.Math statements:
```
Q^{2,2} A = [1,1;1,1];
Q^{2,2} B = [1,2;3,4];
Q^{2,2} C = A .* B;
```
produce wrong armadillo C++ code:
`mat C = A .* B;`
Armadillo uses % for element wise multiplication.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/12Visualisation value access hook2020-07-02T19:25:27+02:00Sascha Niklas SchneidersVisualisation value access hookAdapt generator to have a new flag, that provides access for webassembly/javascript values after current executionAdapt generator to have a new flag, that provides access for webassembly/javascript values after current executionSascha Niklas SchneidersSascha Niklas Schneidershttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/10Stream-Test für alle Modelle für EmbeddedMontiArcStudio generieren2020-07-02T19:25:40+02:00vonWencksternStream-Test für alle Modelle für EmbeddedMontiArcStudio generieren- ein JUnit-Test für Autopilot
- dieser test alle EMAM-Dateien die da sind
- ein JUnit-Test für Cluster
- ein JUnit-Test für PacMan
Zum Generieren der Tests die Version, den Compiler von EmbeddedMontiArcStudio nehmen- ein JUnit-Test für Autopilot
- dieser test alle EMAM-Dateien die da sind
- ein JUnit-Test für Cluster
- ein JUnit-Test für PacMan
Zum Generieren der Tests die Version, den Compiler von EmbeddedMontiArcStudio nehmenhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/9Compiler should generate from main.txt2020-07-02T19:26:33+02:00Ferdinand Alexander MehlanCompiler should generate from main.txthttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/issues/1https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/issues/1Sascha Niklas SchneidersSascha Niklas Schneidershttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/3No boolen constants available2020-07-02T19:29:49+02:00Malte HeithoffNo boolen constants availableIn an "implementation Math" block you cannot write:
portA = true;
Only
portA = 1;
works.In an "implementation Math" block you cannot write:
portA = true;
Only
portA = 1;
works.Sascha Niklas SchneidersSascha Niklas Schneiders