Add wasm tacle-bench targets

This commit is contained in:
2026-06-12 20:06:22 +02:00
parent 30daa8a00c
commit 08c2e9c13d
1122 changed files with 520422 additions and 0 deletions

View File

@ -0,0 +1,22 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef NULL
#define NULL ((viod *) 0)
#endif

View File

@ -0,0 +1,148 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_DRV.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_h_
#define powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_h_
#ifndef powerwindow_PW_Control_DRV_COMMON_INCLUDES_
# define powerwindow_PW_Control_DRV_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#endif /* powerwindow_PW_Control_DRV_COMMON_INCLUDES_ */
#include "../powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Child system includes */
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control.h"
#include "../powerwindow_HeaderFiles/powerwindow_debounce.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_PW_DRV_rtmGetErrorStatus
# define powerwindow_PW_DRV_rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef powerwindow_PW_DRV_rtmSetErrorStatus
# define powerwindow_PW_DRV_rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
#ifndef powerwindow_PW_DRV_rtmGetErrorStatusPointer
# define powerwindow_PW_DRV_rtmGetErrorStatusPointer(rtm) ((const powerwindow_char_T **)(&((rtm)->errorStatus)))
#endif
/* Block states (auto storage) for system '<Root>' */
typedef struct {
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Up_DRV_DWORK1;/* '<S2>/Debounce_Up_DRV' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_DRV_DWORK1;/* '<S2>/Debounce_Down_DRV' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Up_PSG_BackL_DWORK1;/* '<S2>/Debounce_Up_PSG_BackL' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_PSG_BackL_DWORK1;/* '<S2>/Debounce_Down_PSG_BackL' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Up_PSG_Front_DWORK1;/* '<S2>/Debounce_Up_PSG_Front' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_PSG_Front_DWORK1;/* '<S2>/Debounce_Down_PSG_Front' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Up_PSG_BackR_DWORK1;/* '<S2>/Debounce_Up_PSG_BackR' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_PSG_BackR_DWORK1;/* '<S2>/Debounce_Down_PSG_BackR' */
powerwindow_rtMdlrefDWork_PowerWindow_contr PW_DRV_DWORK1;/* '<S1>/PW_DRV' */
} powerwindow_D_Work_powerwindow_PW_Control_D;
/* External inputs (root inport signals with auto storage) */
typedef struct {
powerwindow_boolean_T In1; /* '<Root>/In1' */
powerwindow_boolean_T In2; /* '<Root>/In2' */
powerwindow_uint8_T In3; /* '<Root>/In3' */
powerwindow_boolean_T In4; /* '<Root>/In4' */
powerwindow_boolean_T In5; /* '<Root>/In5' */
powerwindow_boolean_T In6; /* '<Root>/In6' */
powerwindow_boolean_T In7; /* '<Root>/In7' */
powerwindow_boolean_T In8; /* '<Root>/In8' */
powerwindow_boolean_T In9; /* '<Root>/In9' */
powerwindow_boolean_T In10; /* '<Root>/In10' */
} powerwindow_ExternalInputs_powerwindow_PW_C;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
powerwindow_boolean_T Out1; /* '<Root>/Out1' */
powerwindow_boolean_T Out2; /* '<Root>/Out2' */
powerwindow_boolean_T Out3; /* '<Root>/Out3' */
powerwindow_boolean_T Out4; /* '<Root>/Out4' */
powerwindow_boolean_T Out5; /* '<Root>/Out5' */
powerwindow_boolean_T Out6; /* '<Root>/Out6' */
powerwindow_boolean_T Out7; /* '<Root>/Out7' */
powerwindow_boolean_T Out8; /* '<Root>/Out8' */
powerwindow_boolean_T Out9; /* '<Root>/Out9' */
powerwindow_boolean_T Out10; /* '<Root>/Out10' */
powerwindow_boolean_T Out11; /* '<Root>/Out11' */
} powerwindow_ExternalOutputs_powerwindow_PW_;
struct powerwindow_tag_RTM_PW_Control_DRV {
const powerwindow_char_T *volatile errorStatus;
};
/* Block states (auto storage) */
extern powerwindow_D_Work_powerwindow_PW_Control_D
powerwindow_PW_Control_DR_DWork;
/* External inputs (root inport signals with auto storage) */
extern powerwindow_ExternalInputs_powerwindow_PW_C powerwindow_PW_Control_DRV_U;
/* External outputs (root outports fed by signals with auto storage) */
extern powerwindow_ExternalOutputs_powerwindow_PW_ powerwindow_PW_Control_DRV_Y;
/* Model entry point functions */
extern void powerwindow_PW_Control_DRV_initialize( void );
extern void powerwindow_PW_Control_DRV_main( void );
extern void powerwindow_PW_Control_DRV_terminate( void );
/* Real-time Model object */
extern powerwindow_RT_MODEL_PW_Control_DRV *const powerwindow_PW_Control_DRV_M;
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Note that this particular code originates from a subsystem build,
and has its own system numbers different from the parent model.
Refer to the system hierarchy for this subsystem below, and use the
MATLAB hilite_system command to trace the generated code back
to the parent model. For example,
hilite_system('PowerWindow/powerwindow_PW_Control_DRV') - opens subsystem PowerWindow/powerwindow_PW_Control_DRV
hilite_system('PowerWindow/powerwindow_PW_Control_DRV/Kp') - opens and selects block Kp
Here is the system hierarchy for this model
'<Root>' : 'PowerWindow'
'<S1>' : 'PowerWindow/powerwindow_PW_Control_DRV'
'<S2>' : 'PowerWindow/powerwindow_PW_Control_DRV/Debounce_DRV'
*/
#endif /* RTW_HEADER_powerwindow_PW_Control_DRV_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_DRV_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_private_h_
#define powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
#endif /* RTW_HEADER_powerwindow_PW_Control_DRV_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,33 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_DRV_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_DRV_types_h_
#define powerwindow_RTW_HEADER_PW_Control_DRV_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_PW_Control_DRV
powerwindow_RT_MODEL_PW_Control_DRV;
#endif /* RTW_HEADER_PW_Control_DRV_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,135 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackL.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_h_
#ifndef powerwindow_PW_Control_PSG_BackL_COMMON_INCLUDES_
# define powerwindow_PW_Control_PSG_BackL_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h"
#endif /* powerwindow_PW_Control_PSG_BackL_COMMON_INCLUDES_*/
#include "../powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Child system includes */
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control.h"
#include "../powerwindow_HeaderFiles/powerwindow_debounce.h"
#include "../powerwindow_HeaderFiles/powerwindow_controlexclusion.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_PW_PSG_BackL_BackL_rtmGetErrorStatus
# define powerwindow_PW_PSG_BackL_rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef powerwindow_PW_PSG_BackL_rtmSetErrorStatus
# define powerwindow_PW_PSG_BackL_rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
#ifndef powerwindow_PW_PSG_BackL_rtmGetErrorStatusPointer
# define powerwindow_PW_PSG_BackL_rtmGetErrorStatusPointer(rtm) ((const powerwindow_char_T **)(&((rtm)->errorStatus)))
#endif
/* Block states (auto storage) for system '<Root>' */
typedef struct {
powerwindow_rtMdlrefDWork_debounce_T Debounce_Up_DWORK1;/* '<S2>/Debounce_Up' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_DWORK1;/* '<S2>/Debounce_Down' */
powerwindow_rtMdlrefDWork_PowerWindow_contr
PW_PSG_BackL_DWORK1;/* '<S1>/PW_PSG_BackL' */
} powerwindow_D_Work_PW_Control_PSG_BackL;
/* External inputs (root inport signals with auto storage) */
typedef struct {
powerwindow_boolean_T Up_DRV; /* '<Root>/Up_DRV' */
powerwindow_boolean_T Down_DRV; /* '<Root>/Down_DRV' */
powerwindow_boolean_T
endofdetectionrange; /* '<Root>/end of detection range' */
powerwindow_uint8_T currentsense; /* '<Root>/current sense' */
powerwindow_boolean_T
Up_PSG_BackL; /* '<Root>/Up_PSG_BackL' */
powerwindow_boolean_T
Down_PSG_BackL; /* '<Root>/Down_PSG_BackL' */
} powerwindow_ExternalInputs_PW_Control_PSG_BackL;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
powerwindow_boolean_T window_up; /* '<Root>/window_up' */
powerwindow_boolean_T window_down; /* '<Root>/window_down' */
powerwindow_boolean_T overcurrent; /* '<Root>/overcurrent' */
powerwindow_boolean_T pinch; /* '<Root>/pinch' */
powerwindow_boolean_T wake; /* '<Root>/wake' */
} powerwindow_ExternalOutputs_PW_Control_PSG_BackL;
/* Real-time Model Data Structure */
struct powerwindow_tag_RTM_PW_Control_PSG_BackL {
const powerwindow_char_T *volatile errorStatus;
};
/* Block states (auto storage) */
extern powerwindow_D_Work_PW_Control_PSG_BackL
powerwindow_PW_Control_PSG_BackL_DWork;
/* External inputs (root inport signals with auto storage) */
extern powerwindow_ExternalInputs_PW_Control_PSG_BackL
powerwindow_PW_Control_PSG_BackL_U;
/* External outputs (root outports fed by signals with auto storage) */
extern powerwindow_ExternalOutputs_PW_Control_PSG_BackL
powerwindow_PW_Control_PSG_BackL_Y;
/* Model entry point functions */
extern void powerwindow_PW_Control_PSG_BackL_initialize( void );
extern void powerwindow_PW_Control_PSG_BackL_main( void );
extern void powerwindow_PW_Control_PSG_BackL_terminate( void );
/* Real-time Model object */
extern powerwindow_RT_MODEL_PW_Control_PSG_BackL *const
powerwindow_PW_Control_PSG_BackL_M;
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Note that this particular code originates from a subsystem build,
and has its own system numbers different from the parent model.
Refer to the system hierarchy for this subsystem below, and use the
MATLAB hilite_system command to trace the generated code back
to the parent model. For example,
hilite_system('PowerWindow/PW_Control_PSG_BackL') - opens subsystem PowerWindow/PW_Control_PSG_BackL
hilite_system('PowerWindow/PW_Control_PSG_BackL/Kp') - opens and selects block Kp
Here is the system hierarchy for this model
'<Root>' : 'PowerWindow'
'<S1>' : 'PowerWindow/PW_Control_PSG_BackL'
'<S2>' : 'PowerWindow/PW_Control_PSG_BackL/Debounce_PSG_BackL'
*/
#endif /* RTW_HEADER_PW_Control_PSG_BackL_h_*/
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackL_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_private_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
#endif /* RTW_HEADER_PW_Control_PSG_BackL_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,33 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackL_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_types_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_PW_Control_PSG_BackL
powerwindow_RT_MODEL_PW_Control_PSG_BackL;
#endif /* RTW_HEADER_PW_Control_PSG_BackL_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,135 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackR.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_h_
#ifndef powerwindow_PW_Control_PSG_BackR_COMMON_INCLUDES_
# define powerwindow_PW_Control_PSG_BackR_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h"
#endif /* powerwindow_PW_Control_PSG_BackR_COMMON_INCLUDES_*/
#include "../powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Child system includes */
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control.h"
#include "../powerwindow_HeaderFiles/powerwindow_debounce.h"
#include "../powerwindow_HeaderFiles/powerwindow_controlexclusion.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_PW_PSG_BackR_rtmGetErrorStatus
# define powerwindow_PW_PSG_BackR_rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef powerwindow_PW_PSG_BackR_rtmSetErrorStatus
# define powerwindow_PW_PSG_BackR_rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
#ifndef powerwindow_PW_PSG_BackR_rtmGetErrorStatusPointer
# define powerwindow_PW_PSG_BackR_rtmGetErrorStatusPointer(rtm) ((const powerwindow_char_T **)(&((rtm)->errorStatus)))
#endif
/* Block states (auto storage) for system '<Root>' */
typedef struct {
powerwindow_rtMdlrefDWork_debounce_T Debounce_Up_DWORK1;/* '<S2>/Debounce_Up' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_DWORK1;/* '<S2>/Debounce_Down' */
powerwindow_rtMdlrefDWork_PowerWindow_contr
PW_PSG_BackR_DWORK1;/* '<S1>/PW_PSG_BackR' */
} powerwindow_D_Work_PW_Control_PSG_BackR;
/* External inputs (root inport signals with auto storage) */
typedef struct {
powerwindow_boolean_T Up_DRV; /* '<Root>/Up_DRV' */
powerwindow_boolean_T Down_DRV; /* '<Root>/Down_DRV' */
powerwindow_boolean_T
endofdetectionrange; /* '<Root>/end of detection range' */
powerwindow_uint8_T currentsense; /* '<Root>/current sense' */
powerwindow_boolean_T
Up_PSG_BackR; /* '<Root>/Up_PSG_BackR' */
powerwindow_boolean_T
Down_PSG_BackR; /* '<Root>/Down_PSG_BackR' */
} powerwindow_ExternalInputs_PW_Control_PSG_BackR;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
powerwindow_boolean_T window_up; /* '<Root>/window_up' */
powerwindow_boolean_T window_down; /* '<Root>/window_down' */
powerwindow_boolean_T overcurrent; /* '<Root>/overcurrent' */
powerwindow_boolean_T pinch; /* '<Root>/pinch' */
powerwindow_boolean_T wake; /* '<Root>/wake' */
} powerwindow_ExternalOutputs_PW_Control_PSG_BackR;
/* Real-time Model Data Structure */
struct powerwindow_tag_RTM_PW_Control_PSG_BackR {
const powerwindow_char_T *volatile errorStatus;
};
/* Block states (auto storage) */
extern powerwindow_D_Work_PW_Control_PSG_BackR
powerwindow_PW_Control_PSG_BackR_DWork;
/* External inputs (root inport signals with auto storage) */
extern powerwindow_ExternalInputs_PW_Control_PSG_BackR
powerwindow_PW_Control_PSG_BackR_U;
/* External outputs (root outports fed by signals with auto storage) */
extern powerwindow_ExternalOutputs_PW_Control_PSG_BackR
powerwindow_PW_Control_PSG_BackR_Y;
/* Model entry point functions */
extern void powerwindow_PW_Control_PSG_BackR_initialize( void );
extern void powerwindow_PW_Control_PSG_BackR_main( void );
extern void powerwindow_PW_Control_PSG_BackR_terminate( void );
/* Real-time Model object */
extern powerwindow_RT_MODEL_PW_Control_PSG_BackR *const
powerwindow_PW_Control_PSG_BackR_M;
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Note that this particular code originates from a subsystem build,
and has its own system numbers different from the parent model.
Refer to the system hierarchy for this subsystem below, and use the
MATLAB hilite_system command to trace the generated code back
to the parent model. For example,
hilite_system('PowerWindow/PW_Control_PSG_BackR') - opens subsystem PowerWindow/PW_Control_PSG_BackR
hilite_system('PowerWindow/PW_Control_PSG_BackR/Kp') - opens and selects block Kp
Here is the system hierarchy for this model
'<Root>' : 'PowerWindow'
'<S1>' : 'PowerWindow/PW_Control_PSG_BackR'
'<S2>' : 'PowerWindow/PW_Control_PSG_BackR/Debounce_PSG'
*/
#endif /* RTW_HEADER_PW_Control_PSG_h_*/
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackR_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_private_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
#endif /* RTW_HEADER_PW_Control_PSG_BackR_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,32 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_BackR_tyoes.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_types_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_PW_Control_PSG_BackR
powerwindow_RT_MODEL_PW_Control_PSG_BackR;
#endif /* RTW_HEADER_PW_Control_PSG_BackR_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,135 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_Front.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_Front_h_
#ifndef powerwindow_PW_Control_PSG_Front_COMMON_INCLUDES_
# define powerwindow_PW_Control_PSG_Front_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h"
#endif /* powerwindow_PW_Control_PSG_Front_COMMON_INCLUDES_*/
#include "../powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Child system includes */
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control.h"
#include "../powerwindow_HeaderFiles/powerwindow_debounce.h"
#include "../powerwindow_HeaderFiles/powerwindow_controlexclusion.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_PW_PSG_Front_rtmGetErrorStatus
# define powerwindow_PW_PSG_Front_rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef powerwindow_PW_PSG_Front_rtmSetErrorStatus
# define powerwindow_PW_PSG_Front_rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
#ifndef powerwindow_PW_PSG_Front_rtmGetErrorStatusPointer
# define powerwindow_PW_PSG_Front_rtmGetErrorStatusPointer(rtm) ((const powerwindow_char_T **)(&((rtm)->errorStatus)))
#endif
/* Block states (auto storage) for system '<Root>' */
typedef struct {
powerwindow_rtMdlrefDWork_debounce_T Debounce_Up_DWORK1;/* '<S2>/Debounce_Up' */
powerwindow_rtMdlrefDWork_debounce_T
Debounce_Down_DWORK1;/* '<S2>/Debounce_Down' */
powerwindow_rtMdlrefDWork_PowerWindow_contr
PW_PSG_Front_Front_DWORK1;/* '<S1>/PW_PSG_Front_Front' */
} powerwindow_D_Work_PW_Control_PSG_Front;
/* External inputs (root inport signals with auto storage) */
typedef struct {
powerwindow_boolean_T Up_DRV; /* '<Root>/Up_DRV' */
powerwindow_boolean_T Down_DRV; /* '<Root>/Down_DRV' */
powerwindow_boolean_T
endofdetectionrange; /* '<Root>/end of detection range' */
powerwindow_uint8_T currentsense; /* '<Root>/current sense' */
powerwindow_boolean_T
Up_PSG_Front; /* '<Root>/Up_PSG_Front' */
powerwindow_boolean_T
Down_PSG_Front; /* '<Root>/Down_PSG_Front' */
} powerwindow_ExternalInputs_PW_Control_PSG_Front;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
powerwindow_boolean_T window_up; /* '<Root>/window_up' */
powerwindow_boolean_T window_down; /* '<Root>/window_down' */
powerwindow_boolean_T overcurrent; /* '<Root>/overcurrent' */
powerwindow_boolean_T pinch; /* '<Root>/pinch' */
powerwindow_boolean_T wake; /* '<Root>/wake' */
} powerwindow_ExternalOutputs_PW_Control_PSG_Front;
/* Real-time Model Data Structure */
struct powerwindow_tag_RTM_PW_Control_PSG_Front {
const powerwindow_char_T *volatile errorStatus;
};
/* Block states (auto storage) */
extern powerwindow_D_Work_PW_Control_PSG_Front
powerwindow_PW_Control_PSG_Front_DWork;
/* External inputs (root inport signals with auto storage) */
extern powerwindow_ExternalInputs_PW_Control_PSG_Front
powerwindow_PW_Control_PSG_Front_U;
/* External outputs (root outports fed by signals with auto storage) */
extern powerwindow_ExternalOutputs_PW_Control_PSG_Front
powerwindow_PW_Control_PSG_Front_Y;
/* Model entry point functions */
extern void powerwindow_PW_Control_PSG_Front_initialize( void );
extern void powerwindow_PW_Control_PSG_Front_main( void );
extern void powerwindow_PW_Control_PSG_Front_terminate( void );
/* Real-time Model object */
extern powerwindow_RT_MODEL_PW_Control_PSG_Front *const
powerwindow_PW_Control_PSG_Front_M;
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Note that this particular code originates from a subsystem build,
and has its own system numbers different from the parent model.
Refer to the system hierarchy for this subsystem below, and use the
MATLAB hilite_system command to trace the generated code back
to the parent model. For example,
hilite_system('PowerWindow/PW_Control_PSG_Front') - opens subsystem PowerWindow/PW_Control_PSG_Front
hilite_system('PowerWindow/PW_Control_PSG_Front/Kp') - opens and selects block Kp
Here is the system hierarchy for this model
'<Root>' : 'PowerWindow'
'<S1>' : 'PowerWindow/PW_Control_PSG_Front'
'<S2>' : 'PowerWindow/PW_Control_PSG_Front/Debounce_PSG_Front_Front'
*/
#endif /* RTW_HEADER_PW_Control_PSG_Front_h_*/
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_Front_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_private_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_Front_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
#endif /* RTW_HEADER_PW_Control_PSG_Front_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,34 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_PW_Control_PSG_Front_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_types_h_
#define powerwindow_RTW_HEADER_PW_Control_PSG_Front_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_PW_Control_PSG_Front
powerwindow_RT_MODEL_PW_Control_PSG_Front;
#endif /* RTW_HEADER_PW_Control_PSG_Front_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,74 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_controlexclusion.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_controlexclusion.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_controlexclusion_h_
#define powerwindow_RTW_HEADER_controlexclusion_h_
#ifndef powerwindow_controlexclusion_COMMON_INCLUDES_
#define powerwindow_controlexclusion_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h"
#endif /* powerwindow_controlexclusion_COMMON_INCLUDES_ */
#include "../powerwindow_HeaderFiles/powerwindow_controlexclusion_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* user code (top of header file) */
/* Model reference registration function */
extern void powerwindow_controlexclusion_initialize( void );
extern void powerwindow_controlexclusion_terminate( void );
extern void powerwindow_controlexclusion_main( const powerwindow_boolean_T
*rtu_Up_DRV, const powerwindow_boolean_T
*rtu_Down_DRV, const powerwindow_boolean_T *rtu_Up_PSG,
const powerwindow_boolean_T *rtu_Down_PSG,
powerwindow_boolean_T *rty_Up, powerwindow_boolean_T *rty_Down );
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Use the MATLAB hilite_system command to trace the generated code back
to the model. For example,
hilite_system('<S3>') - opens system 3
hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
Here is the system hierarchy for this model
'<Root>' : 'ControlExclusion'
'<S1>' : 'ControlExclusion/Control_Clock_TicToc'
'<S2>' : 'ControlExclusion/Control_Clock_TicToc/ControlEx_PSG'
'<S3>' : 'ControlExclusion/Control_Clock_TicToc/Tic'
'<S4>' : 'powerwindow_controlexclusion_main/Control_Clock_TicToc/Toc'
'<S5>' : 'ControlExclusion/Control_Clock_TicToc/Tic/Tic_T'
'<S6>' : 'ControlExclusion/Control_Clock_TicToc/Toc/Toc_T'
*/
#endif /* RTW_HEADER_ControlExclusion_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_controlexclusion_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_controlexclusion_private_h_
#define powerwindow_RTW_HEADER_controlexclusion_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
#endif /* RTW_HEADER_controlexclusion_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,30 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_controlexclusion_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_controlexclusion_types_h_
#define powerwindow_RTW_HEADER_controlexclusion_types_h_
/* Forward declaration for rtModel */
#endif /* powerwindow_RTW_HEADER_controlexclusion_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,100 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_debounce.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_debounce.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_debounce_h_
#define powerwindow_RTW_HEADER_debounce_h_
#ifndef powerwindow_debounce_COMMON_INCLUDES_
#define powerwindow_debounce_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#endif /* debounce_COMMON_INCLUDES_ */
#include "../powerwindow_HeaderFiles/powerwindow_debounce_types.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Block signals for model 'powerwindow_debounce_main' */
typedef struct {
powerwindow_boolean_T Q; /* '<Root>/Chart' */
} powerwindow_rtB_debounce_T;
/* Block states (auto storage) for model 'powerwindow_debounce_main' */
typedef struct {
powerwindow_int32_T clockTickCounter; /* '<Root>/period of 10ms' */
powerwindow_uint8_T is_active_c3_debounce; /* '<Root>/Chart' */
powerwindow_uint8_T is_c3_debounce; /* '<Root>/Chart' */
powerwindow_uint8_T is_debounce; /* '<Root>/Chart' */
powerwindow_uint8_T temporalCounter_i1; /* '<Root>/Chart' */
} powerwindow_rtDW_debounce_T;
/* Zero-crossing (trigger) state for model 'powerwindow_debounce_main' */
typedef struct {
ZCSigState Chart_Trig_ZCE; /* '<Root>/Chart' */
} powerwindow_rtZCE_debounce_T;
/* Real-time Model Data Structure */
struct powerwindow_tag_RTM_debounce_T {
const powerwindow_char_T **errorStatus;
};
typedef struct {
powerwindow_rtB_debounce_T rtb;
powerwindow_rtDW_debounce_T rtdw;
powerwindow_RT_MODEL_debounce_T rtm;
powerwindow_rtZCE_debounce_T rtzce;
} powerwindow_rtMdlrefDWork_debounce_T;
/* Model reference registration function */
extern void powerwindow_debounce_initialize( const powerwindow_char_T
**rt_errorStatus,
powerwindow_RT_MODEL_debounce_T *const debounce_M,
powerwindow_rtB_debounce_T *localB, powerwindow_rtDW_debounce_T
*localDW, powerwindow_rtZCE_debounce_T *localZCE );
extern void powerwindow_debounce_Init( powerwindow_rtB_debounce_T *localB,
powerwindow_rtDW_debounce_T *localDW );
extern void powerwindow_debounce_Start( powerwindow_rtDW_debounce_T *localDW );
extern void powerwindow_debounce_main( const powerwindow_boolean_T *rtu_Switch,
powerwindow_boolean_T
*rty_debounced_Switch, powerwindow_rtB_debounce_T *localB,
powerwindow_rtDW_debounce_T *localDW, powerwindow_rtZCE_debounce_T *localZCE );
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Use the MATLAB hilite_system command to trace the generated code back
to the model. For example,
hilite_system('<S3>') - opens system 3
hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
Here is the system hierarchy for this model
'<Root>' : 'powerwindow_debounce_main'
'<S1>' : 'powerwindow_debounce_main/Chart'
*/
#endif /* RTW_HEADER_debounce_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,46 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_debounce_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_debounce_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_debounce_private_h_
#define powerwindow_RTW_HEADER_debounce_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_rtmGetErrorStatus
# define powerwindow_rtmGetErrorStatus(rtm) (*((rtm)->errorStatus))
#endif
#ifndef powerwindow_rtmSetErrorStatus
# define powerwindow_rtmSetErrorStatus(rtm, val) (*((rtm)->errorStatus) = (val))
#endif
#ifndef powerwindow_rtmGetErrorStatusPointer
# define powerwindow_rtmGetErrorStatusPointer(rtm) (rtm)->errorStatus
#endif
#ifndef powerwindow_rtmSetErrorStatusPointer
# define powerwindow_rtmSetErrorStatusPointer(rtm, val) ((rtm)->errorStatus = (val))
#endif
#endif /* RTW_HEADER_debounce_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,31 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_debounce_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_debounce_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_debounce_types_h_
#define powerwindow_RTW_HEADER_debounce_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_debounce_T powerwindow_RT_MODEL_debounce_T;
#endif /* RTW_HEADER_debounce_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,51 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_model_reference_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_model_reference_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow___MODEL_REFERENCE_TYPES_H__
#define powerwindow___MODEL_REFERENCE_TYPES_H__
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#ifndef powerwindow___MODEL_REFERENCE_TYPES__
#define powerwindow___MODEL_REFERENCE_TYPES__
/*===========================================================================*
Model reference type definitions
===========================================================================*/
/*
This structure is used by model reference to
communicate timing information through the hierarchy.
*/
typedef struct powerwindow__rtTimingBridge_tag powerwindow_rtTimingBridge;
struct powerwindow__rtTimingBridge_tag {
powerwindow_uint32_T nTasks;
powerwindow_uint32_T **clockTick;
powerwindow_uint32_T **clockTickH;
powerwindow_uint32_T *taskCounter;
powerwindow_real_T **taskTime;
powerwindow_boolean_T **rateTransition;
powerwindow_boolean_T *firstInitCond;
};
#endif /* __MODEL_REFERENCE_TYPES__ */
#endif /* __MODEL_REFERENCE_TYPES_H__ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,137 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_powerwindow_control.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PowerWindow_control_h_
#define powerwindow_RTW_HEADER_PowerWindow_control_h_
#ifndef powerwindow_powerWindow_control_COMMON_INCLUDES_
# define powerwindow_powerWindow_control_COMMON_INCLUDES_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h"
#endif /* PowerWindow_control_COMMON_INCLUDES_ */
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control_types.h"
#include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control_private.h"
/* Shared type includes */
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* user code (top of header file) */
/* Block signals for model 'PowerWindow_control' */
typedef struct {
powerwindow_uint8_T RateTransition1; /* '<S2>/Rate Transition1' */
powerwindow_boolean_T LogicalOperator; /* '<S2>/Logical Operator' */
powerwindow_boolean_T map[ 3 ]; /* '<S2>/map' */
} powerwindow_rtB_PowerWindow_control;
/* Block states (auto storage) for model 'PowerWindow_control' */
typedef struct {
powerwindow_int32_T clockTickCounter; /* '<S2>/period of 50ms' */
powerwindow_uint8_T
is_active_c2_PowerWindow_contro;/* '<S2>/stateflow control model' */
powerwindow_uint8_T
is_c2_PowerWindow_control; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_Up; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_Down; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_Logic; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_active_Logic; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_Sensing; /* '<S2>/stateflow control model' */
powerwindow_uint8_T is_active_Sensing; /* '<S2>/stateflow control model' */
powerwindow_uint8_T temporalCounter_i1; /* '<S2>/stateflow control model' */
powerwindow_uint8_T temporalCounter_i2; /* '<S2>/stateflow control model' */
} powerwindow_rtDW_PowerWindow_control;
/* Zero-crossing (trigger) state for model 'PowerWindow_control' */
typedef struct {
ZCSigState stateflowcontrolmodel_Trig_ZCE;/* '<S2>/stateflow control model' */
} powerwindow_rtZCE_PowerWindow_control;
/* Real-time Model Data Structure */
struct powerwindow_tag_RTM_PowerWindow_control {
const powerwindow_char_T **errorStatus;
};
typedef struct {
powerwindow_rtB_PowerWindow_control rtb;
powerwindow_rtDW_PowerWindow_control rtdw;
powerwindow_RT_MODEL_PowerWindow_control rtm;
powerwindow_rtZCE_PowerWindow_control rtzce;
} powerwindow_rtMdlrefDWork_PowerWindow_contr;
/* Model reference registration function */
extern void powerwindow_powerwindow_control_initialize(
const powerwindow_char_T **rt_errorStatus,
powerwindow_RT_MODEL_PowerWindow_control *const PowerWindow_control_M,
powerwindow_rtB_PowerWindow_control *localB,
powerwindow_rtDW_PowerWindow_control *localDW,
powerwindow_rtZCE_PowerWindow_control *localZCE );
extern void powerwindow_powerwindow_control_Init(
powerwindow_boolean_T *rty_window_up,
powerwindow_boolean_T *rty_window_down,
powerwindow_boolean_T *rty_overcurrent,
powerwindow_boolean_T *rty_pinch, powerwindow_boolean_T *rty_wake,
powerwindow_rtDW_PowerWindow_control *localDW );
extern void powerwindow_powerwindow_control_Start(
powerwindow_rtDW_PowerWindow_control *localDW );
extern void powerwindow_powerwindow_control_main(
const powerwindow_boolean_T *rtu_up,
const powerwindow_boolean_T *rtu_down,
const powerwindow_boolean_T *rtu_endofdetectionrange,
const powerwindow_uint8_T *rtu_currentsense,
powerwindow_boolean_T *rty_window_up,
powerwindow_boolean_T *rty_window_down,
powerwindow_boolean_T *rty_overcurrent,
powerwindow_boolean_T *rty_pinch, powerwindow_boolean_T *rty_wake,
powerwindow_rtB_PowerWindow_control *localB,
powerwindow_rtDW_PowerWindow_control *localDW,
powerwindow_rtZCE_PowerWindow_control *localZCE );
/*-
The generated code includes comments that allow you to trace directly
back to the appropriate location in the model. The basic format
is <system>/block_name, where system is the system number (uniquely
assigned by Simulink) and block_name is the name of the block.
Use the MATLAB hilite_system command to trace the generated code back
to the model. For example,
hilite_system('<S3>') - opens system 3
hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
Here is the system hierarchy for this model
'<Root>' : 'PowerWindow_control'
'<S1>' : 'PowerWindow_control/PW_PSG'
'<S2>' : 'PowerWindow_control/PW_PSG/PW_PSG'
'<S3>' : 'PowerWindow_control/PW_PSG/Tic'
'<S4>' : 'PowerWindow_control/PW_PSG/Toc'
'<S5>' : 'PowerWindow_control/PW_PSG/PW_PSG/stateflow control model'
'<S6>' : 'PowerWindow_control/PW_PSG/Tic/Tic_T'
'<S7>' : 'PowerWindow_control/PW_PSG/Toc/Toc_T'
*/
#endif /* powerwindow_RTW_HEADER_PowerWindow_control_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,52 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_powerwindow_control_private.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control_private.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_PowerWindow_control_private_h_
#define powerwindow_RTW_HEADER_PowerWindow_control_private_h_
#include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
#include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
/* Macros for accessing real-time model data structure */
#ifndef powerwindow_powerwindow_control_rtmGetErrorStatus
# define powerwindow_powerwindow_control_rtmGetErrorStatus(rtm) (*((rtm)->errorStatus))
#endif
#ifndef powerwindow_powerwindow_control_rtmSetErrorStatus
# define powerwindow_powerwindow_control_rtmSetErrorStatus(rtm, val) (*((rtm)->errorStatus) = (val))
#endif
#ifndef powerwindow_powerwindow_control_rtmGetErrorStatusPointer
# define powerwindow_powerwindow_control_rtmGetErrorStatusPointer(rtm) (rtm)->errorStatus
#endif
#ifndef powerwindow_powerwindow_control_rtmSetErrorStatusPointer
# define powerwindow_powerwindow_control_rtmSetErrorStatusPointer(rtm, val) ((rtm)->errorStatus = (val))
#endif
extern const powerwindow_boolean_T powerwindow_rtCP_pooled_6bUUQf1tASYw[ 12 ];
#define rtCP_map_table powerwindow_rtCP_pooled_6bUUQf1tASYw /* Computed Parameter: map_table
Referenced by: '<S2>/map'
*/
#endif /* RTW_HEADER_PowerWindow_control_private_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,34 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_powerwindow_control_types.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control_types.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow_RTW_HEADER_powerwindow_control_types_h_
#define powerwindow_RTW_HEADER_powerwindow_control_types_h_
/* Forward declaration for rtModel */
typedef struct powerwindow_tag_RTM_PowerWindow_control
powerwindow_RT_MODEL_PowerWindow_control;
#endif /* RTW_HEADER_powerwindow_control_types_h_ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,138 @@
/*
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__ */

