aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h')
-rw-r--r--test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h136
1 files changed, 136 insertions, 0 deletions
diff --git a/test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h b/test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h
new file mode 100644
index 00000000..5cab83fd
--- /dev/null
+++ b/test/monniaux/tacle-bench-powerwindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h
@@ -0,0 +1,136 @@
+/*
+
+ This program is part of the TACLeBench benchmark suite.
+ Version V 1.x
+
+ Name: powerwindow_rtw_continuous.h
+
+ Author: CoSys-Lab, University of Antwerp
+
+ Function: headerfile
+
+ Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_rtw_continuous.h
+
+ Changes: a brief summary of major functional changes and formatting)
+
+ License: GNU General Public License
+
+ */
+
+#ifndef powerwindow___RTW_CONTINUOUS_H__
+#define powerwindow___RTW_CONTINUOUS_H__
+
+//#include "../powerwindow_HeaderFiles/powerwindow_tmwtypes.h"
+
+/* For models registering MassMatrix */
+typedef enum {
+ SS_MATRIX_NONE,
+ SS_MATRIX_CONSTANT,
+ SS_MATRIX_TIMEDEP,
+ SS_MATRIX_STATEDEP
+} powerwindow_ssMatrixType;
+
+typedef enum {
+ SOLVER_MODE_AUTO, /* only occurs in
+ mdlInitializeSizes/mdlInitializeSampleTimes */
+ SOLVER_MODE_SINGLETASKING,
+ SOLVER_MODE_MULTITASKING
+} powerwindow_SolverMode;
+
+typedef enum {
+ MINOR_TIME_STEP,
+ MAJOR_TIME_STEP
+} powerwindow_SimTimeStep;
+
+/* =============================================================================
+ * Model methods object
+ * =============================================================================
+ */
+typedef void (*powerwindow_rtMdlInitializeSizesFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlInitializeSampleTimesFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlStartFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlOutputsFcn)(void *rtModel, powerwindow_int_T tid);
+typedef void (*powerwindow_rtMdlUpdateFcn)(void *rtModel, powerwindow_int_T tid);
+typedef void (*powerwindow_rtMdlDerivativesFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlProjectionFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlMassMatrixFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlForcingFunctionFcn)(void *rtModel);
+typedef void (*powerwindow_rtMdlTerminateFcn)(void *rtModel);
+#ifdef RT_MALLOC
+typedef real_T (*rtMdlDiscreteEventsFcn)(void *pModel,
+ powerwindow_int_T rtmNumSampTimes,
+ void *rtmTimingData,
+ powerwindow_int_T *rtmSampleHitPtr,
+ powerwindow_int_T *rtmPerTaskSampleHits);
+#endif
+
+typedef struct powerwindow__RTWRTModelMethodsInfo_tag {
+ void *rtModelPtr;
+ powerwindow_rtMdlInitializeSizesFcn rtmInitSizesFcn;
+ powerwindow_rtMdlInitializeSampleTimesFcn rtmInitSampTimesFcn;
+ powerwindow_rtMdlStartFcn rtmStartFcn;
+ powerwindow_rtMdlOutputsFcn rtmOutputsFcn;
+ powerwindow_rtMdlUpdateFcn rtmUpdateFcn;
+ powerwindow_rtMdlDerivativesFcn rtmDervisFcn;
+ powerwindow_rtMdlProjectionFcn rtmProjectionFcn;
+ powerwindow_rtMdlMassMatrixFcn rtmMassMatrixFcn;
+ powerwindow_rtMdlForcingFunctionFcn rtmForcingFunctionFcn;
+ powerwindow_rtMdlTerminateFcn rtmTerminateFcn;
+#ifdef RT_MALLOC
+ rtMdlDiscreteEventsFcn rtmDiscreteEventsFcn;
+#endif
+} powerwindow_RTWRTModelMethodsInfo;
+
+#define rtmiSetRTModelPtr(M,rtmp) ((M).rtModelPtr = (rtmp))
+#define rtmiGetRTModelPtr(M) (M).rtModelPtr
+
+#define rtmiSetInitSizesFcn(M,fp) \
+ ((M).rtmInitSizesFcn = ((powerwindow_rtMdlInitializeSizesFcn)(fp)))
+#define rtmiSetInitSampTimesFcn(M,fp) \
+ ((M).rtmInitSampTimesFcn = ((powerwindow_rtMdlInitializeSampleTimesFcn)(fp)))
+#define rtmiSetStartFcn(M,fp) \
+ ((M).rtmStartFcn = ((powerwindow_rtMdlStartFcn)(fp)))
+#define rtmiSetOutputsFcn(M,fp) \
+ ((M).rtmOutputsFcn = ((powerwindow_rtMdlOutputsFcn)(fp)))
+#define rtmiSetUpdateFcn(M,fp) \
+ ((M).rtmUpdateFcn = ((powerwindow_rtMdlUpdateFcn)(fp)))
+#define rtmiSetDervisFcn(M,fp) \
+ ((M).rtmDervisFcn = ((powerwindow_rtMdlDerivativesFcn)(fp)))
+#define rtmiSetProjectionFcn(M,fp) \
+ ((M).rtmProjectionFcn = ((powerwindow_rtMdlProjectionFcn)(fp)))
+#define rtmiSetMassMatrixFcn(M,fp) \
+ ((M).rtmMassMatrixFcn = ((powerwindow_rtMdlMassMatrixFcn)(fp)))
+#define rtmiSetForcingFunctionFcn(M,fp) \
+ ((M).rtmForcingFunctionFcn = ((powerwindow_rtMdlForcingFunctionFcn)(fp)))
+#define rtmiSetTerminateFcn(M,fp) \
+ ((M).rtmTerminateFcn = ((powerwindow_rtMdlTerminateFcn)(fp)))
+#ifdef RT_MALLOC
+#define rtmiSetDiscreteEventsFcn(M,fp) \
+ ((M).rtmDiscreteEventsFcn = ((rtMdlDiscreteEventsFcn)(fp)))
+#endif
+
+#define rtmiInitializeSizes(M) \
+ ((*(M).rtmInitSizesFcn)((M).rtModelPtr))
+#define rtmiInitializeSampleTimes(M) \
+ ((*(M).rtmInitSampTimesFcn)((M).rtModelPtr))
+#define rtmiStart(M) \
+ ((*(M).rtmStartFcn)((M).rtModelPtr))
+#define rtmiOutputs(M, tid) \
+ ((*(M).rtmOutputsFcn)((M).rtModelPtr,tid))
+#define rtmiUpdate(M, tid) \
+ ((*(M).rtmUpdateFcn)((M).rtModelPtr,tid))
+#define rtmiDerivatives(M) \
+ ((*(M).rtmDervisFcn)((M).rtModelPtr))
+#define rtmiProjection(M) \
+ ((*(M).rtmProjectionFcn)((M).rtModelPtr))
+#define rtmiMassMatrix(M) \
+ ((*(M).rtmMassMatrixFcn)((M).rtModelPtr))
+#define rtmiForcingFunction(M) \
+ ((*(M).rtmForcingFunctionFcn)((M).rtModelPtr))
+#define rtmiTerminate(M) \
+ ((*(M).rtmTerminateFcn)((M).rtModelPtr))
+#ifdef RT_MALLOC
+#define rtmiDiscreteEvents(M,x1,x2,x3,x4) \
+ ((*(M).rtmDiscreteEventsFcn)((M).rtModelPtr,(x1),(x2),(x3),(x4)))
+#endif
+#endif /* __RTW_CONTINUOUS_H__ */