static void sf_gateway_c2_mdl5(SFc2_mdl5InstanceStruct *chartInstance) { boolean_T c2_out; real_T *c2_N_Loop; real_T *c2_idx; int32_T exitg1; c2_idx = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1); c2_N_Loop = (real_T *)ssGetInputPortSignal(chartInstance->S, 0); c2_set_sim_state_side_effects_c2_mdl5(chartInstance); _SFD_SYMBOL_SCOPE_PUSH(0U, 0U); _sfTime_ = sf_get_time(chartInstance->S); _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 0U, chartInstance->c2_sfEvent); _SFD_DATA_RANGE_CHECK(*c2_N_Loop, 0U); _SFD_DATA_RANGE_CHECK((real_T)chartInstance->c2_i1, 1U); _SFD_DATA_RANGE_CHECK(*c2_idx, 2U); chartInstance->c2_sfEvent = CALL_EVENT; _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 0U, chartInstance->c2_sfEvent); _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 0U, chartInstance->c2_sfEvent); *c2_idx = 1.0; _SFD_DATA_RANGE_CHECK(*c2_idx, 2U); chartInstance->c2_i1 = 0; _SFD_DATA_RANGE_CHECK((real_T)chartInstance->c2_i1, 1U); do { exitg1 = 0; _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 1U, chartInstance->c2_sfEvent); _SFD_CT_CALL(TRANSITION_BEFORE_PROCESSING_TAG, 2U, chartInstance->c2_sfEvent); c2_out = (CV_TRANSITION_EVAL(2U, (int32_T)_SFD_CCP_CALL(2U, 0, (real_T) chartInstance->c2_i1 < *c2_N_Loop != 0U, chartInstance->c2_sfEvent)) != 0); if (c2_out) { _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 2U, chartInstance->c2_sfEvent); _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 3U, chartInstance->c2_sfEvent); sf_call_output_fcn_call(chartInstance->S, 0, "function_call", 0); (*c2_idx)++; _SFD_DATA_RANGE_CHECK(*c2_idx, 2U); _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 5U, chartInstance->c2_sfEvent); chartInstance->c2_i1 = c2__s32_add__(chartInstance, chartInstance->c2_i1, 1); _SFD_DATA_RANGE_CHECK((real_T)chartInstance->c2_i1, 1U); _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } else { exitg1 = 1; } } while (exitg1 == 0); _SFD_CT_CALL(TRANSITION_ACTIVE_TAG, 4U, chartInstance->c2_sfEvent); _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 0U, chartInstance->c2_sfEvent); _SFD_SYMBOL_SCOPE_POP(); _SFD_CHECK_FOR_STATE_INCONSISTENCY(_mdl5MachineNumber_, chartInstance->chartNumber, chartInstance->instanceNumber); }
static void zeroCrossings_c1_newtons_cradle(SFc1_newtons_cradleInstanceStruct *chartInstance) { boolean_T c1_stateChanged; int32_T c1_i; int32_T c1_exitg1; real_T *c1_zcVar; real_T (*c1_p)[3]; c1_p = (real_T (*)[3])(ssGetContStates(chartInstance->S) + 0); c1_zcVar = (real_T *)(ssGetNonsampledZCs(chartInstance->S) + 0); _sfTime_ = (real_T)ssGetT(chartInstance->S); if (chartInstance->c1_lastMajorTime == _sfTime_) { *c1_zcVar = -1.0; } else { c1_stateChanged = (boolean_T)0; c1_i = 0; do { c1_exitg1 = 0; if (c1_i < 2) { if ((*c1_p)[c1_i] < (*c1_p)[c1_i + 1]) { c1_i = 1; c1_exitg1 = 1; } else { c1_i++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } } else { c1_i = 0; c1_exitg1 = 1; } } while (c1_exitg1 == 0); if (c1_i != 0) { c1_stateChanged = TRUE; } if (c1_stateChanged) { *c1_zcVar = 1.0; } else { *c1_zcVar = -1.0; } } }
static void sf_c1_newtons_cradle(SFc1_newtons_cradleInstanceStruct *chartInstance) { boolean_T c1_stateChanged; int32_T c1_i; int32_T c1_exitg1; real_T c1_tmp; real_T (*c1_p)[3]; real_T (*c1_v)[3]; real_T (*c1_p_out)[3]; real_T (*c1_v_out)[3]; c1_v = (real_T (*)[3])(ssGetContStates(chartInstance->S) + 3); c1_p = (real_T (*)[3])(ssGetContStates(chartInstance->S) + 0); c1_v_out = (real_T (*)[3])ssGetOutputPortSignal(chartInstance->S, 2); c1_p_out = (real_T (*)[3])ssGetOutputPortSignal(chartInstance->S, 1); c1_set_sim_state_side_effects_c1_newtons_cradle(chartInstance); _sfTime_ = (real_T)ssGetT(chartInstance->S); if (ssIsMajorTimeStep(chartInstance->S) != 0) { chartInstance->c1_lastMajorTime = _sfTime_; c1_stateChanged = (boolean_T)0; for (c1_i = 0; c1_i < 3; c1_i++) { (*c1_p_out)[c1_i] = 0.0; (*c1_v_out)[c1_i] = 0.0; } c1_i = 0; do { c1_exitg1 = 0; if (c1_i < 2) { if ((*c1_p)[c1_i] < (*c1_p)[c1_i + 1]) { c1_i = 1; c1_exitg1 = 1; } else { c1_i++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } } else { c1_i = 0; c1_exitg1 = 1; } } while (c1_exitg1 == 0); if (c1_i != 0) { for (c1_i = 0; c1_i < 2; c1_i++) { if ((*c1_p)[c1_i] < (*c1_p)[c1_i + 1]) { c1_tmp = (*c1_p)[c1_i]; (*c1_p)[c1_i] = (*c1_p)[c1_i + 1]; (*c1_p)[c1_i + 1] = c1_tmp; c1_tmp = (*c1_v)[c1_i]; (*c1_v)[c1_i] = (*c1_v)[c1_i + 1]; (*c1_v)[c1_i + 1] = c1_tmp; } _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } c1_stateChanged = TRUE; chartInstance->c1_is_c1_newtons_cradle = c1_IN_FreeDynamics; } if (c1_stateChanged) { ssSetSolverNeedsReset(chartInstance->S); } } _sfTime_ = (real_T)ssGetT(chartInstance->S); for (c1_i = 0; c1_i < 3; c1_i++) { (*c1_p_out)[c1_i] = (*c1_p)[c1_i]; (*c1_v_out)[c1_i] = (*c1_v)[c1_i]; } }
static void sf_c12_CusakisME4901arcs(SFc12_CusakisME4901arcsInstanceStruct *chartInstance) { int32_T c12_i2; int32_T c12_i3; int32_T c12_i4; real_T c12_M[16]; uint32_T c12_debug_family_var_map[11]; real_T c12_m; real_T c12_n; real_T c12_a[16]; real_T c12_MM[16]; real_T c12_i; real_T c12_mm; real_T c12_j; real_T c12_nargin = 1.0; real_T c12_nargout = 1.0; real_T c12_DD[16]; int32_T c12_i5; int32_T c12_i6; int32_T c12_b_mm; int32_T c12_b_j; int32_T c12_i7; int32_T c12_i8; real_T (*c12_b_DD)[16]; real_T (*c12_b_M)[16]; c12_b_DD = (real_T (*)[16])ssGetOutputPortSignal(chartInstance->S, 1); c12_b_M = (real_T (*)[16])ssGetInputPortSignal(chartInstance->S, 0); _sfTime_ = (real_T)ssGetT(chartInstance->S); _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 11U, chartInstance->c12_sfEvent); for (c12_i2 = 0; c12_i2 < 16; c12_i2++) { _SFD_DATA_RANGE_CHECK((*c12_b_M)[c12_i2], 0U); } for (c12_i3 = 0; c12_i3 < 16; c12_i3++) { _SFD_DATA_RANGE_CHECK((*c12_b_DD)[c12_i3], 1U); } chartInstance->c12_sfEvent = CALL_EVENT; _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 11U, chartInstance->c12_sfEvent); for (c12_i4 = 0; c12_i4 < 16; c12_i4++) { c12_M[c12_i4] = (*c12_b_M)[c12_i4]; } _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 11U, 11U, c12_debug_family_names, c12_debug_family_var_map); _SFD_SYMBOL_SCOPE_ADD_EML(&c12_m, 0U, c12_c_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML(&c12_n, 1U, c12_c_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c12_a, 2U, c12_sf_marshallOut, c12_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c12_MM, 3U, c12_sf_marshallOut, c12_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c12_i, 4U, c12_c_sf_marshallOut, c12_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c12_mm, 5U, c12_c_sf_marshallOut, c12_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c12_j, 6U, c12_c_sf_marshallOut, c12_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c12_nargin, 7U, c12_c_sf_marshallOut, c12_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c12_nargout, 8U, c12_c_sf_marshallOut, c12_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML(c12_M, 9U, c12_b_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c12_DD, 10U, c12_sf_marshallOut, c12_sf_marshallIn); CV_EML_FCN(0, 0); _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 3); c12_m = 2.0; c12_n = 8.0; _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 4); for (c12_i5 = 0; c12_i5 < 16; c12_i5++) { c12_a[c12_i5] = 0.0; } _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 5); for (c12_i6 = 0; c12_i6 < 16; c12_i6++) { c12_MM[c12_i6] = 0.0; } _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 6); c12_i = 1.0; _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 7); c12_mm = 0.0; c12_b_mm = 0; while (c12_b_mm < 8) { c12_mm = (real_T)c12_b_mm * 2.0; CV_EML_FOR(0, 1, 0, 1); _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 8); c12_j = 1.0; c12_b_j = 0; while (c12_b_j < 2) { c12_j = 1.0 + (real_T)c12_b_j; CV_EML_FOR(0, 1, 1, 1); _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 9); c12_a[(int32_T)(real_T)_SFD_EML_ARRAY_BOUNDS_CHECK("a", (int32_T) _SFD_INTEGER_CHECK("j+mm", c12_j + c12_mm), 1, 16, 1, 0) - 1] = c12_M [((int32_T)(real_T)_SFD_EML_ARRAY_BOUNDS_CHECK("M", (int32_T) _SFD_INTEGER_CHECK("j", c12_j), 1, 2, 1, 0) + (((int32_T)(real_T) _SFD_EML_ARRAY_BOUNDS_CHECK("M", (int32_T)_SFD_INTEGER_CHECK("i", c12_i), 1, 8, 2, 0) - 1) << 1)) - 1]; c12_b_j++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } CV_EML_FOR(0, 1, 1, 0); _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 11); c12_i++; c12_b_mm++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } CV_EML_FOR(0, 1, 0, 0); _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, 13); for (c12_i7 = 0; c12_i7 < 16; c12_i7++) { c12_DD[c12_i7] = c12_a[c12_i7]; } _SFD_EML_CALL(0U, chartInstance->c12_sfEvent, -13); _SFD_SYMBOL_SCOPE_POP(); for (c12_i8 = 0; c12_i8 < 16; c12_i8++) { (*c12_b_DD)[c12_i8] = c12_DD[c12_i8]; } _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 11U, chartInstance->c12_sfEvent); _SFD_CHECK_FOR_STATE_INCONSISTENCY(_CusakisME4901arcsMachineNumber_, chartInstance->chartNumber, chartInstance->instanceNumber); }
static void c1_chartstep_c1_VrSubsystem(SFc1_VrSubsystemInstanceStruct *chartInstance) { int32_T c1_i3; real_T c1_b_u[320]; uint32_T c1_debug_family_var_map[10]; real_T c1_pixelsFold; real_T c1_remainder; real_T c1_sideThreshold; real_T c1_nextFold; real_T c1_i; real_T c1_endFold; real_T c1_nargin = 1.0; real_T c1_nargout = 1.0; real_T c1_b_y[128]; int32_T c1_i4; int32_T c1_b_i; const mxArray *c1_c_y = NULL; static char_T c1_c_u[30] = { 'C', 'o', 'd', 'e', 'r', ':', 'b', 'u', 'i', 'l', 't', 'i', 'n', 's', ':', 'A', 's', 's', 'e', 'r', 't', 'i', 'o', 'n', 'F', 'a', 'i', 'l', 'e', 'd' }; const mxArray *c1_d_y = NULL; boolean_T c1_b0; boolean_T c1_b1; boolean_T c1_b2; int32_T c1_i5; int32_T c1_i6; int32_T c1_u_sizes; int32_T c1_loop_ub; int32_T c1_i7; real_T c1_u_data[320]; int32_T c1_c_i; const mxArray *c1_e_y = NULL; const mxArray *c1_f_y = NULL; boolean_T c1_b3; boolean_T c1_b4; boolean_T c1_b5; int32_T c1_i8; int32_T c1_i9; int32_T c1_b_u_sizes; int32_T c1_b_loop_ub; int32_T c1_i10; real_T c1_b_u_data[320]; int32_T c1_d_i; const mxArray *c1_g_y = NULL; const mxArray *c1_h_y = NULL; boolean_T c1_b6; boolean_T c1_b7; boolean_T c1_b8; int32_T c1_i11; int32_T c1_i12; int32_T c1_c_u_sizes; int32_T c1_c_loop_ub; int32_T c1_i13; real_T c1_c_u_data[320]; int32_T c1_i14; _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 0U, chartInstance->c1_sfEvent); for (c1_i3 = 0; c1_i3 < 320; c1_i3++) { c1_b_u[c1_i3] = (*chartInstance->c1_u)[c1_i3]; } _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 10U, 10U, c1_debug_family_names, c1_debug_family_var_map); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_pixelsFold, 0U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML(&c1_remainder, 1U, c1_c_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML(&c1_sideThreshold, 2U, c1_c_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_nextFold, 3U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_i, 4U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_endFold, 5U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_nargin, 6U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c1_nargout, 7U, c1_c_sf_marshallOut, c1_b_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML(c1_b_u, 8U, c1_b_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(c1_b_y, 9U, c1_sf_marshallOut, c1_sf_marshallIn); CV_EML_FCN(0, 0); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 7); c1_pixelsFold = 2.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 9); c1_remainder = 64.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 15); for (c1_i4 = 0; c1_i4 < 128; c1_i4++) { c1_b_y[c1_i4] = 0.0; } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 16); c1_sideThreshold = 32.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 18); c1_nextFold = 1.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 19); c1_i = 1.0; c1_b_i = 0; while (c1_b_i < 32) { c1_i = 1.0 + (real_T)c1_b_i; CV_EML_FOR(0, 1, 0, 1); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 20); c1_endFold = c1_nextFold + 2.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 21); if (c1_nextFold <= 500.0) { } else { c1_c_y = NULL; sf_mex_assign(&c1_c_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_c_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 22); if (c1_endFold <= 500.0) { } else { c1_d_y = NULL; sf_mex_assign(&c1_d_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_d_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 23); c1_b0 = (c1_nextFold > c1_endFold); c1_b1 = c1_b0; c1_b2 = c1_b1; if (c1_b2) { c1_i5 = 1; c1_i6 = 0; } else { c1_i5 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 822, 19, MAX_uint32_T, (int32_T)c1_nextFold, 1, 320); c1_i6 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 822, 19, MAX_uint32_T, (int32_T)c1_endFold, 1, 320); } c1_u_sizes = (c1_i6 - c1_i5) + 1; c1_loop_ub = c1_i6 - c1_i5; for (c1_i7 = 0; c1_i7 <= c1_loop_ub; c1_i7++) { c1_u_data[c1_i7] = c1_b_u[(c1_i5 + c1_i7) - 1]; } c1_b_y[(int32_T)c1_i - 1] = c1_mean(chartInstance, c1_u_data, c1_u_sizes); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 24); c1_nextFold = c1_endFold + 1.0; c1_b_i++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } CV_EML_FOR(0, 1, 0, 0); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 27); c1_i = 33.0; c1_c_i = 0; while (c1_c_i < 64) { c1_i = 33.0 + (real_T)c1_c_i; CV_EML_FOR(0, 1, 1, 1); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 28); c1_endFold = (c1_nextFold + 2.0) - 1.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 29); if (c1_nextFold <= 500.0) { } else { c1_e_y = NULL; sf_mex_assign(&c1_e_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_e_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 30); if (c1_endFold <= 500.0) { } else { c1_f_y = NULL; sf_mex_assign(&c1_f_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_f_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 31); c1_b3 = (c1_nextFold > c1_endFold); c1_b4 = c1_b3; c1_b5 = c1_b4; if (c1_b5) { c1_i8 = 1; c1_i9 = 0; } else { c1_i8 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 1021, 19, MAX_uint32_T, (int32_T)c1_nextFold, 1, 320); c1_i9 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 1021, 19, MAX_uint32_T, (int32_T)c1_endFold, 1, 320); } c1_b_u_sizes = (c1_i9 - c1_i8) + 1; c1_b_loop_ub = c1_i9 - c1_i8; for (c1_i10 = 0; c1_i10 <= c1_b_loop_ub; c1_i10++) { c1_b_u_data[c1_i10] = c1_b_u[(c1_i8 + c1_i10) - 1]; } c1_b_y[(int32_T)c1_i - 1] = c1_mean(chartInstance, c1_b_u_data, c1_b_u_sizes); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 32); c1_nextFold = c1_endFold + 1.0; c1_c_i++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } CV_EML_FOR(0, 1, 1, 0); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 35); c1_i = 97.0; c1_d_i = 0; while (c1_d_i < 32) { c1_i = 97.0 + (real_T)c1_d_i; CV_EML_FOR(0, 1, 2, 1); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 36); c1_endFold = c1_nextFold + 2.0; _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 37); if (c1_nextFold <= 500.0) { } else { c1_g_y = NULL; sf_mex_assign(&c1_g_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_g_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 38); if (c1_endFold <= 500.0) { } else { c1_h_y = NULL; sf_mex_assign(&c1_h_y, sf_mex_create("y", c1_c_u, 10, 0U, 1U, 0U, 2, 1, 30), false); sf_mex_call_debug(sfGlobalDebugInstanceStruct, "error", 0U, 1U, 14, sf_mex_call_debug(sfGlobalDebugInstanceStruct, "message", 1U, 1U, 14, c1_h_y)); } _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 39); c1_b6 = (c1_nextFold > c1_endFold); c1_b7 = c1_b6; c1_b8 = c1_b7; if (c1_b8) { c1_i11 = 1; c1_i12 = 0; } else { c1_i11 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 1208, 19, MAX_uint32_T, (int32_T)c1_nextFold, 1, 320); c1_i12 = sf_eml_array_bounds_check(sfGlobalDebugInstanceStruct, chartInstance->S, 1U, 1208, 19, MAX_uint32_T, (int32_T)c1_endFold, 1, 320); } c1_c_u_sizes = (c1_i12 - c1_i11) + 1; c1_c_loop_ub = c1_i12 - c1_i11; for (c1_i13 = 0; c1_i13 <= c1_c_loop_ub; c1_i13++) { c1_c_u_data[c1_i13] = c1_b_u[(c1_i11 + c1_i13) - 1]; } c1_b_y[(int32_T)c1_i - 1] = c1_mean(chartInstance, c1_c_u_data, c1_c_u_sizes); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, 40); c1_nextFold = c1_endFold + 1.0; c1_d_i++; _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } CV_EML_FOR(0, 1, 2, 0); _SFD_EML_CALL(0U, chartInstance->c1_sfEvent, -40); _SFD_SYMBOL_SCOPE_POP(); for (c1_i14 = 0; c1_i14 < 128; c1_i14++) { (*chartInstance->c1_y)[c1_i14] = c1_b_y[c1_i14]; } _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 0U, chartInstance->c1_sfEvent); }
static void sf_c17_HIL_model_error(SFc17_HIL_model_errorInstanceStruct *chartInstance) { real_T c17_hoistedGlobal; real_T c17_b_hoistedGlobal; real_T c17_alpha_pi; real_T c17_accumulation; uint32_T c17_debug_family_var_map[6]; real_T c17_sgn; real_T c17_nargin = 2.0; real_T c17_nargout = 1.0; real_T c17_alpha_inf; real_T c17_x; real_T c17_b_x; real_T c17_y; real_T c17_c_x; real_T c17_d_x; real_T c17_a; real_T c17_b_y; real_T c17_b_a; real_T c17_c_y; real_T *c17_b_alpha_pi; real_T *c17_b_alpha_inf; real_T *c17_b_accumulation; int32_T exitg1; c17_b_accumulation = (real_T *)ssGetInputPortSignal(chartInstance->S, 1); c17_b_alpha_inf = (real_T *)ssGetOutputPortSignal(chartInstance->S, 1); c17_b_alpha_pi = (real_T *)ssGetInputPortSignal(chartInstance->S, 0); _sfTime_ = (real_T)ssGetT(chartInstance->S); _SFD_CC_CALL(CHART_ENTER_SFUNCTION_TAG, 16U, chartInstance->c17_sfEvent); _SFD_DATA_RANGE_CHECK(*c17_b_alpha_pi, 0U); _SFD_DATA_RANGE_CHECK(*c17_b_alpha_inf, 1U); _SFD_DATA_RANGE_CHECK(*c17_b_accumulation, 2U); chartInstance->c17_sfEvent = CALL_EVENT; _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG, 16U, chartInstance->c17_sfEvent); c17_hoistedGlobal = *c17_b_alpha_pi; c17_b_hoistedGlobal = *c17_b_accumulation; c17_alpha_pi = c17_hoistedGlobal; c17_accumulation = c17_b_hoistedGlobal; _SFD_SYMBOL_SCOPE_PUSH_EML(0U, 6U, 6U, c17_debug_family_names, c17_debug_family_var_map); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c17_sgn, 0U, c17_sf_marshallOut, c17_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c17_nargin, 1U, c17_sf_marshallOut, c17_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c17_nargout, 2U, c17_sf_marshallOut, c17_sf_marshallIn); _SFD_SYMBOL_SCOPE_ADD_EML(&c17_alpha_pi, 3U, c17_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML(&c17_accumulation, 4U, c17_sf_marshallOut); _SFD_SYMBOL_SCOPE_ADD_EML_IMPORTABLE(&c17_alpha_inf, 5U, c17_sf_marshallOut, c17_sf_marshallIn); CV_EML_FCN(0, 0); _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, 4); c17_alpha_inf = c17_alpha_pi; _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, 5); do { exitg1 = 0; c17_x = c17_accumulation - c17_alpha_inf; c17_b_x = c17_x; c17_y = muDoubleScalarAbs(c17_b_x); if (CV_EML_WHILE(0, 1, 0, c17_y > 3.1415926535897931)) { _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, 7); c17_c_x = c17_accumulation - c17_alpha_inf; c17_sgn = c17_c_x; c17_d_x = c17_sgn; c17_sgn = c17_d_x; c17_sgn = muDoubleScalarSign(c17_sgn); _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, 8); c17_a = c17_sgn; c17_b_y = c17_a * 2.0; c17_b_a = c17_b_y; c17_c_y = c17_b_a * 3.1415926535897931; c17_alpha_inf += c17_c_y; _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, 5); _SF_MEX_LISTEN_FOR_CTRL_C(chartInstance->S); } else { exitg1 = 1; } } while (exitg1 == 0); _SFD_EML_CALL(0U, chartInstance->c17_sfEvent, -8); _SFD_SYMBOL_SCOPE_POP(); *c17_b_alpha_inf = c17_alpha_inf; _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG, 16U, chartInstance->c17_sfEvent); _SFD_CHECK_FOR_STATE_INCONSISTENCY(_HIL_model_errorMachineNumber_, chartInstance->chartNumber, chartInstance->instanceNumber); }