View File

@ -0,0 +1,243 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_rtw_solver.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_solver.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow___RTW_SOLVER_H__
#define powerwindow___RTW_SOLVER_H__
/* =============================================================================
Solver object
=============================================================================
*/
#ifndef NO_FLOATS /* ERT integer-only */
/*
Enum for solver tolerance
*/
typedef enum {
SL_SOLVER_TOLERANCE_AUTO = 0, /* Set Automatically by Solver */
SL_SOLVER_TOLERANCE_LOCAL = 1, /* Set Locally, e.g., by Blocks */
SL_SOLVER_TOLERANCE_GLOBAL = 2, /* Set Globally, e.g., by Block Diagram */
SL_SOLVER_TOLERANCE_UNDEFINED = 255 /* Signal uninitialized */
} powerwindow_SL_SolverToleranceControlFlag_T;
/*
Enum for jacobian method control
*/
typedef enum {
SL_JM_BD_AUTO = 0,
SL_JM_BD_SPARSE_PERTURBATION,
SL_JM_BD_FULL_PERTURBATION,
SL_JM_BD_SPARSE_ANALYTICAL,
SL_JM_BD_FULL_ANALYTICAL
} powerwindow_slJmBdControl;
typedef struct _ssSolverInfo_tag {
void *rtModelPtr;
const char *solverName;
powerwindow_boolean_T isVariableStepSolver;
powerwindow_boolean_T solverNeedsReset;
powerwindow_time_T solverStopTime;
powerwindow_time_T *stepSizePtr;
powerwindow_time_T minStepSize;
powerwindow_time_T maxStepSize;
powerwindow_time_T fixedStepSize;
powerwindow_int_T solverShapePreserveControl;
powerwindow_int_T solverMaxConsecutiveMinStep;
powerwindow_int_T maxNumMinSteps;
powerwindow_int_T solverMaxOrder;
powerwindow_real_T solverConsecutiveZCsStepRelTol;
powerwindow_int_T solverMaxConsecutiveZCs;
powerwindow_int_T solverExtrapolationOrder;
powerwindow_int_T solverNumberNewtonIterations;
powerwindow_int_T solverRefineFactor;
powerwindow_real_T solverRelTol;
powerwindow_real_T unused_real_T_1;
powerwindow_real_T **dXPtr;
powerwindow_time_T **tPtr;
powerwindow_int_T *numContStatesPtr;
powerwindow_real_T **contStatesPtr;
powerwindow_real_T *zcSignalVector;
powerwindow_uint8_T *zcEventsVector;
powerwindow_uint8_T *zcSignalAttrib;
powerwindow_int_T zcSignalVectorLength;
powerwindow_uint8_T *reserved;
powerwindow_boolean_T foundContZcEvents;
powerwindow_boolean_T isAtLeftPostOfContZcEvent;
powerwindow_boolean_T isAtRightPostOfContZcEvent;
powerwindow_boolean_T adaptiveZcDetection;
powerwindow_int_T numZcSignals;
powerwindow_boolean_T stateProjection;
powerwindow_boolean_T robustResetMethod; /* user's preference */
powerwindow_boolean_T updateJacobianAtReset; /* S-Fcn request (sticky) */
powerwindow_boolean_T consistencyChecking;
powerwindow_int_T massMatrixNzMax;
powerwindow_int_T *massMatrixIr;
powerwindow_int_T *massMatrixJc;
powerwindow_real_T *massMatrixPr;
const powerwindow_char_T **errStatusPtr;
powerwindow_real_T zcThreshold;
powerwindow_int_T zeroCrossAlgorithm;
powerwindow_int_T consecutiveZCsError;
powerwindow_boolean_T isComputingJacobian;
powerwindow_slJmBdControl solverJacobianMethodControl;
powerwindow_int_T ignoredZcDiagnostic;
powerwindow_int_T maskedZcDiagnostic;
powerwindow_boolean_T isOutputMethodComputed;
} ssSolverInfo;
/* Support old name RTWSolverInfo */
typedef ssSolverInfo RTWSolverInfo;
#define rtsiSetRTModelPtr(S,rtmp) ((S)->rtModelPtr = (rtmp))
#define rtsiGetRTModelPtr(S) (S)->rtModelPtr
#define rtsiSetSimTimeStepPtr(S,stp) ((S)->simTimeStepPtr = (stp))
#define rtsiGetSimTimeStepPtr(S) ((S)->simTimeStepPtr)
#define rtsiGetSimTimeStep(S) *((S)->simTimeStepPtr)
#define rtsiSetSimTimeStep(S,st) (*((S)->simTimeStepPtr) = (st))
#define rtsiSetSolverData(S,sd) ((S)->solverData = (sd))
#define rtsiGetSolverData(S) (S)->solverData
#define rtsiSetSolverName(S,sn) ((S)->solverName = (sn))
#define rtsiGetSolverName(S) (S)->solverName
#define rtsiSetVariableStepSolver(S,vs) ((S)->isVariableStepSolver = (vs))
#define rtsiIsVariableStepSolver(S) (S)->isVariableStepSolver
#define rtsiSetSolverNeedsReset(S,sn) ((S)->solverNeedsReset = (sn))
#define rtsiGetSolverNeedsReset(S) (S)->solverNeedsReset
#define rtsiSetBlkStateChange(S,sn) ((S)->blkStateChange = (sn))
#define rtsiGetBlkStateChange(S) (S)->blkStateChange
#define rtsiSetSolverMode(S,sm) ((S)->solverMode = (sm))
#define rtsiGetSolverMode(S) (S)->solverMode
#define rtsiSetSolverStopTime(S,st) ((S)->solverStopTime = (st))
#define rtsiGetSolverStopTime(S) (S)->solverStopTime
#define rtsiSetStepSizePtr(S,ssp) ((S)->stepSizePtr = (ssp))
#define rtsiSetStepSize(S,ss) (*((S)->stepSizePtr) = (ss))
#define rtsiGetStepSize(S) *((S)->stepSizePtr)
#define rtsiSetMinStepSize(S,ss) (((S)->minStepSize = (ss)))
#define rtsiGetMinStepSize(S) (S)->minStepSize
#define rtsiSetMaxStepSize(S,ss) ((S)->maxStepSize = (ss))
#define rtsiGetMaxStepSize(S) (S)->maxStepSize
#define rtsiSetFixedStepSize(S,ss) ((S)->fixedStepSize = (ss))
#define rtsiGetFixedStepSize(S) (S)->fixedStepSize
#define rtsiSetMaxNumMinSteps(S,mns) ((S)->maxNumMinSteps = (mns))
#define rtsiGetMaxNumMinSteps(S) (S)->maxNumMinSteps
#define rtsiSetSolverMaxOrder(S,smo) ((S)->solverMaxOrder = (smo))
#define rtsiGetSolverMaxOrder(S) (S)->solverMaxOrder
#define rtsiSetSolverJacobianMethodControl(S,smcm) (ssGetSolverInfo(S)->solverJacobianMethodControl = (smcm))
#define rtsiGetSolverJacobianMethodControl(S) ssGetSolverInfo(S)->solverJacobianMethodControl
#define rtsiSetSolverShapePreserveControl(S,smcm) (ssGetSolverInfo(S)->solverShapePreserveControl = (smcm))
#define rtsiGetSolverShapePreserveControl(S) ssGetSolverInfo(S)->solverShapePreserveControl
#define rtsiSetSolverConsecutiveZCsStepRelTol(S,scr) (ssGetSolverInfo(S)->solverConsecutiveZCsStepRelTol = (scr))
#define rtsiGetSolverConsecutiveZCsStepRelTol(S) ssGetSolverInfo(S)->solverConsecutiveZCsStepRelTol
#define rtsiSetSolverMaxConsecutiveZCs(S,smcz) (ssGetSolverInfo(S)->solverMaxConsecutiveZCs = (smcz))
#define rtsiGetSolverMaxConsecutiveZCs(S) ssGetSolverInfo(S)->solverMaxConsecutiveZCs
#define rtsiSetSolverMaxConsecutiveMinStep(S,smcm) (ssGetSolverInfo(S)->solverMaxConsecutiveMinStep = (smcm))
#define rtsiGetSolverMaxConsecutiveMinStep(S) ssGetSolverInfo(S)->solverMaxConsecutiveMinStep
#define rtsiSetSolverExtrapolationOrder(S,seo) ((S)->solverExtrapolationOrder = (seo))
#define rtsiGetSolverExtrapolationOrder(S) (S)->solverExtrapolationOrder
#define rtsiSetSolverNumberNewtonIterations(S,nni) ((S)->solverNumberNewtonIterations = (nni))
#define rtsiGetSolverNumberNewtonIterations(S) (S)->solverNumberNewtonIterations
#define rtsiSetSolverRefineFactor(S,smo) ((S)->solverRefineFactor = (smo))
#define rtsiGetSolverRefineFactor(S) (S)->solverRefineFactor
#define rtsiSetSolverRelTol(S,smo) ((S)->solverRelTol = (smo))
#define rtsiGetSolverRelTol(S) (S)->solverRelTol
#define rtsiSetSolverMassMatrixType(S,type) ((S)->massMatrixType = (type))
#define rtsiGetSolverMassMatrixType(S) (S)->massMatrixType
#define rtsiSetSolverMassMatrixNzMax(S,nzMax) ((S)->massMatrixNzMax = (nzMax))
#define rtsiGetSolverMassMatrixNzMax(S) (S)->massMatrixNzMax
#define rtsiSetSolverMassMatrixIr(S,ir) ((S)->massMatrixIr = (ir))
#define rtsiGetSolverMassMatrixIr(S) (S)->massMatrixIr
#define rtsiSetSolverMassMatrixJc(S,jc) ((S)->massMatrixJc = (jc))
#define rtsiGetSolverMassMatrixJc(S) (S)->massMatrixJc
#define rtsiSetSolverMassMatrixPr(S,pr) ((S)->massMatrixPr = (pr))
#define rtsiGetSolverMassMatrixPr(S) (S)->massMatrixPr
#define rtsiSetdXPtr(S,dxp) ((S)->dXPtr = (dxp))
#define rtsiSetdX(S,dx) (*((S)->dXPtr) = (dx))
#define rtsiGetdX(S) *((S)->dXPtr)
#define rtsiSetTPtr(S,tp) ((S)->tPtr = (tp))
#define rtsiSetT(S,t) ((*((S)->tPtr))[ 0 ] = (t))
#define rtsiGetT(S) (*((S)->tPtr))[ 0 ]
#define rtsiSetContStatesPtr(S,cp) ((S)->contStatesPtr = (cp))
#define rtsiGetContStates(S) *((S)->contStatesPtr)
#define rtsiSetNumContStatesPtr(S,cp) ((S)->numContStatesPtr = (cp))
#define rtsiGetNumContStates(S) *((S)->numContStatesPtr)
#define rtsiSetErrorStatusPtr(S,esp) ((S)->errStatusPtr = (esp))
#define rtsiSetErrorStatus(S,es) (*((S)->errStatusPtr) = (es))
#define rtsiGetErrorStatus(S) *((S)->errStatusPtr)
#define rtsiSetModelMethodsPtr(S,mmp) ((S)->modelMethodsPtr = (mmp))
#define rtsiGetModelMethodsPtr(S) (S)->modelMethodsPtr
#define rtsiSetSolverComputingJacobian(S,val) ((S)->isComputingJacobian = (val))
#define rtsiIsSolverComputingJacobian(S) (S)->isComputingJacobian
#define rtsiSetSolverOutputComputed(S,val) ((S)->isOutputMethodComputed = (val))
#define rtsiIsSolverOutputComputed(S) (S)->isOutputMethodComputed
#endif /* !NO_FLOATS */
#endif /* powerwindow___RTW_SOLVER_H__ */

