void mv_release_image(mv_image_t** image) { mv_image_t* p = *image; if (p != NULL) { mv_free(p); } *image = NULL; }
void mv_fit(double *y, int *pdims, double *settings, double *center, double *Scatter, double *distances, double *weights, double *logLik, double *aCov, double *control) { /* estimation for multivariate heavy-tailed distributions */ MV model; model = mv_init(y, pdims, settings, center, Scatter, distances, weights, aCov, control); control[4] = (double) mv_iterate(model); *logLik = mv_logLik(model->family, model->dm, model->distances, model->Scatter); mv_acov(model->family, model->dm, model->Scatter, model->ndraws, model->aCov); mv_free(model); }
static void handle_unset_indirect_srec_field_name( unset_item_t* punset_item, variables_t* pvars, cst_outputs_t* pcst_outputs) { rval_evaluator_t* pevaluator = punset_item->psrec_field_name_evaluator; mv_t nameval = pevaluator->pprocess_func(pevaluator->pvstate, pvars); char free_flags = NO_FREE; char* field_name = mv_maybe_alloc_format_val(&nameval, &free_flags); lrec_remove(pvars->pinrec, field_name); if (free_flags & FREE_ENTRY_VALUE) free(field_name); mv_free(&nameval); }
static mv_t rval_evaluator_x_ns_func(void* pvstate, variables_t* pvars) { rval_evaluator_x_ns_state_t* pstate = pvstate; mv_t val1 = pstate->parg1->pprocess_func(pstate->parg1->pvstate, pvars); mv_set_number_nullable(&val1); NULL_OR_ERROR_OUT_FOR_NUMBERS(val1); mv_t val2 = pstate->parg2->pprocess_func(pstate->parg2->pvstate, pvars); NULL_OR_ERROR_OUT_FOR_STRINGS(val2); if (!mv_is_string_or_empty(&val2)) { mv_free(&val1); return mv_error(); } return pstate->pfunc(&val1, &val2); }
static mv_t rval_evaluator_x_ses_func(void* pvstate, variables_t* pvars) { rval_evaluator_x_ses_state_t* pstate = pvstate; mv_t val1 = pstate->parg1->pprocess_func(pstate->parg1->pvstate, pvars); NULL_OR_ERROR_OUT_FOR_STRINGS(val1); if (!mv_is_string_or_empty(&val1)) return mv_error(); mv_t val3 = pstate->parg3->pprocess_func(pstate->parg3->pvstate, pvars); NULL_OR_ERROR_OUT_FOR_STRINGS(val3); if (!mv_is_string_or_empty(&val3)) { mv_free(&val3); return mv_error(); } return pstate->pfunc(&val1, &pstate->regex, &val3); }
static void mv_realloc ( ThreadId tid, void* p_new, void* p_old, SizeT new_szB ) { if (p_new != p_old) { mv_free(tid, p_old); mv_malloc(tid, p_new, new_szB); } else { HP_Chunk *hc = VG_(HT_lookup)(malloc_list, (UWord)p_old); if (!hc) return; if (new_szB > hc->size) put_wdata((Addr)p_new + hc->size, MV_ShiftedAlloc, new_szB - hc->size); else if (new_szB < hc->size) put_wdata((Addr)p_new + new_szB, MV_ShiftedFree, hc->size - new_szB); hc->size = new_szB; } }