numerics/src/VI/VariationalInequality_box_AVI.c
/** Release memory used by SolverOptions member solverData.

    Internal stuff. Must be called at the end of ncp_pathsearch.
    This concerns only options parameters which management is
    specific to this solver. All others (iparam ...) are handled
    in solver_options_delete generic function.
 */
Release memory used by SolverOptions member solverData.
Internal stuff. Must be called at the end of ncp_pathsearch.
This concerns only options parameters which management is
specific to this solver. All others (iparam ...) are handled
in solver_options_delete generic function.
Release memory used by SolverOptions member solverData . Internal stuff . Must be called at the end of ncp_pathsearch . This concerns only options parameters which management is specific to this solver . All others ( iparam ... ) are handled in solver_options_delete generic function .
static void vi_box_AVI_free(SolverOptions* options)
{
  if(options->solverData)
  {
    vi_box_AVI_LSA_data* sData = (vi_box_AVI_LSA_data*)options->solverData;
    NM_clear(sData->mat);
    free(sData->mat);
    sData->mat = NULL;
    sData->relay_pb->lb = NULL;
    sData->relay_pb->ub = NULL;
    freeRelay_problem(sData->relay_pb);
    free(sData);
  }
  options->solverData = NULL;
}
static void vi_box_AVI_free ( SolverOptions * options ) { if ( options -> solverData ) { vi_box_AVI_LSA_data * sData = ( vi_box_AVI_LSA_data * ) options -> solverData ; NM_clear ( sData -> mat ) ; free ( sData -> mat ) ; sData -> mat = NULL ; sData -> relay_pb -> lb = NULL ; sData -> relay_pb -> ub = NULL ; freeRelay_problem ( sData -> relay_pb ) ; free ( sData ) ; } options -> solverData = NULL ; }
Release memory used by SolverOptions member solverData.
Release memory used by SolverOptions member solverData .