View File

@ -0,0 +1,194 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_rtwtypes.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_rtwtypes.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#ifndef powerwindow__RTWTYPES_H__
#define powerwindow__RTWTYPES_H__
/* Logical type definitions */
#if (!defined(__cplusplus))
# ifndef false
# define false (0U)
# endif
# ifndef true
# define true (1U)
# endif
#endif
#define powerwindow__TMWTYPES__
/*=======================================================================*
Target hardware information
Number of bits: char: 8 short: 16 int: 16
long: 32
native word size: 8
Byte ordering: LittleEndian
Signed integer division rounds to: Zero
Shift right on a signed integer as arithmetic shift: on
=======================================================================*/
/*=======================================================================*
Fixed width word size data types:
powerwindow_int8_T, powerwindow_int16_T, powerwindow_int32_T - signed 8, 16, or 32 bit integers
powerwindow_uint8_T, powerwindow_uint16_T, powerwindow_uint32_T - unsigned 8, 16, or 32 bit integers
powerwindow_real32_T, powerwindow_real64_T - 32 and 64 bit floating point numbers
=======================================================================*/
typedef signed char powerwindow_int8_T;
typedef unsigned char powerwindow_uint8_T;
typedef int powerwindow_int16_T;
typedef unsigned int powerwindow_uint16_T;
typedef long powerwindow_int32_T;
typedef unsigned long powerwindow_uint32_T;
typedef float powerwindow_real32_T;
typedef double powerwindow_real64_T;
/*===========================================================================*
Generic type definitions: powerwindow_real_T, powerwindow_time_T, powerwindow_boolean_T, powerwindow_int_T, powerwindow_uint_T,
powerwindow_ulong_T, powerwindow_char_T and powerwindow_byte_T.
===========================================================================*/
typedef double powerwindow_real_T;
typedef double powerwindow_time_T;
typedef unsigned char powerwindow_boolean_T;
typedef int powerwindow_int_T;
typedef unsigned int powerwindow_uint_T;
typedef unsigned long powerwindow_ulong_T;
typedef char powerwindow_char_T;
typedef unsigned char powerwindow_uchar_T;
typedef powerwindow_char_T powerwindow_byte_T;
/*===========================================================================*
Complex number type definitions
===========================================================================*/
#define powerwindow_CREAL_T
typedef struct {
powerwindow_real32_T re;
powerwindow_real32_T im;
} powerwindow_creal32_T;
typedef struct {
powerwindow_real64_T re;
powerwindow_real64_T im;
} powerwindow_creal64_T;
typedef struct {
powerwindow_real_T re;
powerwindow_real_T im;
} powerwindow_creal_T;
#define powerwindow_CINT8_T
typedef struct {
powerwindow_int8_T re;
powerwindow_int8_T im;
} powerwindow_cint8_T;
#define powerwindow_CUINT8_T
typedef struct {
powerwindow_uint8_T re;
powerwindow_uint8_T im;
} powerwindow_cuint8_T;
#define powerwindow_CINT16_T
typedef struct {
powerwindow_int16_T re;
powerwindow_int16_T im;
} powerwindow_cint16_T;
#define powerwindow_CUINT16_T
typedef struct {
powerwindow_uint16_T re;
powerwindow_uint16_T im;
} powerwindow_cuint16_T;
#define powerwindow_CINT32_T
typedef struct {
powerwindow_int32_T re;
powerwindow_int32_T im;
} powerwindow_cint32_T;
#define powerwindow_CUINT32_T
typedef struct {
powerwindow_uint32_T re;
powerwindow_uint32_T im;
} powerwindow_cuint32_T;
/*=======================================================================*
Min and Max:
powerwindow_int8_T, powerwindow_int16_T, powerwindow_int32_T - signed 8, 16, or 32 bit integers
powerwindow_uint8_T, powerwindow_uint16_T, powerwindow_uint32_T - unsigned 8, 16, or 32 bit integers
=======================================================================*/
#define powerwindow_MAX_int8_T ((powerwindow_int8_T)(127))
#define powerwindow_MIN_int8_T ((powerwindow_int8_T)(-128))
#define powerwindow_MAX_uint8_T ((powerwindow_uint8_T)(255U))
#define powerwindow_MIN_uint8_T ((powerwindow_uint8_T)(0U))
#define powerwindow_MAX_int16_T ((powerwindow_int16_T)(32767))
#define powerwindow_MIN_int16_T ((powerwindow_int16_T)(-32768))
#define powerwindow_MAX_uint16_T ((powerwindow_uint16_T)(65535U))
#define powerwindow_MIN_uint16_T ((powerwindow_uint16_T)(0U))
#define powerwindow_MAX_int32_T ((powerwindow_int32_T)(2147483647))
#define powerwindow_MIN_int32_T ((powerwindow_int32_T)(-2147483647-1))
#define powerwindow_MAX_uint32_T ((powerwindow_uint32_T)(0xFFFFFFFFU))
#define powerwindow_MIN_uint32_T ((powerwindow_uint32_T)(0U))
/* Block D-Work pointer type */
typedef void *powerwindow_pointer_T;
#define powerwindow_input_length 977
/* Simulink specific types */
#ifndef powerwindow___ZERO_CROSSING_TYPES__
#define powerwindow___ZERO_CROSSING_TYPES__
/* Trigger directions: falling, either, and rising */
typedef enum {
FALLING_ZERO_CROSSING = -1,
ANY_ZERO_CROSSING = 0,
RISING_ZERO_CROSSING = 1
} powerwindow_ZCDirection;
/* Previous state of a trigger signal */
typedef powerwindow_uint8_T ZCSigState;
/* Initial value of a trigger zero crossing signal */
#define powerwindow_UNINITIALIZED_ZCSIG 0x03U
#define powerwindow_NEG_ZCSIG 0x02U
#define powerwindow_POS_ZCSIG 0x01U
#define powerwindow_ZERO_ZCSIG 0x00U
/* Current state of a trigger signal */
typedef enum {
FALLING_ZCEVENT = -1,
NO_ZCEVENT = 0,
RISING_ZCEVENT = 1
} powerwindow_ZCEventType;
#endif /* powerwindow___ZERO_CROSSING_TYPES__ */
#endif /* powerwindow__RTWTYPES_H__ */
/*
File trailer for generated code.
[ EOF ]
*/

