#include int arma_estimate (int p, int q, DATASET *dset, PRN *prn) { MODEL *model; int *list; int err; model = gretl_model_new(); list = gretl_list_new(5); list[1] = p; /* AR order */ list[2] = 0; /* order of integration */ list[3] = q; /* MA order */ list[4] = LISTSEP; /* separator */ list[5] = 1; /* position of dependent variable in dataset */ *model = arma(list, NULL, dset, OPT_NONE, prn); err = model->errcode; if (err) { errmsg(err, prn); } else { printmodel(model, dset, OPT_NONE, prn); } gretl_model_free(model); free(list); return err; } #define PREFIX "/opt/esl" int make_estimation (int p, int q, PRN *prn) { DATASET *dset; int err; dset = datainfo_new(); /* give the full path to the gretl datafile unless it's in the current working directory */ err = gretl_read_native_data(PREFIX "/share/gretl/data/data9-7.gdt", dset); if (err) { errmsg(err, prn); } else { err = arma_estimate(p, q, dset, prn); } destroy_dataset(dset); return err; } int main (void) { PRN *prn; libgretl_init(); prn = gretl_print_new(GRETL_PRINT_STDOUT, NULL); make_estimation(1, 1, prn); make_estimation(2, 1, prn); gretl_print_destroy(prn); libgretl_cleanup(); return 0; }