/
SimulationResults_rml.c
112 lines (97 loc) · 3.41 KB
/
SimulationResults_rml.c
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
* This file is part of OpenModelica.
*
* Copyright (c) 1998-2010, Linköpings University,
* Department of Computer and Information Science,
* SE-58183 Linköping, Sweden.
*
* All rights reserved.
*
* THIS PROGRAM IS PROVIDED UNDER THE TERMS OF THIS OSMC PUBLIC
* LICENSE (OSMC-PL). ANY USE, REPRODUCTION OR DISTRIBUTION OF
* THIS PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THE OSMC
* PUBLIC LICENSE.
*
* The OpenModelica software and the Open Source Modelica
* Consortium (OSMC) Public License (OSMC-PL) are obtained
* from Linköpings University, either from the above address,
* from the URL: http://www.ida.liu.se/projects/OpenModelica
* and in the OpenModelica distribution.
*
* This program is distributed WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
* IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS
* OF OSMC-PL.
*
* See the full OSMC Public License conditions for more details.
*
*/
#include <stdlib.h>
#include "rml.h"
#include "Values.h"
#include "ValuesUtil.h"
#include "SimulationResults.c"
#include "SimulationResultsCmp.c"
void SimulationResults_5finit(void)
{
}
RML_BEGIN_LABEL(SimulationResults__readVariables)
{
rml_sint_t i,size;
char* filename = RML_STRINGDATA(rmlA0);
int readParameters = RML_UNTAGFIXNUM(rmlA1);
rmlA0 = SimulationResultsImpl__readVars(filename,readParameters,&simresglob);
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__readDataset)
{
rmlA0 = (void*)SimulationResultsImpl__readDataset(RML_STRINGDATA(rmlA0),rmlA1,RML_UNTAGFIXNUM(rmlA2),0,&simresglob,0);
if (rmlA0 == NULL) {
RML_TAILCALLK(rmlFC);
}
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__readSimulationResultSize)
{
char* filename = RML_STRINGDATA(rmlA0);
rmlA0 = mk_icon(SimulationResultsImpl__readSimulationResultSize(filename,&simresglob));
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__val)
{
rmlA0 = mk_rcon(SimulationResultsImpl__val(RML_STRINGDATA(rmlA0),RML_STRINGDATA(rmlA1),rml_prim_get_real(rmlA2),&simresglob));
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__close)
{
SimulationResultsImpl__close(&simresglob);
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__cmpSimulationResults)
{
rmlA0 = SimulationResultsCmp_compareResults(1,RML_UNTAGFIXNUM(rmlA0),RML_STRINGDATA(rmlA1),RML_STRINGDATA(rmlA2),RML_STRINGDATA(rmlA3),rml_prim_get_real(rmlA4),rml_prim_get_real(rmlA5),0 /*rangeDelta*/,0 /*reltolDiff*/,rmlA6,0,NULL,0,NULL);
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__diffSimulationResults)
{
int res;
rmlA1 = SimulationResultsCmp_compareResults(0,RML_UNTAGFIXNUM(rmlA0),RML_STRINGDATA(rmlA1),RML_STRINGDATA(rmlA2),RML_STRINGDATA(rmlA3),rml_prim_get_real(rmlA4),0.0/*abstol*/,rml_prim_get_real(rmlA5),rml_prim_get_real(rmlA6),rmlA7,RML_UNTAGFIXNUM(rmlA8),&res,0,NULL);
rmlA0 = mk_icon(res);
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL
RML_BEGIN_LABEL(SimulationResults__diffSimulationResultsHtml)
{
char *res = "";
SimulationResultsCmp_compareResults(0,RML_UNTAGFIXNUM(rmlA0),RML_STRINGDATA(rmlA1),RML_STRINGDATA(rmlA2),"",rml_prim_get_real(rmlA3),0.0/*abstol*/,rml_prim_get_real(rmlA4),rml_prim_get_real(rmlA5),mk_cons(rmlA6,mk_nil()),0,NULL,1,&res);
rmlA0 = mk_scon(res);
RML_TAILCALLK(rmlSC);
}
RML_END_LABEL