#ifndef __c2_double_new_moment_h__
#define __c2_double_new_moment_h__

/* Include files */
#include "sf_runtime/sfc_sf.h"
#include "sf_runtime/sfc_mex.h"
#include "rtwtypes.h"
#include "multiword_types.h"

/* Type Definitions */
#ifndef typedef_SFc2_double_new_momentInstanceStruct
#define typedef_SFc2_double_new_momentInstanceStruct

typedef struct {
  SimStruct *S;
  ChartInfoStruct chartInfo;
  uint32_T chartNumber;
  uint32_T instanceNumber;
  boolean_T c2_dataWrittenToVector[2];
  uint8_T c2_doSetSimStateSideEffects;
  const mxArray *c2_setSimStateSideEffectsInfo;
  int32_T *c2_sfEvent;
  boolean_T *c2_isStable;
  uint8_T *c2_is_active_c2_double_new_moment;
  uint8_T *c2_is_c2_double_new_moment;
  real_T *c2_arm;
  real_T *c2_arm2;
  real_T *c2_stab_flag;
  real_T (*c2_bound)[4];
  real_T *c2_stab_allow;
  real_T *c2_su_flag;
} SFc2_double_new_momentInstanceStruct;

#endif                                 /*typedef_SFc2_double_new_momentInstanceStruct*/

/* Named Constants */

/* Variable Declarations */
extern struct SfDebugInstanceStruct *sfGlobalDebugInstanceStruct;

/* Variable Definitions */

/* Function Declarations */
extern const mxArray *sf_c2_double_new_moment_get_eml_resolved_functions_info
  (void);

/* Function Definitions */
extern void sf_c2_double_new_moment_get_check_sum(mxArray *plhs[]);
extern void c2_double_new_moment_method_dispatcher(SimStruct *S, int_T method,
  void *data);

#endif
