static void urlinfo_set_show_progress (urlinfo *u) { int (*show_progress) (double, double, int) = NULL; show_progress = get_plugin_function("show_progress"); if (show_progress != NULL) { u->progfunc = show_progress; } }
static int re_estimate_VECM (irfboot *b, GRETL_VAR *v, int targ, int shock, int iter, int scount) { static int (*jbr) (GRETL_VAR *, const DATASET *) = NULL; static void *handle = NULL; int err = 0; gretl_error_clear(); if (iter == 0) { /* first round: open the Johansen plugin */ jbr = get_plugin_function("johansen_boot_round", &handle); if (jbr == NULL) { return E_FOPEN; } } /* The various VECM matrices may need to be re-set to the sizes expected by johansen_stage_1() */ maybe_resize_vecm_matrices(v); err = johansen_stage_1(v, b->dset, OPT_NONE, NULL); if (!err) { /* call the plugin function */ err = jbr(v, b->dset); } #if BDEBUG gretl_matrix_print(v->jinfo->Beta, "var->jinfo->Beta"); gretl_matrix_print(v->jinfo->Alpha, "var->jinfo->Alpha"); gretl_matrix_print(v->S, "var->S (Omega)"); gretl_matrix_print(v->B, "var->B"); #endif if (!err) { err = gretl_VAR_do_error_decomp(v->S, v->C, v->ord); } if (!err) { err = recalculate_impulse_responses(b, v, targ, shock, iter); } if (iter == BOOT_ITERS - 1 || VAR_FATAL(err, iter, scount)) { if (handle != NULL) { close_plugin(handle); handle = NULL; jbr = NULL; } } return err; }