gboolean analysis_tool_principal_components_engine (data_analysis_output_t *dao, gpointer specs, analysis_tool_engine_t selector, gpointer result) { analysis_tools_data_generic_t *info = specs; switch (selector) { case TOOL_ENGINE_UPDATE_DESCRIPTOR: return (dao_command_descriptor (dao, _("Principal Components Analysis (%s)"), result) == NULL); case TOOL_ENGINE_UPDATE_DAO: prepare_input_range (&info->input, info->group_by); dao_adjust (dao, 1 + g_slist_length (info->input), 12 + 3 * g_slist_length (info->input)); return FALSE; case TOOL_ENGINE_CLEAN_UP: return analysis_tool_generic_clean (specs); case TOOL_ENGINE_LAST_VALIDITY_CHECK: return FALSE; case TOOL_ENGINE_PREPARE_OUTPUT_RANGE: dao_prepare_output (NULL, dao, _("Principal Components Analysis")); return FALSE; case TOOL_ENGINE_FORMAT_OUTPUT_RANGE: return dao_format_output (dao, _("Principal Components Analysis")); case TOOL_ENGINE_PERFORM_CALC: default: return analysis_tool_principal_components_engine_run (dao, specs); } return TRUE; /* We shouldn't get here */ }
gboolean analysis_tool_normality_engine (G_GNUC_UNUSED GOCmdContext *gcc, data_analysis_output_t *dao, gpointer specs, analysis_tool_engine_t selector, gpointer result) { analysis_tools_data_normality_t *info = specs; switch (selector) { case TOOL_ENGINE_UPDATE_DESCRIPTOR: return (dao_command_descriptor (dao, _("Normality Test (%s)"), result) == NULL); case TOOL_ENGINE_UPDATE_DAO: prepare_input_range (&info->base.input, info->base.group_by); dao_adjust (dao, 1 + g_slist_length (info->base.input), 6); return FALSE; case TOOL_ENGINE_CLEAN_UP: return analysis_tool_generic_clean (specs); case TOOL_ENGINE_LAST_VALIDITY_CHECK: return FALSE; case TOOL_ENGINE_PREPARE_OUTPUT_RANGE: dao_prepare_output (NULL, dao, _("Normality Test")); return FALSE; case TOOL_ENGINE_FORMAT_OUTPUT_RANGE: return dao_format_output (dao, _("Normality Test")); case TOOL_ENGINE_PERFORM_CALC: default: return analysis_tool_normality_engine_run (dao, specs); } return TRUE; /* We shouldn't get here */ }
gboolean analysis_tool_frequency_engine (G_GNUC_UNUSED GOCmdContext *gcc, data_analysis_output_t *dao, gpointer specs, analysis_tool_engine_t selector, gpointer result) { analysis_tools_data_frequency_t *info = specs; switch (selector) { case TOOL_ENGINE_UPDATE_DESCRIPTOR: return (dao_command_descriptor (dao, _("Frequency Table (%s)"), result) == NULL); case TOOL_ENGINE_UPDATE_DAO: { int i; prepare_input_range (&info->base.input, info->base.group_by); i = 2 + ((info->predetermined) ? calc_length (info->bin) : info->n); dao_adjust (dao, g_slist_length (info->base.input) + 1, i); return FALSE; } case TOOL_ENGINE_CLEAN_UP: return analysis_tool_generic_clean (specs); case TOOL_ENGINE_LAST_VALIDITY_CHECK: return FALSE; case TOOL_ENGINE_PREPARE_OUTPUT_RANGE: dao_prepare_output (NULL, dao, _("Frequency Table")); return FALSE; case TOOL_ENGINE_FORMAT_OUTPUT_RANGE: return dao_format_output (dao, _("Frequency Table")); case TOOL_ENGINE_PERFORM_CALC: default: return analysis_tool_frequency_engine_run (dao, specs); } return TRUE; }