static int cli_clear_data (CMD *cmd, DATASET *dset, MODEL *model) { gretlopt clearopt = 0; int err = 0; if (cmd->ci == CLEAR) { clearopt = cmd->opt; } else if (cmd->opt & OPT_P) { /* --preserve: clear dataset only */ clearopt = OPT_D; } else if (csv_open_needs_matrix(cmd->opt)) { clearopt = OPT_D; } *datafile = '\0'; if (dset->Z != NULL) { err = restore_full_sample(dset, NULL); free_Z(dset); } clear_datainfo(dset, CLEAR_FULL); data_status = 0; clear_model(model); if (clearopt & OPT_D) { libgretl_session_cleanup(SESSION_CLEAR_DATASET); } else { libgretl_session_cleanup(SESSION_CLEAR_ALL); } set_model_count(0); gretl_cmd_destroy_context(cmd); return err; }
int main (int argc, char *argv[]) { char *nistfile = NULL; char *tolstr = NULL; int i, err = 0; /* parse option flags */ while (1) { int c = getopt(argc, argv, "avf:t:"); if (c == -1) break; switch (c) { case 'a': use_derivs = 1; break; case 'v': verbose = 1; break; case 'f': nistfile = optarg; break; case 't': tolstr = optarg; break; case ':': case '?': exit(EXIT_FAILURE); break; default: break; } } print_options(argv[0], nistfile, tolstr); if (tolstr != NULL) { toler = atof(tolstr); if (toler <= 0.0) { fprintf(stderr, "Invalid tolerance '%s'\n", tolstr); err = 1; } } if (nistfile != NULL) { nfiles = 1; } else { err = make_file_list(); } if (err) { exit(EXIT_FAILURE); } libgretl_init(); for (i=0; i<nfiles; i++) { char *thisfile; if (nistfile) { thisfile = nistfile; } else { thisfile = file_list[i]; } printf("\nReading %s...\n", thisfile); err = read_nist_nls_data(thisfile); if (!err) { err = run_gretl_nls_check(); } free_Z(Z, datainfo); free_datainfo(datainfo); Z = NULL; datainfo = NULL; } if (nfiles > 1) { print_nls_summary(); free_file_list(); } libgretl_cleanup(); return err; }