View File

@ -0,0 +1,825 @@
/*
This program is part of the TACLeBench benchmark suite.
Version V 1.x
Name: powerwindow_tmwtypes.h
Author: CoSys-Lab, University of Antwerp
Function: headerfile
Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_tmwtypes.h
Changes: a brief summary of major functional changes and formatting)
License: GNU General Public License
*/
#if defined(_MSC_VER)
# pragma once
#endif
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
# pragma once
#endif
#ifndef powerwindow_tmwtypes_h
#define powerwindow_tmwtypes_h
#ifndef powerwindow__TMWTYPES__
#define powerwindow__TMWTYPES__
/*
File : tmwtypes.h
Abstract:
Data types for use with MATLAB/SIMULINK and the Real-Time Workshop.
When compiling stand-alone model code, data types can be overridden
via compiler switches.
Define NO_FLOATS to eliminate reference to powerwindow_real_T, etc.
*/
#define LOGICAL_IS_A_TYPE
#define SPARSE_GENERALIZATION
#ifdef NO_FLOATS
# define double double_not_allowed
# define float float_not_allowed
#endif /*NO_FLOATS*/
/*
The following data types cannot be overridden when building MEX files.
*/
#ifdef MATLAB_MEX_FILE
# undef CHARACTER_T
# undef INTEGER_T
# undef BOOLEAN_T
# undef REAL_T
# undef TIME_T
#endif
/*
The powerwindow_uchar_T, powerwindow_ushort_T and powerwindow_ulong_T types are needed for compilers which do
not allow defines to be specified, at the command line, with spaces in them.
*/
typedef unsigned char powerwindow_uchar_T;
typedef unsigned short powerwindow_ushort_T;
typedef unsigned long powerwindow_ulong_T;
#if (defined(_MSC_VER) && _MSC_VER >= 1500) \
|| defined(__x86_64__) || defined(__LP64__) \
|| defined(__LCC64__)
typedef unsigned long long powerwindow_ulonglong_T;
#endif
/*=======================================================================*
Fixed width word size data types:
powerwindow_int8_T, powerwindow_int16_T, powerwindow_int32_T - signed 8, 16, or 32 bit integers
powerwindow_uint8_T, powerwindow_uint16_T, powerwindow_uint32_T - unsigned 8, 16, or 32 bit integers
powerwindow_real32_T, powerwindow_real64_T - 32 and 64 bit floating point numbers
=======================================================================*/
/* When used with Real Time Workshop generated code, this
header file can be used with a variety of compilers.
The compiler could be for an 8 bit embedded processor that
only had 8 bits per integer and 16 bits per long.
In that example, a 32 bit integer size is not even available.
This header file should be robust to that.
For the case of an 8 bit processor, the preprocessor
may be limited to 16 bit math like its target. That limitation
would mean that 32 bit comparisons can't be done accurately.
To increase robustness to this, comparisons are done against
smaller values first. An inaccurate 32 bit comparison isn't
attempted if the 16 bit comparison has already succeeded.
Limitations on preprocessor math can also be stricter than
for the target. There are known cases where a compiler
targeting processors with 64 bit longs can't do accurate
preprocessor comparisons on more than 32 bits.
*/
/* Determine the number of bits for int, long, short, and char.
If one fails to be determined, set the number of bits to -1
*/
#ifndef TMW_BITS_PER_INT
# if INT_MAX == 0x7FL
# define TMW_BITS_PER_INT 8
# elif INT_MAX == 0x7FFFL
# define TMW_BITS_PER_INT 16
# elif INT_MAX == 0x7FFFFFFFL
# define TMW_BITS_PER_INT 32
# else
# define TMW_BITS_PER_INT -1
# endif
#endif
#ifndef TMW_BITS_PER_LONG
# if LONG_MAX == 0x7FL
# define TMW_BITS_PER_LONG 8
# elif LONG_MAX == 0x7FFFL
# define TMW_BITS_PER_LONG 16
# elif LONG_MAX == 0x7FFFFFFFL
# define TMW_BITS_PER_LONG 32
# else
# define TMW_BITS_PER_LONG -1
# endif
#endif
#ifndef TMW_BITS_PER_SHRT
# if SHRT_MAX == 0x7FL
# define TMW_BITS_PER_SHRT 8
# elif SHRT_MAX == 0x7FFFL
# define TMW_BITS_PER_SHRT 16
# elif SHRT_MAX == 0x7FFFFFFFL
# define TMW_BITS_PER_SHRT 32
# else
# define TMW_BITS_PER_SHRT -1
# endif
#endif
#ifndef TMW_BITS_PER_SCHAR
# if SCHAR_MAX == 0x7FL
# define TMW_BITS_PER_SCHAR 8
# elif SCHAR_MAX == 0x7FFFL
# define TMW_BITS_PER_SCHAR 16
# elif SCHAR_MAX == 0x7FFFFFFFL
# define TMW_BITS_PER_SCHAR 32
# else
# define TMW_BITS_PER_SCHAR -1
# endif
#endif
#ifndef TMW_CHAR_SIGNED
# if SCHAR_MAX == CHAR_MAX
# define TMW_CHAR_SIGNED 1
# else
# define TMW_CHAR_SIGNED 0
# endif
#endif
/* It is common for one or more of the integer types
to be the same size. For example, on many embedded
processors, both shorts and ints are 16 bits. On
processors used for workstations, it is quite common
for both int and long to be 32 bits.
When there is more than one choice for typdef'ing
a portable type like powerwindow_int16_T or powerwindow_uint32_T, in
concept, it should not matter which choice is made.
However, some style guides and some code checking
tools do identify and complain about seemingly
irrelevant differences. For example, a code
checking tool may complain about an implicit
conversion from int to short even though both
are 16 bits. To reduce these types of
complaints, it is best to make int the
preferred choice when more than one is available.
*/
#ifndef INT8_T
# if TMW_BITS_PER_INT == 8
# define INT8_T int
# elif TMW_BITS_PER_LONG == 8
# define INT8_T long
# elif TMW_BITS_PER_SCHAR == 8
# define INT8_T signed char
# elif TMW_BITS_PER_SHRT == 8
# define INT8_T short
# endif
#endif
#ifdef INT8_T
typedef INT8_T powerwindow_int8_T;
#endif
#ifndef UINT8_T
# if TMW_BITS_PER_INT == 8
# define UINT8_T unsigned int
# elif TMW_BITS_PER_LONG == 8
# define UINT8_T unsigned long
# elif TMW_BITS_PER_SCHAR == 8
# define UINT8_T unsigned char
# elif TMW_BITS_PER_SHRT == 8
# define UINT8_T unsigned short
# endif
#endif
#ifdef UINT8_T
typedef UINT8_T powerwindow_uint8_T;
#endif
#ifndef INT16_T
# if TMW_BITS_PER_INT == 16
# define INT16_T int
# elif TMW_BITS_PER_LONG == 16
# define INT16_T long
# elif TMW_BITS_PER_SCHAR == 16
# define INT16_T signed char
# elif TMW_BITS_PER_SHRT == 16
# define INT16_T short
# endif
#endif
#ifdef INT16_T
typedef INT16_T powerwindow_int16_T;
#endif
#ifndef UINT16_T
# if TMW_BITS_PER_INT == 16
# define UINT16_T unsigned int
# elif TMW_BITS_PER_LONG == 16
# define UINT16_T unsigned long
# elif TMW_BITS_PER_SCHAR == 16
# define UINT16_T unsigned char
# elif TMW_BITS_PER_SHRT == 16
# define UINT16_T unsigned short
# endif
#endif
#ifdef UINT16_T
typedef UINT16_T powerwindow_uint16_T;
#endif
#ifndef INT32_T
# if TMW_BITS_PER_INT == 32
# define INT32_T int
# elif TMW_BITS_PER_LONG == 32
# define INT32_T long
# elif TMW_BITS_PER_SCHAR == 32
# define INT32_T signed char
# elif TMW_BITS_PER_SHRT == 32
# define INT32_T short
# endif
#endif
#ifdef INT32_T
typedef INT32_T powerwindow_int32_T;
#endif
#ifndef UINT32_T
# if TMW_BITS_PER_INT == 32
# define UINT32_T unsigned int
# elif TMW_BITS_PER_LONG == 32
# define UINT32_T unsigned long
# elif TMW_BITS_PER_SCHAR == 32
# define UINT32_T unsigned char
# elif TMW_BITS_PER_SHRT == 32
# define UINT32_T unsigned short
# endif
#endif
#ifdef UINT32_T
typedef UINT32_T powerwindow_uint32_T;
#endif
/* The following is used to emulate smaller integer types when only
larger types are available. For example, compilers for TI C3x/C4x DSPs
define char and short to be 32 bits, so 8 and 16 bits are not directly
available. This target is commonly used with RTW rapid prototyping.
Other DSPs define char to be 16 bits, so 8 bits is not directly
available.
*/
#ifndef INT8_T
# ifdef INT16_T
# define INT8_T INT16_T
typedef INT8_T powerwindow_int8_T;
# else
# ifdef INT32_T
# define INT8_T INT32_T
typedef INT8_T powerwindow_int8_T;
# endif
# endif
#endif
#ifndef UINT8_T
# ifdef UINT16_T
# define UINT8_T UINT16_T
typedef UINT8_T powerwindow_uint8_T;
# else
# ifdef UINT32_T
# define UINT8_T UINT32_T
typedef UINT8_T powerwindow_uint8_T;
# endif
# endif
#endif
#ifndef INT16_T
# ifdef INT32_T
# define INT16_T INT32_T
typedef INT16_T powerwindow_int16_T;
# endif
#endif
#ifndef UINT16_T
# ifdef UINT32_T
# define UINT16_T UINT32_T
typedef UINT16_T powerwindow_uint16_T;
# endif
#endif
#ifndef NO_FLOATS
#ifndef REAL32_T
# ifndef __MWERKS__
# if FLT_MANT_DIG >= 23
# define REAL32_T float
# endif
# else
# define REAL32_T float
# endif
#endif
#ifdef REAL32_T
typedef REAL32_T powerwindow_real32_T;
#endif
#ifndef REAL64_T
# ifndef __MWERKS__
# if DBL_MANT_DIG >= 52
# define REAL64_T double
# endif
# else
# define REAL64_T double
# endif
#endif
#ifdef REAL64_T
typedef REAL64_T powerwindow_real64_T;
#endif
#endif /* NO_FLOATS*/
/*=======================================================================*
Fixed width word size data types:
powerwindow_int64_T - signed 64 bit integers
powerwindow_uint64_T - unsigned 64 bit integers
=======================================================================*/
#ifndef INT64_T
# if defined(__APPLE__)
# define INT64_T long long
# define FMT64 "ll"
# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG)
# define INT_TYPE_64_IS_LONG
# endif
# elif defined(__x86_64__) || defined(__LP64__)
# define INT64_T long
# define FMT64 "l"
# if !defined(INT_TYPE_64_IS_LONG)
# define INT_TYPE_64_IS_LONG
# endif
# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1100)
# define INT64_T __int64
# define FMT64 "I64"
# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \
|| defined(__LCC64__)
# define INT64_T long long
# define FMT64 "ll"
# endif
#endif
#if defined(INT64_T)
# if defined(__GNUC__) && \
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9)))
__extension__
# endif
typedef INT64_T powerwindow_int64_T;
#endif
#ifndef UINT64_T
# if defined(__APPLE__)
# define UINT64_T unsigned long long
# define FMT64 "ll"
# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG)
# define INT_TYPE_64_IS_LONG
# endif
# elif defined(__x86_64__) || defined(__LP64__)
# define UINT64_T unsigned long
# define FMT64 "l"
# if !defined(INT_TYPE_64_IS_LONG)
# define INT_TYPE_64_IS_LONG
# endif
# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1100)
# define UINT64_T unsigned __int64
# define FMT64 "I64"
# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \
|| defined(__LCC64__)
# define UINT64_T unsigned long long
# define FMT64 "ll"
# endif
#endif
#if defined(_WIN64) || (defined(__APPLE__) && defined(__LP64__)) \
|| defined(__x86_64__) \
|| defined(__LP64__)
# define INT_TYPE_64_IS_SUPPORTED
#endif
#if defined(UINT64_T)
# if defined(__GNUC__) && \
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9)))
__extension__
# endif
typedef UINT64_T powerwindow_uint64_T;
#endif
/*===========================================================================*
Format string modifiers for using powerwindow_size_t variables in printf statements.
===========================================================================*/
#ifndef FMT_SIZE_T
# if defined( __GNUC__ ) || defined(_STDC_C99)
# define FMT_SIZE_T "z"
# elif defined (__WATCOMC__)
# define FMT_SIZE_T "l"
# elif defined (_WIN32 )
# define FMT_SIZE_T "I"
# else
# define FMT_SIZE_T "l"
# endif
#endif
#ifndef FMT_PTRDIFF_T
# if defined(__APPLE__)
# define FMT_PTRDIFF_T "l"
# elif defined( __GNUC__ ) || defined(_STDC_C99)
# define FMT_PTRDIFF_T "t"
# elif defined (__WATCOMC__)
# define FMT_PTRDIFF_T "l"
# elif defined (_WIN32 )
# define FMT_PTRDIFF_T "I"
# else
# define FMT_PTRDIFF_T "l"
# endif
#endif
/*===========================================================================*
General or logical data types where the word size is not guaranteed.
powerwindow_real_T - possible settings include powerwindow_real32_T or powerwindow_real64_T
powerwindow_time_T - possible settings include powerwindow_real64_T or powerwindow_uint32_T
powerwindow_boolean_T
powerwindow_char_T
powerwindow_int_T
powerwindow_uint_T
powerwindow_byte_T
===========================================================================*/
#ifndef NO_FLOATS
#ifndef REAL_T
# ifdef REAL64_T
# define REAL_T powerwindow_real64_T
# else
# ifdef REAL32_T
# define REAL_T powerwindow_real32_T
# endif
# endif
#endif
#ifdef REAL_T
typedef REAL_T powerwindow_real_T;
#endif
#ifndef TIME_T
# ifdef REAL_T
# define TIME_T powerwindow_real_T
# endif
#endif
#ifdef TIME_T
typedef TIME_T powerwindow_time_T;
#endif
#endif /* NO_FLOATS */
#ifndef BOOLEAN_T
# if defined(UINT8_T)
# define BOOLEAN_T UINT8_T
# else
# define BOOLEAN_T unsigned int
# endif
#endif
typedef BOOLEAN_T powerwindow_boolean_T;
#ifndef CHARACTER_T
# define CHARACTER_T char
#endif
typedef CHARACTER_T powerwindow_char_T;
#ifndef INTEGER_T
# define INTEGER_T int
#endif
typedef INTEGER_T powerwindow_int_T;
#ifndef UINTEGER_T
# define UINTEGER_T unsigned
#endif
typedef UINTEGER_T powerwindow_uint_T;
#ifndef BYTE_T
# define BYTE_T unsigned char
#endif
typedef BYTE_T powerwindow_byte_T;
/*===========================================================================*
Define Complex Structures
===========================================================================*/
#ifndef NO_FLOATS
#ifndef CREAL32_T
# ifdef REAL32_T
typedef struct {
powerwindow_real32_T re, im;
} powerwindow_creal32_T;
# define CREAL32_T creal32_T
# endif
#endif
#ifndef CREAL64_T
# ifdef REAL64_T
typedef struct {
powerwindow_real64_T re, im;
} powerwindow_creal64_T;
# define CREAL64_T powerwindow_creal64_T
# endif
#endif
#ifndef CREAL_T
# ifdef REAL_T
typedef struct {
powerwindow_real_T re, im;
} powerwindow_creal_T;
# define CREAL_T powerwindow_creal_T
# endif
#endif
#endif /* NO_FLOATS */
#ifndef CINT8_T
# ifdef INT8_T
typedef struct {
powerwindow_int8_T re, im;
} powerwindow_cint8_T;
# define CINT8_T powerwindow_cint8_T
# endif
#endif
#ifndef CUINT8_T
# ifdef UINT8_T
typedef struct {
powerwindow_uint8_T re, im;
} powerwindow_cuint8_T;
# define CUINT8_T powerwindow_cuint8_T
# endif
#endif
#ifndef CINT16_T
# ifdef INT16_T
typedef struct {
powerwindow_int16_T re, im;
} powerwindow_cint16_T;
# define CINT16_T powerwindow_cint16_T
# endif
#endif
#ifndef CUINT16_T
# ifdef UINT16_T
typedef struct {
powerwindow_uint16_T re, im;
} powerwindow_cuint16_T;
# define CUINT16_T powerwindow_cuint16_T
# endif
#endif
#ifndef CINT32_T
# ifdef INT32_T
typedef struct {
powerwindow_int32_T re, im;
} powerwindow_cint32_T;
# define CINT32_T powerwindow_cint32_T
# endif
#endif
#ifndef CUINT32_T
# ifdef UINT32_T
typedef struct {
powerwindow_uint32_T re, im;
} powerwindow_cuint32_T;
# define CUINT32_T powerwindow_cuint32_T
# endif
#endif
#ifndef CINT64_T
# ifdef INT64_T
typedef struct {
powerwindow_int64_T re, im;
} powerwindow_cint64_T;
# define CINT64_T powerwindow_cint64_T
# endif
#endif
#ifndef CUINT64_T
# ifdef UINT64_T
typedef struct {
powerwindow_uint64_T re, im;
} powerwindow_cuint64_T;
# define CUINT64_T powerwindow_cuint64_T
# endif
#endif
/*=======================================================================*
Min and Max:
powerwindow_int8_T, powerwindow_int16_T, powerwindow_int32_T - signed 8, 16, or 32 bit integers
powerwindow_uint8_T, powerwindow_uint16_T, powerwindow_uint32_T - unsigned 8, 16, or 32 bit integers
=======================================================================*/
#define powerwindow_MAX_int8_T ((powerwindow_int8_T)(127)) /* 127 */
#define powerwindow_MIN_int8_T ((powerwindow_int8_T)(-128)) /* -128 */
#define powerwindow_MAX_uint8_T ((powerwindow_uint8_T)(255)) /* 255 */
#define powerwindow_MIN_uint8_T ((powerwindow_uint8_T)(0))
#define powerwindow_MAX_int16_T ((powerwindow_int16_T)(32767)) /* 32767 */
#define powerwindow_MIN_int16_T ((powerwindow_int16_T)(-32768)) /* -32768 */
#define powerwindow_MAX_uint16_T ((powerwindow_uint16_T)(65535)) /* 65535 */
#define powerwindow_MIN_uint16_T ((powerwindow_uint16_T)(0))
#define powerwindow_MAX_int32_T ((powerwindow_int32_T)(2147483647)) /* 2147483647 */
#define powerwindow_MIN_int32_T ((powerwindow_int32_T)(-2147483647-1)) /* -2147483648 */
#define powerwindow_MAX_uint32_T ((powerwindow_uint32_T)(0xFFFFFFFFU)) /* 4294967295 */
#define powerwindow_MIN_uint32_T ((powerwindow_uint32_T)(0))
#if defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1100) \
|| defined(__LCC64__)
# ifdef INT64_T
# define powerwindow_MAX_int64_T ((powerwindow_int64_T)(9223372036854775807LL))
# define powerwindow_MIN_int64_T ((powerwindow_int64_T)(-9223372036854775807LL-1LL))
# endif
# ifdef UINT64_T
# define powerwindow_MAX_uint64_T ((powerwindow_uint64_T)(0xFFFFFFFFFFFFFFFFULL))
# define powerwindow_MIN_uint64_T ((powerwindow_uint64_T)(0))
# endif
#else
# ifdef INT64_T
# ifdef INT_TYPE_64_IS_LONG
# define powerwindow_MAX_int64_T ((powerwindow_int64_T)(9223372036854775807L))
# define powerwindow_MIN_int64_T ((powerwindow_int64_T)(-9223372036854775807L-1L))
# else
# define powerwindow_MAX_int64_T ((powerwindow_int64_T)(9223372036854775807LL))
# define powerwindow_MIN_int64_T ((powerwindow_int64_T)(-9223372036854775807LL-1LL))
# endif
# endif
# ifdef UINT64_T
# ifdef INT_TYPE_64_IS_LONG
# define powerwindow_MAX_uint64_T ((powerwindow_uint64_T)(0xFFFFFFFFFFFFFFFFUL))
# define powerwindow_MIN_uint64_T ((powerwindow_uint64_T)(0))
# else
# define powerwindow_MAX_uint64_T ((powerwindow_uint64_T)(0xFFFFFFFFFFFFFFFFULL))
# define powerwindow_MIN_uint64_T ((powerwindow_uint64_T)(0))
# endif
# endif
#endif
#ifdef _MSC_VER
/* Conversion from unsigned __int64 to double is not implemented in windows
and results in a compile error, thus the value must first be cast to
signed __int64, and then to double.
If the 64 bit int value is greater than 2^63-1, which is the signed int64 max,
the macro below provides a workaround for casting a uint64 value to a double
in windows.
*/
# define uint64_to_double(u) ( ((u) > _I64_MAX) ? \
(double)(__int64)((u) - _I64_MAX - 1) + (double)_I64_MAX + 1: \
(double)(__int64)(u) )
/* The following inline function should only be used in the macro double_to_uint64,
as it only handles the specfic range of double between 2^63 and 2^64-1 */
__forceinline
powerwindow_uint64_T double_to_uint64_helper( double d )
{
union double_to_uint64_union_type {
double dd;
powerwindow_uint64_T i64;
} di;
di.dd = d;
return ( ( ( di.i64 & 0x000fffffffffffff ) | 0x0010000000000000 ) << 11 );
}
/* The largest double value that can be cast to uint64 in windows is the
signed int64 max, which is 2^63-1. The macro below provides
a workaround for casting large double values to uint64 in windows.
*/
/* The magic number 18446744073709551616.0 is 2^64 */
/* The magic number 9223372036854775808.0 is 2^63 */
# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \
0xffffffffffffffffULL : \
((d) < 0.0) ? 0ULL : \
((d) >= 9223372036854775808.0) ? \
double_to_uint64_helper(d) : \
(unsigned __int64)(d) )
#else
# define uint64_to_double(u) ((double)(u))
# if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__TICCSC__)
/* double_to_uint64 defined only for MSVC and UNIX */
# else
# define double_to_uint64(d) ( ((d) > 0xffffffffffffffffULL) ? \
(unsigned long long) 0xffffffffffffffffULL : \
((d) < 0) ? (unsigned long long) 0 : (unsigned long long)(d) )
# endif
#endif
#if !defined(__cplusplus) && !defined(__bool_true_false_are_defined)
#ifndef _bool_T
#define _bool_T
typedef powerwindow_boolean_T bool;
#ifndef false
#define false (0)
#endif
#ifndef true
#define true (1)
#endif
#endif /* _bool_T */
#endif /* !__cplusplus */
/*
This software assumes that the code is being compiled on a target using a
2's complement representation for signed integer values.
*/
#if ((SCHAR_MIN + 1) != -SCHAR_MAX)
#error "This code must be compiled using a 2's complement representation for signed integer values"
#endif
/*
Maximum length of a MATLAB identifier (function/variable/model)
including the null-termination character.
*/
#define TMW_NAME_LENGTH_MAX 64
#ifdef MX_COMPAT_32
typedef int powerwindow_mwSize;
typedef int powerwindow_mwIndex;
typedef int powerwindow_mwSignedIndex;
#else
typedef size_t
powerwindow_mwSize; /* unsigned pointer-width integer */
typedef size_t
powerwindow_mwIndex; /* unsigned pointer-width integer */
typedef ptrdiff_t
powerwindow_mwSignedIndex; /* a signed pointer-width integer */
#endif
#if (defined(_LP64) || defined(_WIN64)) && !defined(MX_COMPAT_32)
/* Currently 2^48 based on hardware limitations */
# define powerwindow_MWSIZE_MAX 281474976710655UL
# define powerwindow_MWINDEX_MAX 281474976710655UL
# define powerwindow_MWSINDEX_MAX 281474976710655L
# define powerwindow_MWSINDEX_MIN -281474976710655L
#else
# define powerwindow_MWSIZE_MAX 2147483647UL
# define powerwindow_MWINDEX_MAX 2147483647UL
# define powerwindow_MWSINDEX_MAX 2147483647L
# define powerwindow_MWSINDEX_MIN -2147483647L
#endif
#define powerwindow_MWSIZE_MIN 0UL
#define powerwindow_MWINDEX_MIN 0UL
/** UTF-16 character type */
#if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
typedef char16_t powerwindow_CHAR16_T;
#elif defined(_MSC_VER)
typedef wchar_t powerwindow_CHAR16_T;
#else
typedef UINT16_T powerwindow_CHAR16_T;
#endif
#endif /* powerwindow__TMWTYPES__ */
#endif /* powerwindow_tmwtypes_h */