text: #define HEADER_lp_report
  
  #include "lp_lib.h"
  
  #if defined LPSOLVEAPIFROMLPRECDEF
  # define LPSOLVEAPIFROMLPREC
  # define LPSOLVEAPIDEF
  #endif
  
  #if defined LPSOLVEAPIFROMLIBDEF
  # define LPSOLVEAPIFROMLIB
  # define LPSOLVEAPIDEF
  #endif
  
  #if !defined LPSOLVEAPIDEF
  # define LPSOLVEAPIDEF extern
  #endif
  
  /* entries for lp structure */
  LPSOLVEAPIDEF add_column_func               *_add_column;
  LPSOLVEAPIDEF add_columnex_func             *_add_columnex;
  LPSOLVEAPIDEF add_constraint_func           *_add_constraint;
  LPSOLVEAPIDEF add_constraintex_func         *_add_constraintex;
  LPSOLVEAPIDEF add_lag_con_func              *_add_lag_con;
  LPSOLVEAPIDEF add_SOS_func                  *_add_SOS;
  LPSOLVEAPIDEF column_in_lp_func             *_column_in_lp;
  LPSOLVEAPIDEF copy_lp_func                  *_copy_lp;
  LPSOLVEAPIDEF default_basis_func            *_default_basis;
  LPSOLVEAPIDEF del_column_func               *_del_column;
  LPSOLVEAPIDEF del_constraint_func           *_del_constraint;
  LPSOLVEAPIDEF delete_lp_func                *_delete_lp;
  LPSOLVEAPIDEF dualize_lp_func               *_dualize_lp;
  LPSOLVEAPIDEF free_lp_func                  *_free_lp;
  /*LPSOLVEAPIDEF get_accuracy_func             *_get_accuracy;*/
  LPSOLVEAPIDEF get_anti_degen_func           *_get_anti_degen;
  LPSOLVEAPIDEF get_basis_func                *_get_basis;
  LPSOLVEAPIDEF get_basiscrash_func           *_get_basiscrash;
  LPSOLVEAPIDEF get_bb_depthlimit_func        *_get_bb_depthlimit;
  LPSOLVEAPIDEF get_bb_floorfirst_func        *_get_bb_floorfirst;
  LPSOLVEAPIDEF get_bb_rule_func              *_get_bb_rule;
  LPSOLVEAPIDEF get_bounds_tighter_func       *_get_bounds_tighter;
  LPSOLVEAPIDEF get_break_at_value_func       *_get_break_at_value;
  /*LPSOLVEAPIDEF get_break_numeric_accuracy_func *_get_break_numeric_accuracy;*/
  LPSOLVEAPIDEF get_col_name_func             *_get_col_name;
  LPSOLVEAPIDEF get_column_func               *_get_column;
  LPSOLVEAPIDEF get_columnex_func             *_get_columnex;
  LPSOLVEAPIDEF get_constr_type_func          *_get_constr_type;
  LPSOLVEAPIDEF get_constr_value_func         *_get_constr_value;
  LPSOLVEAPIDEF get_constraints_func          *_get_constraints;
  LPSOLVEAPIDEF get_dual_solution_func        *_get_dual_solution;
  LPSOLVEAPIDEF get_epsb_func                 *_get_epsb;
  LPSOLVEAPIDEF get_epsd_func                 *_get_epsd;
  LPSOLVEAPIDEF get_epsel_func                *_get_epsel;
  LPSOLVEAPIDEF get_epsint_func               *_get_epsint;
  LPSOLVEAPIDEF get_epsperturb_func           *_get_epsperturb;
  LPSOLVEAPIDEF get_epspivot_func             *_get_epspivot;
  LPSOLVEAPIDEF get_improve_func              *_get_improve;
  LPSOLVEAPIDEF get_infinite_func             *_get_infinite;
  LPSOLVEAPIDEF get_lambda_func               *_get_lambda;
  LPSOLVEAPIDEF get_lowbo_func                *_get_lowbo;
  LPSOLVEAPIDEF get_lp_index_func             *_get_lp_index;
  LPSOLVEAPIDEF get_lp_name_func              *_get_lp_name;
  LPSOLVEAPIDEF get_Lrows_func                *_get_Lrows;
  LPSOLVEAPIDEF get_mat_func                  *_get_mat;
  LPSOLVEAPIDEF get_mat_byindex_func          *_get_mat_byindex;
  LPSOLVEAPIDEF get_max_level_func            *_get_max_level;
  LPSOLVEAPIDEF get_maxpivot_func             *_get_maxpivot;
  LPSOLVEAPIDEF get_mip_gap_func              *_get_mip_gap;
  LPSOLVEAPIDEF get_multiprice_func           *_get_multiprice;
  LPSOLVEAPIDEF get_nameindex_func            *_get_nameindex;
  LPSOLVEAPIDEF get_Ncolumns_func             *_get_Ncolumns;
  LPSOLVEAPIDEF get_negrange_func             *_get_negrange;
  LPSOLVEAPIDEF get_nz_func                   *_get_nonzeros;
  LPSOLVEAPIDEF get_Norig_columns_func        *_get_Norig_columns;
  LPSOLVEAPIDEF get_Norig_rows_func           *_get_Norig_rows;
  LPSOLVEAPIDEF get_Nrows_func                *_get_Nrows;
  LPSOLVEAPIDEF get_obj_bound_func            *_get_obj_bound;
  LPSOLVEAPIDEF get_objective_func            *_get_objective;
  LPSOLVEAPIDEF get_orig_index_func           *_get_orig_index;
  LPSOLVEAPIDEF get_origcol_name_func         *_get_origcol_name;
  LPSOLVEAPIDEF get_origrow_name_func         *_get_origrow_name;
  LPSOLVEAPIDEF get_partialprice_func         *_get_partialprice;
  LPSOLVEAPIDEF get_pivoting_func             *_get_pivoting;
  LPSOLVEAPIDEF get_presolve_func             *_get_presolve;
  LPSOLVEAPIDEF get_presolveloops_func        *_get_presolveloops;
  LPSOLVEAPIDEF get_primal_solution_func      *_get_primal_solution;
  LPSOLVEAPIDEF get_print_sol_func            *_get_print_sol;
  LPSOLVEAPIDEF get_pseudocosts_func          *_get_pseudocosts;
  LPSOLVEAPIDEF get_ptr_constraints_func      *_get_ptr_constraints;
  LPSOLVEAPIDEF get_ptr_dual_solution_func    *_get_ptr_dual_solution;
  LPSOLVEAPIDEF get_ptr_lambda_func           *_get_ptr_lambda;
  LPSOLVEAPIDEF get_ptr_primal_solution_func  *_get_ptr_primal_solution;
  LPSOLVEAPIDEF get_ptr_sensitivity_obj_func  *_get_ptr_sensitivity_obj;
  LPSOLVEAPIDEF get_ptr_sensitivity_objex_func *_get_ptr_sensitivity_objex;
  LPSOLVEAPIDEF get_ptr_sensitivity_rhs_func  *_get_ptr_sensitivity_rhs;
  LPSOLVEAPIDEF get_ptr_variables_func        *_get_ptr_variables;
  LPSOLVEAPIDEF get_rh_func                   *_get_rh;
  LPSOLVEAPIDEF get_rh_range_func             *_get_rh_range;
  LPSOLVEAPIDEF get_row_func                  *_get_row;
  LPSOLVEAPIDEF get_rowex_func                *_get_rowex;
  LPSOLVEAPIDEF get_row_name_func             *_get_row_name;
  LPSOLVEAPIDEF get_scalelimit_func           *_get_scalelimit;
  LPSOLVEAPIDEF get_scaling_func              *_get_scaling;
  LPSOLVEAPIDEF get_sensitivity_obj_func      *_get_sensitivity_obj;
  LPSOLVEAPIDEF get_sensitivity_objex_func    *_get_sensitivity_objex;
  LPSOLVEAPIDEF get_sensitivity_rhs_func      *_get_sensitivity_rhs;
  LPSOLVEAPIDEF get_simplextype_func          *_get_simplextype;
  LPSOLVEAPIDEF get_solutioncount_func        *_get_solutioncount;
  LPSOLVEAPIDEF get_solutionlimit_func        *_get_solutionlimit;
  LPSOLVEAPIDEF get_status_func               *_get_status;
  LPSOLVEAPIDEF get_statustext_func           *_get_statustext;
  LPSOLVEAPIDEF get_timeout_func              *_get_timeout;
  LPSOLVEAPIDEF get_total_iter_func           *_get_total_iter;
  LPSOLVEAPIDEF get_total_nodes_func          *_get_total_nodes;
  LPSOLVEAPIDEF get_upbo_func                 *_get_upbo;
  LPSOLVEAPIDEF get_var_branch_func           *_get_var_branch;
  LPSOLVEAPIDEF get_var_dualresult_func       *_get_var_dualresult;
  LPSOLVEAPIDEF get_var_primalresult_func     *_get_var_primalresult;
  LPSOLVEAPIDEF get_var_priority_func         *_get_var_priority;
  LPSOLVEAPIDEF get_variables_func            *_get_variables;
  LPSOLVEAPIDEF get_verbose_func              *_get_verbose;
  LPSOLVEAPIDEF get_working_objective_func    *_get_working_objective;
  LPSOLVEAPIDEF guess_basis_func              *_guess_basis;
  LPSOLVEAPIDEF has_BFP_func                  *_has_BFP;
  LPSOLVEAPIDEF has_XLI_func                  *_has_XLI;
  LPSOLVEAPIDEF is_add_rowmode_func           *_is_add_rowmode;
  LPSOLVEAPIDEF is_anti_degen_func            *_is_anti_degen;
  LPSOLVEAPIDEF is_binary_func                *_is_binary;
  LPSOLVEAPIDEF is_break_at_first_func        *_is_break_at_first;
  LPSOLVEAPIDEF is_constr_type_func           *_is_constr_type;
  LPSOLVEAPIDEF is_debug_func                 *_is_debug;
  LPSOLVEAPIDEF is_feasible_func              *_is_feasible;
  LPSOLVEAPIDEF is_unbounded_func             *_is_unbounded;
  LPSOLVEAPIDEF is_infinite_func              *_is_infinite;
  LPSOLVEAPIDEF is_int_func                   *_is_int;
  LPSOLVEAPIDEF is_integerscaling_func        *_is_integerscaling;
  LPSOLVEAPIDEF is_lag_trace_func             *_is_lag_trace;
  LPSOLVEAPIDEF is_maxim_func                 *_is_maxim;
  LPSOLVEAPIDEF is_nativeBFP_func             *_is_nativeBFP;
  LPSOLVEAPIDEF is_nativeXLI_func             *_is_nativeXLI;
  LPSOLVEAPIDEF is_negative_func              *_is_negative;
  LPSOLVEAPIDEF is_piv_mode_func              *_is_piv_mode;
  LPSOLVEAPIDEF is_piv_rule_func              *_is_piv_rule;
  LPSOLVEAPIDEF is_presolve_func              *_is_presolve;
  LPSOLVEAPIDEF is_scalemode_func             *_is_scalemode;
  LPSOLVEAPIDEF is_scaletype_func             *_is_scaletype;
  LPSOLVEAPIDEF is_semicont_func              *_is_semicont;
  LPSOLVEAPIDEF is_SOS_var_func               *_is_SOS_var;
  LPSOLVEAPIDEF is_trace_func                 *_is_trace;
  LPSOLVEAPIDEF is_use_names_func             *_is_use_names;
  LPSOLVEAPIDEF lp_solve_version_func         *_lp_solve_version;
  LPSOLVEAPIDEF make_lp_func                  *_make_lp;
  LPSOLVEAPIDEF print_constraints_func        *_print_constraints;
  LPSOLVEAPIDEF print_debugdump_func          *_print_debugdump;
  LPSOLVEAPIDEF print_duals_func              *_print_duals;
  LPSOLVEAPIDEF print_lp_func                 *_print_lp;
  LPSOLVEAPIDEF print_objective_func          *_print_objective;
  LPSOLVEAPIDEF print_scales_func             *_print_scales;
  LPSOLVEAPIDEF print_solution_func           *_print_solution;
  LPSOLVEAPIDEF print_str_func                *_print_str;
  LPSOLVEAPIDEF print_tableau_func            *_print_tableau;
  LPSOLVEAPIDEF put_abortfunc_func            *_put_abortfunc;
  LPSOLVEAPIDEF put_bb_nodefunc_func          *_put_bb_nodefunc;
  LPSOLVEAPIDEF put_bb_branchfunc_func        *_put_bb_branchfunc;
  LPSOLVEAPIDEF put_logfunc_func              *_put_logfunc;
  LPSOLVEAPIDEF put_msgfunc_func              *_put_msgfunc;
  LPSOLVEAPIDEF read_LP_func                  *_read_LP;
  LPSOLVEAPIDEF read_MPS_func                 *_read_MPS;
  LPSOLVEAPIDEF read_XLI_func                 *_read_XLI;
  LPSOLVEAPIDEF read_params_func              *_read_params;
  LPSOLVEAPIDEF read_basis_func               *_read_basis;
  LPSOLVEAPIDEF reset_basis_func              *_reset_basis;
  LPSOLVEAPIDEF reset_params_func             *_reset_params;
  LPSOLVEAPIDEF reportfunc                    *_report;
  LPSOLVEAPIDEF resize_lp_func                *_resize_lp;
  LPSOLVEAPIDEF set_add_rowmode_func          *_set_add_rowmode;
  LPSOLVEAPIDEF set_anti_degen_func           *_set_anti_degen;
  LPSOLVEAPIDEF set_basisvar_func             *_set_basisvar;
  LPSOLVEAPIDEF set_basis_func                *_set_basis;
  LPSOLVEAPIDEF set_basiscrash_func           *_set_basiscrash;
  LPSOLVEAPIDEF set_bb_depthlimit_func        *_set_bb_depthlimit;
  LPSOLVEAPIDEF set_bb_floorfirst_func        *_set_bb_floorfirst;
  LPSOLVEAPIDEF set_bb_rule_func              *_set_bb_rule;
  LPSOLVEAPIDEF set_BFP_func                  *_set_BFP;
  LPSOLVEAPIDEF set_binary_func               *_set_binary;
  LPSOLVEAPIDEF set_bounds_func               *_set_bounds;
  LPSOLVEAPIDEF set_bounds_tighter_func       *_set_bounds_tighter;
  LPSOLVEAPIDEF set_break_at_first_func       *_set_break_at_first;
  LPSOLVEAPIDEF set_break_at_value_func       *_set_break_at_value;
  /*LPSOLVEAPIDEF set_break_numeric_accuracy_func *_set_break_numeric_accuracy;*/
  LPSOLVEAPIDEF set_column_func               *_set_column;
  LPSOLVEAPIDEF set_columnex_func             *_set_columnex;
  LPSOLVEAPIDEF set_col_name_func             *_set_col_name;
  LPSOLVEAPIDEF set_constr_type_func          *_set_constr_type;
  LPSOLVEAPIDEF set_debug_func                *_set_debug;
  LPSOLVEAPIDEF set_epsb_func                 *_set_epsb;
  LPSOLVEAPIDEF set_epsd_func                 *_set_epsd;
  LPSOLVEAPIDEF set_epsel_func                *_set_epsel;
  LPSOLVEAPIDEF set_epsint_func               *_set_epsint;
  LPSOLVEAPIDEF set_epslevel_func             *_set_epslevel;
  LPSOLVEAPIDEF set_epsperturb_func           *_set_epsperturb;
  LPSOLVEAPIDEF set_epspivot_func             *_set_epspivot;
  LPSOLVEAPIDEF set_unbounded_func            *_set_unbounded;
  LPSOLVEAPIDEF set_improve_func              *_set_improve;
  LPSOLVEAPIDEF set_infinite_func             *_set_infinite;
  LPSOLVEAPIDEF set_int_func                  *_set_int;
  LPSOLVEAPIDEF set_lag_trace_func            *_set_lag_trace;
  LPSOLVEAPIDEF set_lowbo_func                *_set_lowbo;
  LPSOLVEAPIDEF set_lp_name_func              *_set_lp_name;
  LPSOLVEAPIDEF set_mat_func                  *_set_mat;
  LPSOLVEAPIDEF set_maxim_func                *_set_maxim;
  LPSOLVEAPIDEF set_maxpivot_func             *_set_maxpivot;
  LPSOLVEAPIDEF set_minim_func                *_set_minim;
  LPSOLVEAPIDEF set_mip_gap_func              *_set_mip_gap;
  LPSOLVEAPIDEF set_multiprice_func           *_set_multiprice;
  LPSOLVEAPIDEF set_negrange_func             *_set_negrange;
  LPSOLVEAPIDEF set_obj_bound_func            *_set_obj_bound;
  LPSOLVEAPIDEF set_obj_fn_func               *_set_obj_fn;
  LPSOLVEAPIDEF set_obj_fnex_func             *_set_obj_fnex;
  LPSOLVEAPIDEF set_obj_func                  *_set_obj;
  LPSOLVEAPIDEF set_outputfile_func           *_set_outputfile;
  LPSOLVEAPIDEF set_outputstream_func         *_set_outputstream;
  LPSOLVEAPIDEF set_partialprice_func         *_set_partialprice;
  LPSOLVEAPIDEF set_pivoting_func             *_set_pivoting;
  LPSOLVEAPIDEF set_preferdual_func           *_set_preferdual;
  LPSOLVEAPIDEF set_presolve_func             *_set_presolve;
  LPSOLVEAPIDEF set_print_sol_func            *_set_print_sol;
  LPSOLVEAPIDEF set_pseudocosts_func          *_set_pseudocosts;
  LPSOLVEAPIDEF set_rh_func                   *_set_rh;
  LPSOLVEAPIDEF set_rh_range_func             *_set_rh_range;
  LPSOLVEAPIDEF set_rh_vec_func               *_set_rh_vec;
  LPSOLVEAPIDEF set_row_func                  *_set_row;
  LPSOLVEAPIDEF set_rowex_func                *_set_rowex;
  LPSOLVEAPIDEF set_row_name_func             *_set_row_name;
  LPSOLVEAPIDEF set_scalelimit_func           *_set_scalelimit;
  LPSOLVEAPIDEF set_scaling_func              *_set_scaling;
  LPSOLVEAPIDEF set_semicont_func             *_set_semicont;
  LPSOLVEAPIDEF set_sense_func                *_set_sense;
  LPSOLVEAPIDEF set_simplextype_func          *_set_simplextype;
  LPSOLVEAPIDEF set_solutionlimit_func        *_set_solutionlimit;
  LPSOLVEAPIDEF set_timeout_func              *_set_timeout;
  LPSOLVEAPIDEF set_trace_func                *_set_trace;
  LPSOLVEAPIDEF set_upbo_func                 *_set_upbo;
  LPSOLVEAPIDEF set_var_branch_func           *_set_var_branch;
  LPSOLVEAPIDEF set_var_weights_func          *_set_var_weights;
  LPSOLVEAPIDEF set_verbose_func              *_set_verbose;
  LPSOLVEAPIDEF set_XLI_func                  *_set_XLI;
  LPSOLVEAPIDEF solve_func                    *_solve;
  LPSOLVEAPIDEF str_add_column_func           *_str_add_column;
  LPSOLVEAPIDEF str_add_constraint_func       *_str_add_constraint;
  LPSOLVEAPIDEF str_add_lag_con_func          *_str_add_lag_con;
  LPSOLVEAPIDEF str_set_obj_fn_func           *_str_set_obj_fn;
  LPSOLVEAPIDEF str_set_rh_vec_func           *_str_set_rh_vec;
  LPSOLVEAPIDEF time_elapsed_func             *_time_elapsed;
  LPSOLVEAPIDEF unscale_func                  *_unscale;
  LPSOLVEAPIDEF write_lp_func                 *_write_lp;
  LPSOLVEAPIDEF write_LP_func                 *_write_LP;
  LPSOLVEAPIDEF write_mps_func                *_write_mps;
  LPSOLVEAPIDEF write_MPS_func                *_write_MPS;
  LPSOLVEAPIDEF write_freemps_func            *_write_freemps;
  LPSOLVEAPIDEF write_freeMPS_func            *_write_freeMPS;
  LPSOLVEAPIDEF write_XLI_func                *_write_XLI;
  LPSOLVEAPIDEF write_basis_func              *_write_basis;
  LPSOLVEAPIDEF write_params_func             *_write_params;
  
  #if defined LPSOLVEAPIFROMLPREC
  
  static int init_lpsolve(lprec *lp)
  {
    _add_column = lp->add_column;
    _add_columnex = lp->add_columnex;
    _add_constraint = lp->add_constraint;
    _add_constraintex = lp->add_constraintex;
    _add_lag_con = lp->add_lag_con;
    _add_SOS = lp->add_SOS;
    _column_in_lp = lp->column_in_lp;
    _copy_lp = lp->copy_lp;
    _default_basis = lp->default_basis;
    _del_column = lp->del_column;
    _del_constraint = lp->del_constraint;
    _delete_lp = lp->delete_lp;
    _dualize_lp = lp->dualize_lp;
    _free_lp = lp->free_lp;
    /*_get_accuracy = lp->get_accuracy;*/
    _get_anti_degen = lp->get_anti_degen;
    _get_basis = lp->get_basis;
    _get_basiscrash = lp->get_basiscrash;
    _get_bb_depthlimit = lp->get_bb_depthlimit;
    _get_bb_floorfirst = lp->get_bb_floorfirst;
    _get_bb_rule = lp->get_bb_rule;
    _get_bounds_tighter = lp->get_bounds_tighter;
    _get_break_at_value = lp->get_break_at_value;
  /*  _get_break_numeric_accuracy = lp->get_break_numeric_accuracy;*/
    _get_col_name = lp->get_col_name;
    _get_columnex = lp->get_columnex;
    _get_constr_type = lp->get_constr_type;
    _get_constr_value = lp->get_constr_value;
    _get_constraints = lp->get_constraints;
    _get_dual_solution = lp->get_dual_solution;
    _get_epsb = lp->get_epsb;
    _get_epsd = lp->get_epsd;
    _get_epsel = lp->get_epsel;
    _get_epsint = lp->get_epsint;
    _get_epsperturb = lp->get_epsperturb;
    _get_epspivot = lp->get_epspivot;
    _get_improve = lp->get_improve;
    _get_infinite = lp->get_infinite;
    _get_lambda = lp->get_lambda;
    _get_lowbo = lp->get_lowbo;
    _get_lp_index = lp->get_lp_index;
    _get_lp_name = lp->get_lp_name;
    _get_Lrows = lp->get_Lrows;
    _get_mat = lp->get_mat;
    _get_mat_byindex = lp->get_mat_byindex;
    _get_max_level = lp->get_max_level;
    _get_maxpivot = lp->get_maxpivot;
    _get_mip_gap = lp->get_mip_gap;
    _get_multiprice = lp->get_multiprice;
    _get_nameindex = lp->get_nameindex;
    _get_Ncolumns = lp->get_Ncolumns;
    _get_negrange = lp->get_negrange;
    _get_nonzeros = lp->get_nonzeros;
    _get_Norig_columns = lp->get_Norig_columns;
    _get_Norig_rows = lp->get_Norig_rows;
    _get_Nrows = lp->get_Nrows;
    _get_obj_bound = lp->get_obj_bound;
    _get_objective = lp->get_objective;
    _get_orig_index = lp->get_orig_index;
    _get_origcol_name = lp->get_origcol_name;
    _get_origrow_name = lp->get_origrow_name;
    _get_partialprice = lp->get_partialprice;
    _get_pivoting = lp->get_pivoting;
    _get_presolve = lp->get_presolve;
    _get_presolveloops = lp->get_presolveloops;
    _get_primal_solution = lp->get_primal_solution;
    _get_print_sol = lp->get_print_sol;
    _get_pseudocosts = lp->get_pseudocosts;
    _get_ptr_constraints = lp->get_ptr_constraints;
    _get_ptr_dual_solution = lp->get_ptr_dual_solution;
    _get_ptr_lambda = lp->get_ptr_lambda;
    _get_ptr_primal_solution = lp->get_ptr_primal_solution;
    _get_ptr_sensitivity_obj = lp->get_ptr_sensitivity_obj;
    _get_ptr_sensitivity_objex = lp->get_ptr_sensitivity_objex;
    _get_ptr_sensitivity_rhs = lp->get_ptr_sensitivity_rhs;
    _get_ptr_variables = lp->get_ptr_variables;
    _get_rh = lp->get_rh;
    _get_rh_range = lp->get_rh_range;
    _get_row = lp->get_row;
    _get_rowex = lp->get_rowex;
    _get_row_name = lp->get_row_name;
    _get_scalelimit = lp->get_scalelimit;
    _get_scaling = lp->get_scaling;
    _get_sensitivity_obj = lp->get_sensitivity_obj;
    _get_sensitivity_objex = lp->get_sensitivity_objex;
    _get_sensitivity_rhs = lp->get_sensitivity_rhs;
    _get_simplextype = lp->get_simplextype;
    _get_solutioncount = lp->get_solutioncount;
    _get_solutionlimit = lp->get_solutionlimit;
    _get_status = lp->get_status;
    _get_statustext = lp->get_statustext;
    _get_timeout = lp->get_timeout;
    _get_total_iter = lp->get_total_iter;
    _get_total_nodes = lp->get_total_nodes;
    _get_upbo = lp->get_upbo;
    _get_var_branch = lp->get_var_branch;
    _get_var_dualresult = lp->get_var_dualresult;
    _get_var_primalresult = lp->get_var_primalresult;
    _get_var_priority = lp->get_var_priority;
    _get_variables = lp->get_variables;
    _get_verbose = lp->get_verbose;
    _get_working_objective = lp->get_working_objective;
    _has_BFP = lp->has_BFP;
    _has_XLI = lp->has_XLI;
    _is_add_rowmode = lp->is_add_rowmode;
    _is_anti_degen = lp->is_anti_degen;
    _is_binary = lp->is_binary;
    _is_break_at_first = lp->is_break_at_first;
    _is_constr_type = lp->is_constr_type;
    _is_debug = lp->is_debug;
    _is_feasible = lp->is_feasible;
    _is_unbounded = lp->is_unbounded;
    _is_infinite = lp->is_infinite;
    _is_int = lp->is_int;
    _is_integerscaling = lp->is_integerscaling;
    _is_lag_trace = lp->is_lag_trace;
    _is_maxim = lp->is_maxim;
    _is_nativeBFP = lp->is_nativeBFP;
    _is_nativeXLI = lp->is_nativeXLI;
    _is_negative = lp->is_negative;
    _is_piv_mode = lp->is_piv_mode;
    _is_piv_rule = lp->is_piv_rule;
    _is_presolve = lp->is_presolve;
    _is_scalemode = lp->is_scalemode;
    _is_scaletype = lp->is_scaletype;
    _is_semicont = lp->is_semicont;
    _is_SOS_var = lp->is_SOS_var;
    _is_trace = lp->is_trace;
    _is_use_names = lp->is_use_names;
    _lp_solve_version = lp->lp_solve_version;
    _make_lp = lp->make_lp;
    _print_constraints = lp->print_constraints;
    _print_debugdump = lp->print_debugdump;
    _print_duals = lp->print_duals;
    _print_lp = lp->print_lp;
    _print_objective = lp->print_objective;
    _print_scales = lp->print_scales;
    _print_solution = lp->print_solution;
    _print_str = lp->print_str;
    _print_tableau = lp->print_tableau;
    _put_abortfunc = lp->put_abortfunc;
    _put_bb_nodefunc = lp->put_bb_nodefunc;
    _put_bb_branchfunc = lp->put_bb_branchfunc;
    _put_logfunc = lp->put_logfunc;
    _put_msgfunc = lp->put_msgfunc;
    _read_LP = lp->read_LP;
    _read_MPS = lp->read_MPS;
    _read_XLI = lp->read_XLI;
    _read_params = lp->read_params;
    _read_basis = lp->read_basis;
    _reset_basis = lp->reset_basis;
    _reset_params = lp->reset_params;
    _report = lp->report;
    _resize_lp = lp->resize_lp;
    _set_add_rowmode = lp->set_add_rowmode;
    _set_anti_degen = lp->set_anti_degen;
    _set_basisvar = lp->set_basisvar;
    _set_basis = lp->set_basis;
    _set_basiscrash = lp->set_basiscrash;
    _set_bb_depthlimit = lp->set_bb_depthlimit;
    _set_bb_floorfirst = lp->set_bb_floorfirst;
    _set_bb_rule = lp->set_bb_rule;
    _set_BFP = lp->set_BFP;
    _set_binary = lp->set_binary;
    _set_bounds = lp->set_bounds;
    _set_bounds_tighter = lp->set_bounds_tighter;
    _set_break_at_first = lp->set_break_at_first;
    _set_break_at_value = lp->set_break_at_value;
  /*  _set_break_numeric_accuracy = lp->set_break_numeric_accuracy;*/
    _set_column = lp->set_column;
    _set_columnex = lp->set_columnex;
    _set_col_name = lp->set_col_name;
    _set_constr_type = lp->set_constr_type;
    _set_debug = lp->set_debug;
    _set_epsb = lp->set_epsb;
    _set_epsd = lp->set_epsd;
    _set_epsel = lp->set_epsel;
    _set_epsint = lp->set_epsint;
    _set_epslevel = lp->set_epslevel;
    _set_epsperturb = lp->set_epsperturb;
    _set_epspivot = lp->set_epspivot;
    _set_unbounded = lp->set_unbounded;
    _set_improve = lp->set_improve;
    _set_infinite = lp->set_infinite;
    _set_int = lp->set_int;
    _set_lag_trace = lp->set_lag_trace;
    _set_lowbo = lp->set_lowbo;
    _set_lp_name = lp->set_lp_name;
    _set_mat = lp->set_mat;
    _set_maxim = lp->set_maxim;
    _set_maxpivot = lp->set_maxpivot;
    _set_minim = lp->set_minim;
    _set_mip_gap = lp->set_mip_gap;
    _set_multiprice = lp->set_multiprice;
    _set_negrange = lp->set_negrange;
    _set_obj_bound = lp->set_obj_bound;
    _set_obj_fn = lp->set_obj_fn;
    _set_obj_fnex = lp->set_obj_fnex;
    _set_obj = lp->set_obj;
    _set_outputfile = lp->set_outputfile;
    _set_outputstream = lp->set_outputstream;
    _set_partialprice = lp->set_partialprice;
    _set_pivoting = lp->set_pivoting;
    _set_preferdual = lp->set_preferdual;
    _set_presolve = lp->set_presolve;
    _set_print_sol = lp->set_print_sol;
    _set_pseudocosts = lp->set_pseudocosts;
    _set_rh = lp->set_rh;
    _set_rh_range = lp->set_rh_range;
    _set_rh_vec = lp->set_rh_vec;
    _set_row = lp->set_row;
    _set_rowex = lp->set_rowex;
    _set_row_name = lp->set_row_name;
    _set_scalelimit = lp->set_scalelimit;
    _set_scaling = lp->set_scaling;
    _set_semicont = lp->set_semicont;
    _set_sense = lp->set_sense;
    _set_simplextype = lp->set_simplextype;
    _set_solutionlimit = lp->set_solutionlimit;
    _set_timeout = lp->set_timeout;
    _set_trace = lp->set_trace;
    _set_upbo = lp->set_upbo;
    _set_var_branch = lp->set_var_branch;
    _set_var_weights = lp->set_var_weights;
    _set_verbose = lp->set_verbose;
    _set_XLI = lp->set_XLI;
    _solve = lp->solve;
    _str_add_column = lp->str_add_column;
    _str_add_constraint = lp->str_add_constraint;
    _str_add_lag_con = lp->str_add_lag_con;
    _str_set_obj_fn = lp->str_set_obj_fn;
    _str_set_rh_vec = lp->str_set_rh_vec;
    _time_elapsed = lp->time_elapsed;
    _unscale = lp->unscale;
    _write_lp = lp->write_lp;
    _write_LP = lp->write_LP;
    _write_mps = lp->write_mps;
    _write_MPS = lp->write_MPS;
    _write_freemps = lp->write_freemps;
    _write_freeMPS = lp->write_freeMPS;
    _write_XLI = lp->write_XLI;
    _write_basis = lp->write_basis;
    _write_params = lp->write_params;
  
    return(TRUE);
  }
  
  #elif defined LPSOLVEAPIFROMLIB
  
  #ifdef WIN32
  #  include <windows.h>
  #else
  #  include <dlfcn.h>
  #endif
  
  #if defined WIN32
  # define hlpsolve HINSTANCE
  #else
  # define hlpsolve void *
  #endif
  
  static hlpsolve open_lpsolve_lib(char *filename)
  {
    hlpsolve lpsolve;
  
  # if defined WIN32
    /* Get a handle to the Windows DLL module. */
    lpsolve = LoadLibrary("lpsolve55.dll");
  # else
    lpsolve = dlopen("liblpsolve55.so", RTLD_LAZY);;
  # endif
    return(lpsolve);
  }
  
  static int close_lpsolve_lib(hlpsolve lpsolve)
  {
  #ifdef WIN32
    FreeLibrary(lpsolve);
  #else
    dlclose(lpsolve);
  #endif
  
    return(TRUE);
  }
  
  static int init_lpsolve(hlpsolve lpsolve)
  {
  # if defined WIN32
  #   define AddressOf GetProcAddress
  # else
  #   define AddressOf dlsym
  # endif
  
    /* assign API functions to lp structure */
    _add_column = (add_column_func *) AddressOf(lpsolve, "add_column");
    _add_columnex = (add_columnex_func *) AddressOf(lpsolve, "add_columnex");
    _add_constraint = (add_constraint_func *) AddressOf(lpsolve, "add_constraint");
    _add_constraintex = (add_constraintex_func *) AddressOf(lpsolve, "add_constraintex");
    _add_lag_con = (add_lag_con_func *) AddressOf(lpsolve, "add_lag_con");
    _add_SOS = (add_SOS_func *) AddressOf(lpsolve, "add_SOS");
    _column_in_lp = (column_in_lp_func *) AddressOf(lpsolve, "column_in_lp");
    _copy_lp = (copy_lp_func *) AddressOf(lpsolve, "copy_lp");
    _default_basis = (default_basis_func *) AddressOf(lpsolve, "default_basis");
    _del_column = (del_column_func *) AddressOf(lpsolve, "del_column");
    _del_constraint = (del_constraint_func *) AddressOf(lpsolve, "del_constraint");
    _delete_lp = (delete_lp_func *) AddressOf(lpsolve, "delete_lp");
    _dualize_lp = (dualize_lp_func *) AddressOf(lpsolve, "dualize_lp");
    _free_lp = (free_lp_func *) AddressOf(lpsolve, "free_lp");
    /*_get_accuracy = (get_accuracy_func *) AddressOf(lpsolve, "get_accuracy");*/
    _get_anti_degen = (get_anti_degen_func *) AddressOf(lpsolve, "get_anti_degen");
    _get_basis = (get_basis_func *) AddressOf(lpsolve, "get_basis");
    _get_basiscrash = (get_basiscrash_func *) AddressOf(lpsolve, "get_basiscrash");
    _get_bb_depthlimit = (get_bb_depthlimit_func *) AddressOf(lpsolve, "get_bb_depthlimit");
    _get_bb_floorfirst = (get_bb_floorfirst_func *) AddressOf(lpsolve, "get_bb_floorfirst");
    _get_bb_rule = (get_bb_rule_func *) AddressOf(lpsolve, "get_bb_rule");
    _get_bounds_tighter = (get_bounds_tighter_func *) AddressOf(lpsolve, "get_bounds_tighter");
    _get_break_at_value = (get_break_at_value_func *) AddressOf(lpsolve, "get_break_at_value");
  /*  _get_break_numeric_accuracy = (get_break_numeric_accuracy_func *) AddressOf(lpsolve, "get_break_numeric_accuracy");*/
    _get_col_name = (get_col_name_func *) AddressOf(lpsolve, "get_col_name");
    _get_column = (get_column_func *) AddressOf(lpsolve, "get_column");
    _get_columnex = (get_columnex_func *) AddressOf(lpsolve, "get_columnex");
    _get_constr_type = (get_constr_type_func *) AddressOf(lpsolve, "get_constr_type");
    _get_constr_value = (get_constr_value_func *) AddressOf(lpsolve, "get_constr_value");
    _get_constraints = (get_constraints_func *) AddressOf(lpsolve, "get_constraints");
    _get_dual_solution = (get_dual_solution_func *) AddressOf(lpsolve, "get_dual_solution");
    _get_epsb = (get_epsb_func *) AddressOf(lpsolve, "get_epsb");
    _get_epsd = (get_epsd_func *) AddressOf(lpsolve, "get_epsd");
    _get_epsel = (get_epsel_func *) AddressOf(lpsolve, "get_epsel");
    _get_epsint = (get_epsint_func *) AddressOf(lpsolve, "get_epsint");
    _get_epsperturb = (get_epsperturb_func *) AddressOf(lpsolve, "get_epsperturb");
    _get_epspivot = (get_epspivot_func *) AddressOf(lpsolve, "get_epspivot");
    _get_improve = (get_improve_func *) AddressOf(lpsolve, "get_improve");
    _get_infinite = (get_infinite_func *) AddressOf(lpsolve, "get_infinite");
    _get_lambda = (get_lambda_func *) AddressOf(lpsolve, "get_lambda");
    _get_lowbo = (get_lowbo_func *) AddressOf(lpsolve, "get_lowbo");
    _get_lp_index = (get_lp_index_func *) AddressOf(lpsolve, "get_lp_index");
    _get_lp_name = (get_lp_name_func *) AddressOf(lpsolve, "get_lp_name");
    _get_Lrows = (get_Lrows_func *) AddressOf(lpsolve, "get_Lrows");
    _get_mat = (get_mat_func *) AddressOf(lpsolve, "get_mat");
    _get_mat_byindex = (get_mat_byindex_func *) AddressOf(lpsolve, "get_mat_byindex");
    _get_max_level = (get_max_level_func *) AddressOf(lpsolve, "get_max_level");
    _get_maxpivot = (get_maxpivot_func *) AddressOf(lpsolve, "get_maxpivot");
    _get_mip_gap = (get_mip_gap_func *) AddressOf(lpsolve, "get_mip_gap");
    _get_multiprice = (get_multiprice_func *) AddressOf(lpsolve, "get_multiprice");
    _get_nameindex = (get_nameindex_func *) AddressOf(lpsolve, "get_nameindex");
    _get_Ncolumns = (get_Ncolumns_func *) AddressOf(lpsolve, "get_Ncolumns");
    _get_negrange = (get_negrange_func *) AddressOf(lpsolve, "get_negrange");
    _get_nonzeros = (get_nz_func *) AddressOf(lpsolve, "get_nonzeros");
    _get_Norig_columns = (get_Norig_columns_func *) AddressOf(lpsolve, "get_Norig_columns");
    _get_Norig_rows = (get_Norig_rows_func *) AddressOf(lpsolve, "get_Norig_rows");
    _get_Nrows = (get_Nrows_func *) AddressOf(lpsolve, "get_Nrows");
    _get_obj_bound = (get_obj_bound_func *) AddressOf(lpsolve, "get_obj_bound");
    _get_objective = (get_objective_func *) AddressOf(lpsolve, "get_objective");
    _get_orig_index = (get_orig_index_func *) AddressOf(lpsolve, "get_orig_index");
    _get_origcol_name = (get_origcol_name_func *) AddressOf(lpsolve, "get_origcol_name");
    _get_origrow_name = (get_origrow_name_func *) AddressOf(lpsolve, "get_origrow_name");
    _get_partialprice = (get_partialprice_func *) AddressOf(lpsolve, "get_partialprice");
    _get_pivoting = (get_pivoting_func *) AddressOf(lpsolve, "get_pivoting");
    _get_presolve = (get_presolve_func *) AddressOf(lpsolve, "get_presolve");
    _get_presolveloops = (get_presolveloops_func *) AddressOf(lpsolve, "get_presolveloops");
    _get_primal_solution = (get_primal_solution_func *) AddressOf(lpsolve, "get_primal_solution");
    _get_print_sol = (get_print_sol_func *) AddressOf(lpsolve, "get_print_sol");
    _get_pseudocosts = (get_pseudocosts_func *) AddressOf(lpsolve, "get_pseudocosts");
    _get_ptr_constraints = (get_ptr_constraints_func *) AddressOf(lpsolve, "get_ptr_constraints");
    _get_ptr_dual_solution = (get_ptr_dual_solution_func *) AddressOf(lpsolve, "get_ptr_dual_solution");
    _get_ptr_lambda = (get_ptr_lambda_func *) AddressOf(lpsolve, "get_ptr_lambda");
    _get_ptr_primal_solution = (get_ptr_primal_solution_func *) AddressOf(lpsolve, "get_ptr_primal_solution");
    _get_ptr_sensitivity_obj = (get_ptr_sensitivity_obj_func *) AddressOf(lpsolve, "get_ptr_sensitivity_obj");
    _get_ptr_sensitivity_objex = (get_ptr_sensitivity_objex_func *) AddressOf(lpsolve, "get_ptr_sensitivity_objex");
    _get_ptr_sensitivity_rhs = (get_ptr_sensitivity_rhs_func *) AddressOf(lpsolve, "get_ptr_sensitivity_rhs");
    _get_ptr_variables = (get_ptr_variables_func *) AddressOf(lpsolve, "get_ptr_variables");
    _get_rh = (get_rh_func *) AddressOf(lpsolve, "get_rh");
    _get_rh_range = (get_rh_range_func *) AddressOf(lpsolve, "get_rh_range");
    _get_row = (get_row_func *) AddressOf(lpsolve, "get_row");
    _get_rowex = (get_rowex_func *) AddressOf(lpsolve, "get_rowex");
    _get_row_name = (get_row_name_func *) AddressOf(lpsolve, "get_row_name");
    _get_scalelimit = (get_scalelimit_func *) AddressOf(lpsolve, "get_scalelimit");
    _get_scaling = (get_scaling_func *) AddressOf(lpsolve, "get_scaling");
    _get_sensitivity_obj = (get_sensitivity_obj_func *) AddressOf(lpsolve, "get_sensitivity_obj");
    _get_sensitivity_objex = (get_sensitivity_objex_func *) AddressOf(lpsolve, "get_sensitivity_objex");
    _get_sensitivity_rhs = (get_sensitivity_rhs_func *) AddressOf(lpsolve, "get_sensitivity_rhs");
    _get_simplextype = (get_simplextype_func *) AddressOf(lpsolve, "get_simplextype");
    _get_solutioncount = (get_solutioncount_func *) AddressOf(lpsolve, "get_solutioncount");
    _get_solutionlimit = (get_solutionlimit_func *) AddressOf(lpsolve, "get_solutionlimit");
    _get_status = (get_status_func *) AddressOf(lpsolve, "get_status");
    _get_statustext = (get_statustext_func *) AddressOf(lpsolve, "get_statustext");
    _get_timeout = (get_timeout_func *) AddressOf(lpsolve, "get_timeout");
    _get_total_iter = (get_total_iter_func *) AddressOf(lpsolve, "get_total_iter");
    _get_total_nodes = (get_total_nodes_func *) AddressOf(lpsolve, "get_total_nodes");
    _get_upbo = (get_upbo_func *) AddressOf(lpsolve, "get_upbo");
    _get_var_branch = (get_var_branch_func *) AddressOf(lpsolve, "get_var_branch");
    _get_var_dualresult = (get_var_dualresult_func *) AddressOf(lpsolve, "get_var_dualresult");
    _get_var_primalresult = (get_var_primalresult_func *) AddressOf(lpsolve, "get_var_primalresult");
    _get_var_priority = (get_var_priority_func *) AddressOf(lpsolve, "get_var_priority");
    _get_variables = (get_variables_func *) AddressOf(lpsolve, "get_variables");
    _get_verbose = (get_verbose_func *) AddressOf(lpsolve, "get_verbose");
    _get_working_objective = (get_working_objective_func *) AddressOf(lpsolve, "get_working_objective");
    _guess_basis = (guess_basis_func *) AddressOf(lpsolve, "guess_basis");
    _has_BFP = (has_BFP_func *) AddressOf(lpsolve, "has_BFP");
    _has_XLI = (has_XLI_func *) AddressOf(lpsolve, "has_XLI");
    _is_add_rowmode = (is_add_rowmode_func *) AddressOf(lpsolve, "is_add_rowmode");
    _is_anti_degen = (is_anti_degen_func *) AddressOf(lpsolve, "is_anti_degen");
    _is_binary = (is_binary_func *) AddressOf(lpsolve, "is_binary");
    _is_break_at_first = (is_break_at_first_func *) AddressOf(lpsolve, "is_break_at_first");
    _is_constr_type = (is_constr_type_func *) AddressOf(lpsolve, "is_constr_type");
    _is_debug = (is_debug_func *) AddressOf(lpsolve, "is_debug");
    _is_feasible = (is_feasible_func *) AddressOf(lpsolve, "is_feasible");
    _is_unbounded = (is_unbounded_func *) AddressOf(lpsolve, "is_unbounded");
    _is_infinite = (is_infinite_func *) AddressOf(lpsolve, "is_infinite");
    _is_int = (is_int_func *) AddressOf(lpsolve, "is_int");
    _is_integerscaling = (is_integerscaling_func *) AddressOf(lpsolve, "is_integerscaling");
    _is_lag_trace = (is_lag_trace_func *) AddressOf(lpsolve, "is_lag_trace");
    _is_maxim = (is_maxim_func *) AddressOf(lpsolve, "is_maxim");
    _is_nativeBFP = (is_nativeBFP_func *) AddressOf(lpsolve, "is_nativeBFP");
    _is_nativeXLI = (is_nativeXLI_func *) AddressOf(lpsolve, "is_nativeXLI");
    _is_negative = (is_negative_func *) AddressOf(lpsolve, "is_negative");
    _is_piv_mode = (is_piv_mode_func *) AddressOf(lpsolve, "is_piv_mode");
    _is_piv_rule = (is_piv_rule_func *) AddressOf(lpsolve, "is_piv_rule");
    _is_presolve = (is_presolve_func *) AddressOf(lpsolve, "is_presolve");
    _is_scalemode = (is_scalemode_func *) AddressOf(lpsolve, "is_scalemode");
    _is_scaletype = (is_scaletype_func *) AddressOf(lpsolve, "is_scaletype");
    _is_semicont = (is_semicont_func *) AddressOf(lpsolve, "is_semicont");
    _is_SOS_var = (is_SOS_var_func *) AddressOf(lpsolve, "is_SOS_var");
    _is_trace = (is_trace_func *) AddressOf(lpsolve, "is_trace");
    _is_use_names = (is_use_names_func *) AddressOf(lpsolve, "is_use_names");
    _lp_solve_version = (lp_solve_version_func *) AddressOf(lpsolve, "lp_solve_version");
    _make_lp = (make_lp_func *) AddressOf(lpsolve, "make_lp");
    _print_constraints = (print_constraints_func *) AddressOf(lpsolve, "print_constraints");
    _print_debugdump = (print_debugdump_func *) AddressOf(lpsolve, "print_debugdump");
    _print_duals = (print_duals_func *) AddressOf(lpsolve, "print_duals");
    _print_lp = (print_lp_func *) AddressOf(lpsolve, "print_lp");
    _print_objective = (print_objective_func *) AddressOf(lpsolve, "print_objective");
    _print_scales = (print_scales_func *) AddressOf(lpsolve, "print_scales");
    _print_solution = (print_solution_func *) AddressOf(lpsolve, "print_solution");
    _print_str = (print_str_func *) AddressOf(lpsolve, "print_str");
    _print_tableau = (print_tableau_func *) AddressOf(lpsolve, "print_tableau");
    _put_abortfunc = (put_abortfunc_func *) AddressOf(lpsolve, "put_abortfunc");
    _put_bb_nodefunc = (put_bb_nodefunc_func *) AddressOf(lpsolve, "put_bb_nodefunc");
    _put_bb_branchfunc = (put_bb_branchfunc_func *) AddressOf(lpsolve, "put_bb_branchfunc");
    _put_logfunc = (put_logfunc_func *) AddressOf(lpsolve, "put_logfunc");
    _put_msgfunc = (put_msgfunc_func *) AddressOf(lpsolve, "put_msgfunc");
    _read_LP = (read_LP_func *) AddressOf(lpsolve, "read_LP");
    _read_MPS = (read_MPS_func *) AddressOf(lpsolve, "read_MPS");
    _read_XLI = (read_XLI_func *) AddressOf(lpsolve, "read_XLI");
    _read_params = (read_params_func *) AddressOf(lpsolve, "read_params");
    _read_basis = (read_basis_func *) AddressOf(lpsolve, "read_basis");
    _reset_basis = (reset_basis_func *) AddressOf(lpsolve, "reset_basis");
    _reset_params = (reset_params_func *) AddressOf(lpsolve, "reset_params");
    _report = (reportfunc *) AddressOf(lpsolve, "report");
    _resize_lp = (resize_lp_func *) AddressOf(lpsolve, "resize_lp");
    _set_add_rowmode = (set_add_rowmode_func *) AddressOf(lpsolve, "set_add_rowmode");
    _set_anti_degen = (set_anti_degen_func *) AddressOf(lpsolve, "set_anti_degen");
    _set_basisvar = (set_basisvar_func *) AddressOf(lpsolve, "set_basisvar");
    _set_basis = (set_basis_func *) AddressOf(lpsolve, "set_basis");
    _set_basiscrash = (set_basiscrash_func *) AddressOf(lpsolve, "set_basiscrash");
    _set_bb_depthlimit = (set_bb_depthlimit_func *) AddressOf(lpsolve, "set_bb_depthlimit");
    _set_bb_floorfirst = (set_bb_floorfirst_func *) AddressOf(lpsolve, "set_bb_floorfirst");
    _set_bb_rule = (set_bb_rule_func *) AddressOf(lpsolve, "set_bb_rule");
    _set_BFP = (set_BFP_func *) AddressOf(lpsolve, "set_BFP");
    _set_binary = (set_binary_func *) AddressOf(lpsolve, "set_binary");
    _set_bounds = (set_bounds_func *) AddressOf(lpsolve, "set_bounds");
    _set_bounds_tighter = (set_bounds_tighter_func *) AddressOf(lpsolve, "set_bounds_tighter");
    _set_break_at_first = (set_break_at_first_func *) AddressOf(lpsolve, "set_break_at_first");
    _set_break_at_value = (set_break_at_value_func *) AddressOf(lpsolve, "set_break_at_value");
  /*  _set_break_numeric_accuracy = (set_break_numeric_accuracy_func *) AddressOf(lpsolve, "set_break_numeric_accuracy");*/
    _set_column = (set_column_func *) AddressOf(lpsolve, "set_column");
    _set_columnex = (set_columnex_func *) AddressOf(lpsolve, "set_columnex");
    _set_col_name = (set_col_name_func *) AddressOf(lpsolve, "set_col_name");
    _set_constr_type = (set_constr_type_func *) AddressOf(lpsolve, "set_constr_type");
    _set_debug = (set_debug_func *) AddressOf(lpsolve, "set_debug");
    _set_epsb = (set_epsb_func *) AddressOf(lpsolve, "set_epsb");
    _set_epsd = (set_epsd_func *) AddressOf(lpsolve, "set_epsd");
    _set_epsel = (set_epsel_func *) AddressOf(lpsolve, "set_epsel");
    _set_epsint = (set_epsint_func *) AddressOf(lpsolve, "set_epsint");
    _set_epslevel = (set_epslevel_func *) AddressOf(lpsolve, "set_epslevel");
    _set_epsperturb = (set_epsperturb_func *) AddressOf(lpsolve, "set_epsperturb");
    _set_epspivot = (set_epspivot_func *) AddressOf(lpsolve, "set_epspivot");
    _set_unbounded = (set_unbounded_func *) AddressOf(lpsolve, "set_unbounded");
    _set_improve = (set_improve_func *) AddressOf(lpsolve, "set_improve");
    _set_infinite = (set_infinite_func *) AddressOf(lpsolve, "set_infinite");
    _set_int = (set_int_func *) AddressOf(lpsolve, "set_int");
    _set_lag_trace = (set_lag_trace_func *) AddressOf(lpsolve, "set_lag_trace");
    _set_lowbo = (set_lowbo_func *) AddressOf(lpsolve, "set_lowbo");
    _set_lp_name = (set_lp_name_func *) AddressOf(lpsolve, "set_lp_name");
    _set_mat = (set_mat_func *) AddressOf(lpsolve, "set_mat");
    _set_maxim = (set_maxim_func *) AddressOf(lpsolve, "set_maxim");
    _set_maxpivot = (set_maxpivot_func *) AddressOf(lpsolve, "set_maxpivot");
    _set_minim = (set_minim_func *) AddressOf(lpsolve, "set_minim");
    _set_mip_gap = (set_mip_gap_func *) AddressOf(lpsolve, "set_mip_gap");
    _set_multiprice = (set_multiprice_func *) AddressOf(lpsolve, "set_multiprice");
    _set_negrange = (set_negrange_func *) AddressOf(lpsolve, "set_negrange");
    _set_obj_bound = (set_obj_bound_func *) AddressOf(lpsolve, "set_obj_bound");
    _set_obj_fn = (set_obj_fn_func *) AddressOf(lpsolve, "set_obj_fn");
    _set_obj_fnex = (set_obj_fnex_func *) AddressOf(lpsolve, "set_obj_fnex");
    _set_obj = (set_obj_func *) AddressOf(lpsolve, "set_obj");
    _set_outputfile = (set_outputfile_func *) AddressOf(lpsolve, "set_outputfile");
    _set_outputstream = (set_outputstream_func *) AddressOf(lpsolve, "set_outputstream");
    _set_partialprice = (set_partialprice_func *) AddressOf(lpsolve, "set_partialprice");
    _set_pivoting = (set_pivoting_func *) AddressOf(lpsolve, "set_pivoting");
    _set_preferdual = (set_preferdual_func *) AddressOf(lpsolve, "set_preferdual");
    _set_presolve = (set_presolve_func *) AddressOf(lpsolve, "set_presolve");
    _set_print_sol = (set_print_sol_func *) AddressOf(lpsolve, "set_print_sol");
    _set_pseudocosts = (set_pseudocosts_func *) AddressOf(lpsolve, "set_pseudocosts");
    _set_rh = (set_rh_func *) AddressOf(lpsolve, "set_rh");
    _set_rh_range = (set_rh_range_func *) AddressOf(lpsolve, "set_rh_range");
    _set_rh_vec = (set_rh_vec_func *) AddressOf(lpsolve, "set_rh_vec");
    _set_row = (set_row_func *) AddressOf(lpsolve, "set_row");
    _set_rowex = (set_rowex_func *) AddressOf(lpsolve, "set_rowex");
    _set_row_name = (set_row_name_func *) AddressOf(lpsolve, "set_row_name");
    _set_scalelimit = (set_scalelimit_func *) AddressOf(lpsolve, "set_scalelimit");
    _set_scaling = (set_scaling_func *) AddressOf(lpsolve, "set_scaling");
    _set_semicont = (set_semicont_func *) AddressOf(lpsolve, "set_semicont");
    _set_sense = (set_sense_func *) AddressOf(lpsolve, "set_sense");
    _set_simplextype = (set_simplextype_func *) AddressOf(lpsolve, "set_simplextype");
    _set_solutionlimit = (set_solutionlimit_func *) AddressOf(lpsolve, "set_solutionlimit");
    _set_timeout = (set_timeout_func *) AddressOf(lpsolve, "set_timeout");
    _set_trace = (set_trace_func *) AddressOf(lpsolve, "set_trace");
    _set_upbo = (set_upbo_func *) AddressOf(lpsolve, "set_upbo");
    _set_var_branch = (set_var_branch_func *) AddressOf(lpsolve, "set_var_branch");
    _set_var_weights = (set_var_weights_func *) AddressOf(lpsolve, "set_var_weights");
    _set_verbose = (set_verbose_func *) AddressOf(lpsolve, "set_verbose");
    _set_XLI = (set_XLI_func *) AddressOf(lpsolve, "set_XLI");
    _solve = (solve_func *) AddressOf(lpsolve, "solve");
    _str_add_column = (str_add_column_func *) AddressOf(lpsolve, "str_add_column");
    _str_add_constraint = (str_add_constraint_func *) AddressOf(lpsolve, "str_add_constraint");
    _str_add_lag_con = (str_add_lag_con_func *) AddressOf(lpsolve, "str_add_lag_con");
    _str_set_obj_fn = (str_set_obj_fn_func *) AddressOf(lpsolve, "str_set_obj_fn");
    _str_set_rh_vec = (str_set_rh_vec_func *) AddressOf(lpsolve, "str_set_rh_vec");
    _time_elapsed = (time_elapsed_func *) AddressOf(lpsolve, "time_elapsed");
    _unscale = (unscale_func *) AddressOf(lpsolve, "unscale");
    _write_lp = (write_lp_func *) AddressOf(lpsolve, "write_lp");
    _write_LP = (write_LP_func *) AddressOf(lpsolve, "write_LP");
    _write_mps = (write_mps_func *) AddressOf(lpsolve, "write_mps");
    _write_MPS = (write_MPS_func *) AddressOf(lpsolve, "write_MPS");
    _write_freemps = (write_freemps_func *) AddressOf(lpsolve, "write_freemps");
    _write_freeMPS = (write_freeMPS_func *) AddressOf(lpsolve, "write_freeMPS");
    _write_XLI = (write_XLI_func *) AddressOf(lpsolve, "write_XLI");
    _write_basis = (write_basis_func *) AddressOf(lpsolve, "write_basis");
    _write_params = (write_params_func *) AddressOf(lpsolve, "write_params");
  
    return(TRUE);
  # undef AddressOf
  }
  
  #else
  #  error Either LPSOLVEAPIFROMLPREC or LPSOLVEAPIFROMLIB must be defined
  #endif
  
  #define add_column _add_column
  #define add_columnex _add_columnex
  #define add_constraint _add_constraint
  #define add_constraintex _add_constraintex
  #define add_lag_con _add_lag_con
  #define add_SOS _add_SOS
  #define column_in_lp _column_in_lp
  #define copy_lp _copy_lp
  #define default_basis _default_basis
  #define del_column _del_column
  #define del_constraint _del_constraint
  #define delete_lp _delete_lp
  #define dualize_lp _dualize_lp
  #define free_lp _free_lp
  /*#define get_accuracy _get_accuracy*/
  #define get_anti_degen _get_anti_degen
  #define get_basis _get_basis
  #define get_basiscrash _get_basiscrash
  #define get_bb_depthlimit _get_bb_depthlimit
  #define get_bb_floorfirst _get_bb_floorfirst
  #define get_bb_rule _get_bb_rule
  #define get_bounds_tighter _get_bounds_tighter
  #define get_break_at_value _get_break_at_value
  /*#define get_break_numeric_accuracy _get_break_numeric_accuracy*/
  #define get_col_name _get_col_name
  #define get_column _get_column
  #define get_columnex _get_columnex
  #define get_constr_type _get_constr_type
  #define get_constr_value _get_constr_value
  #define get_constraints _get_constraints
  #define get_dual_solution _get_dual_solution
  #define get_epsb _get_epsb
  #define get_epsd _get_epsd
  #define get_epsel _get_epsel
  #define get_epsint _get_epsint
  #define get_epsperturb _get_epsperturb
  #define get_epspivot _get_epspivot
  #define get_improve _get_improve
  #define get_infinite _get_infinite
  #define get_lambda _get_lambda
  #define get_lowbo _get_lowbo
  #define get_lp_index _get_lp_index
  #define get_lp_name _get_lp_name
  #define get_Lrows _get_Lrows
  #define get_mat _get_mat
  #define get_mat_byindex _get_mat_byindex
  #define get_max_level _get_max_level
  #define get_maxpivot _get_maxpivot
  #define get_mip_gap _get_mip_gap
  #define get_multiprice _get_multiprice
  #define get_nameindex _get_nameindex
  #define get_Ncolumns _get_Ncolumns
  #define get_negrange _get_negrange
  #define get_nonzeros _get_nonzeros
  #define get_Norig_columns _get_Norig_columns
  #define get_Norig_rows _get_Norig_rows
  #define get_Nrows _get_Nrows
  #define get_obj_bound _get_obj_bound
  #define get_objective _get_objective
  #define get_orig_index _get_orig_index
  #define get_origcol_name _get_origcol_name
  #define get_origrow_name _get_origrow_name
  #define get_partialprice _get_partialprice
  #define get_pivoting _get_pivoting
  #define get_presolve _get_presolve
  #define get_presolveloops _get_presolveloops
  #define get_primal_solution _get_primal_solution
  #define get_print_sol _get_print_sol
  #define get_pseudocosts _get_pseudocosts
  #define get_ptr_constraints _get_ptr_constraints
  #define get_ptr_dual_solution _get_ptr_dual_solution
  #define get_ptr_lambda _get_ptr_lambda
  #define get_ptr_primal_solution _get_ptr_primal_solution
  #define get_ptr_sensitivity_obj _get_ptr_sensitivity_obj
  #define get_ptr_sensitivity_objex _get_ptr_sensitivity_objex
  #define get_ptr_sensitivity_rhs _get_ptr_sensitivity_rhs
  #define get_ptr_variables _get_ptr_variables
  #define get_rh _get_rh
  #define get_rh_range _get_rh_range
  #define get_row _get_row
  #define get_rowex _get_rowex
  #define get_row_name _get_row_name
  #define get_scalelimit _get_scalelimit
  #define get_scaling _get_scaling
  #define get_sensitivity_obj _get_sensitivity_obj
  #define get_sensitivity_objex _get_sensitivity_objex
  #define get_sensitivity_rhs _get_sensitivity_rhs
  #define get_simplextype _get_simplextype
  #define get_solutioncount _get_solutioncount
  #define get_solutionlimit _get_solutionlimit
  #define get_status _get_status
  #define get_statustext _get_statustext
  #define get_timeout _get_timeout
  #define get_total_iter _get_total_iter
  #define get_total_nodes _get_total_nodes
  #define get_upbo _get_upbo
  #define get_var_branch _get_var_branch
  #define get_var_dualresult _get_var_dualresult
  #define get_var_primalresult _get_var_primalresult
  #define get_var_priority _get_var_priority
  #define get_variables _get_variables
  #define get_verbose _get_verbose
  #define get_working_objective _get_working_objective
  #define guess_basis _guess_basis
  #define has_BFP _has_BFP
  #define has_XLI _has_XLI
  #define is_add_rowmode _is_add_rowmode
  #define is_anti_degen _is_anti_degen
  #define is_binary _is_binary
  #define is_break_at_first _is_break_at_first
  #define is_constr_type _is_constr_type
  #define is_debug _is_debug
  #define is_feasible _is_feasible
  #define is_unbounded _is_unbounded
  #define is_infinite _is_infinite
  #define is_int _is_int
  #define is_integerscaling _is_integerscaling
  #define is_lag_trace _is_lag_trace
  #define is_maxim _is_maxim
  #define is_nativeBFP _is_nativeBFP
  #define is_nativeXLI _is_nativeXLI
  #define is_negative _is_negative
  #define is_piv_mode _is_piv_mode
  #define is_piv_rule _is_piv_rule
  #define is_presolve _is_presolve
  #define is_scalemode _is_scalemode
  #define is_scaletype _is_scaletype
  #define is_semicont _is_semicont
  #define is_SOS_var _is_SOS_var
  #define is_trace _is_trace
  #define is_use_names _is_use_names
  #define lp_solve_version _lp_solve_version
  #define make_lp _make_lp
  #define print_constraints _print_constraints
  #define print_debugdump _print_debugdump
  #define print_duals _print_duals
  #define print_lp _print_lp
  #define print_objective _print_objective
  #define print_scales _print_scales
  #define print_solution _print_solution
  #define print_str _print_str
  #define print_tableau _print_tableau
  #define put_abortfunc _put_abortfunc
  #define put_bb_nodefunc _put_bb_nodefunc
  #define put_bb_branchfunc _put_bb_branchfunc
  #define put_logfunc _put_logfunc
  #define put_msgfunc _put_msgfunc
  #define read_LP _read_LP
  #define read_MPS _read_MPS
  #define read_XLI _read_XLI
  #define read_params _read_params
  #define read_basis _read_basis
  #define reset_basis _reset_basis
  #define reset_params _reset_params
  #define report _report
  #define resize_lp _resize_lp
  #define set_add_rowmode _set_add_rowmode
  #define set_anti_degen _set_anti_degen
  #define set_basisvar _set_basisvar
  #define set_basis _set_basis
  #define set_basiscrash _set_basiscrash
  #define set_bb_depthlimit _set_bb_depthlimit
  #define set_bb_floorfirst _set_bb_floorfirst
  #define set_bb_rule _set_bb_rule
  #define set_BFP _set_BFP
  #define set_binary _set_binary
  #define set_bounds _set_bounds
  #define set_bounds_tighter _set_bounds_tighter
  #define set_break_at_first _set_break_at_first
  #define set_break_at_value _set_break_at_value
  /*#define set_break_numeric_accuracy _set_break_numeric_accuracy*/
  #define set_column _set_column
  #define set_columnex _set_columnex
  #define set_col_name _set_col_name
  #define set_constr_type _set_constr_type
  #define set_debug _set_debug
  #define set_epsb _set_epsb
  #define set_epsd _set_epsd
  #define set_epsel _set_epsel
  #define set_epsint _set_epsint
  #define set_epslevel _set_epslevel
  #define set_epsperturb _set_epsperturb
  #define set_epspivot _set_epspivot
  #define set_unbounded _set_unbounded
  #define set_improve _set_improve
  #define set_infinite _set_infinite
  #define set_int _set_int
  #define set_lag_trace _set_lag_trace
  #define set_lowbo _set_lowbo
  #define set_lp_name _set_lp_name
  #define set_mat _set_mat
  #define set_maxim _set_maxim
  #define set_maxpivot _set_maxpivot
  #define set_minim _set_minim
  #define set_mip_gap _set_mip_gap
  #define set_multiprice _set_multiprice
  #define set_negrange _set_negrange
  #define set_obj_bound _set_obj_bound
  #define set_obj_fn _set_obj_fn
  #define set_obj_fnex _set_obj_fnex
  #define set_obj _set_obj
  #define set_outputfile _set_outputfile
  #define set_outputstream _set_outputstream
  #define set_partialprice _set_partialprice
  #define set_pivoting _set_pivoting
  #define set_preferdual _set_preferdual
  #define set_presolve _set_presolve
  #define set_print_sol _set_print_sol
  #define set_pseudocosts _set_pseudocosts
  #define set_rh _set_rh
  #define set_rh_range _set_rh_range
  #define set_rh_vec _set_rh_vec
  #define set_row _set_row
  #define set_rowex _set_rowex
  #define set_row_name _set_row_name
  #define set_scalelimit _set_scalelimit
  #define set_scaling _set_scaling
  #define set_semicont _set_semicont
  #define set_sense _set_sense
  #define set_simplextype _set_simplextype
  #define set_solutionlimit _set_solutionlimit
  #define set_timeout _set_timeout
  #define set_trace _set_trace
  #define set_upbo _set_upbo
  #define set_var_branch _set_var_branch
  #define set_var_weights _set_var_weights
  #define set_verbose _set_verbose
  #define set_XLI _set_XLI
  #define solve _solve
  #define str_add_column _str_add_column
  #define str_add_constraint _str_add_constraint
  #define str_add_lag_con _str_add_lag_con
  #define str_set_obj_fn _str_set_obj_fn
  #define str_set_rh_vec _str_set_rh_vec
  #define time_elapsed _time_elapsed
  #define unscale _unscale
  #define write_lp _write_lp
  #define write_LP _write_LP
  #define write_mps _write_mps
  #define write_MPS _write_MPS
  #define write_freemps _write_freemps
  #define write_freeMPS _write_freeMPS
  #define write_XLI _write_XLI
  #define write_basis _write_basis
  #define write_params _write_params
  