/
arrayOperationsTest.mos
46 lines (41 loc) · 1.11 KB
/
arrayOperationsTest.mos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// name: arrayOperationsTest
// keywords: array operations
// status: correct
// teardown_command: rm -f *ArrayOperations.Test*
// cflags: -d=-newInst
setCommandLineOptions("+simCodeTarget=Cpp");
loadString("
package ArrayOperations
model Test
input Real u = 0;
Real y = f({u + 1, u + 2, u + 3});
annotation(experiment(StopTime = 0));
end Test;
function f
input Real[:] v;
output Real y;
protected
Real[:,:] m;
algorithm
// see e.g. Modelica.Mechanics.MultiBody.Examples.Rotational3DEffects.MovingActuatedDrive
m := matrix(v) * transpose(matrix(v));
y := m[3,1];
end f;
end ArrayOperations;
");
getErrorString();
simulate(ArrayOperations.Test);
getErrorString();
val(y, 0);
// Result:
// true
// true
// ""
// record SimulationResult
// resultFile = "ArrayOperations.Test_res.mat",
// simulationOptions = "startTime = 0.0, stopTime = 0.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'ArrayOperations.Test', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
// messages = ""
// end SimulationResult;
// ""
// 3.0
// endResult