コード例 #1
0
ファイル: main.c プロジェクト: chwress/salad
int main(int argc, char* argv[])
{
	salad_filename = argv[0];
	log_level = STATUS;

	config_t config;
	test_config_t test_config;

	switch (parse_options(argc, argv, &config, &test_config))
	{
	case SALAD_EXIT:         return bye(EXIT_FAILURE);
	case SALAD_HELP:         return usage_main();
	case SALAD_HELP_TRAIN:   return usage_train();
	case SALAD_HELP_PREDICT: return usage_predict();
	case SALAD_HELP_INSPECT: return usage_inspect();
	case SALAD_HELP_STATS:   return usage_stats();
#ifdef TEST_SALAD
	case SALAD_HELP_TEST:    return usage_test();
#endif
	case SALAD_VERSION:      return version();
	default: break;
	}

	if (config.input_type == IOMODE_FILES)
	{
		error("Input mode 'files' is not yet implemented.");
		return bye(EXIT_FAILURE);
	}

	int ret = EXIT_FAILURE, is_metaop = FALSE;
	switch (config.mode)
	{
	case TRAINING:
		ret = _salad_train_(&config);
		break;
	case PREDICT:
		ret = _salad_predict_(&config);
		break;
	case INSPECT:
		ret = _salad_inspect_(&config);
		break;
	default:
		is_metaop = TRUE;
		break;
	}
	switch (config.mode)
	{
	case STATS:
		ret = _salad_stats_(&config);
		break;
#ifdef TEST_SALAD
	case TEST:
		ret = _salad_test_(&test_config);
		break;
#endif

	default: break;
	}
	return bye_ex(ret, is_metaop ? NULL : "Done!");
}
コード例 #2
0
ファイル: log.c プロジェクト: NguyenNhatNam/salad
const int bye(const int ec)
{
	return bye_ex(ec, NULL);
}