extern "C" {
pub fn Highs_call(
numcol: ::std::os::raw::c_int,
numrow: ::std::os::raw::c_int,
numnz: ::std::os::raw::c_int,
colcost: *mut f64,
collower: *mut f64,
colupper: *mut f64,
rowlower: *mut f64,
rowupper: *mut f64,
astart: *mut ::std::os::raw::c_int,
aindex: *mut ::std::os::raw::c_int,
avalue: *mut f64,
colvalue: *mut f64,
coldual: *mut f64,
rowvalue: *mut f64,
rowdual: *mut f64,
colbasisstatus: *mut ::std::os::raw::c_int,
rowbasisstatus: *mut ::std::os::raw::c_int,
modelstatus: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_create() -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn Highs_destroy(highs: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn Highs_readModel(
highs: *mut ::std::os::raw::c_void,
filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_writeModel(
highs: *mut ::std::os::raw::c_void,
filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_clearModel(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_runQuiet(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsLogfile(
highs: *mut ::std::os::raw::c_void,
logfile: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsOutput(
highs: *mut ::std::os::raw::c_void,
outputfile: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_run(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_writeSolution(
highs: *mut ::std::os::raw::c_void,
filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_passLp(
highs: *mut ::std::os::raw::c_void,
numcol: ::std::os::raw::c_int,
numrow: ::std::os::raw::c_int,
numnz: ::std::os::raw::c_int,
colcost: *const f64,
collower: *const f64,
colupper: *const f64,
rowlower: *const f64,
rowupper: *const f64,
astart: *const ::std::os::raw::c_int,
aindex: *const ::std::os::raw::c_int,
avalue: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsBoolOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsIntOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsDoubleOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsStringOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_setHighsOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsBoolOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsIntOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsDoubleOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsStringOptionValue(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
value: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsOptionType(
highs: *mut ::std::os::raw::c_void,
option: *const ::std::os::raw::c_char,
type_: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_resetHighsOptions(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsIntInfoValue(
highs: *mut ::std::os::raw::c_void,
info: *const ::std::os::raw::c_char,
value: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getHighsDoubleInfoValue(
highs: *mut ::std::os::raw::c_void,
info: *const ::std::os::raw::c_char,
value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Highs_getSolution(
highs: *mut ::std::os::raw::c_void,
colvalue: *mut f64,
coldual: *mut f64,
rowvalue: *mut f64,
rowdual: *mut f64,
);
}
extern "C" {
pub fn Highs_getBasis(
highs: *mut ::std::os::raw::c_void,
colstatus: *mut ::std::os::raw::c_int,
rowstatus: *mut ::std::os::raw::c_int,
);
}
extern "C" {
#[doc = " @brief Returns the status of the (scaled) model"]
pub fn Highs_getModelStatus(
highs: *mut ::std::os::raw::c_void,
scaled_model: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns an unbounded dual ray that is a certificate of primal"]
#[doc = " infeasibility."]
pub fn Highs_getDualRay(
highs: *mut ::std::os::raw::c_void,
has_dual_ray: *mut ::std::os::raw::c_int,
dual_ray_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns an unbounded primal ray that is a certificate of dual"]
#[doc = " infeasibility."]
pub fn Highs_getPrimalRay(
highs: *mut ::std::os::raw::c_void,
has_primal_ray: *mut ::std::os::raw::c_int,
primal_ray_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the objective function value (if known)"]
pub fn Highs_getObjectiveValue(highs: *mut ::std::os::raw::c_void) -> f64;
}
extern "C" {
#[doc = " @brief Returns the simplex iteration count (if known)"]
pub fn Highs_getIterationCount(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the simplex iteration count (if known)"]
pub fn Highs_getSimplexIterationCount(
highs: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Gets the basic variables in the order corresponding to"]
#[doc = " calls to getBasisInverseRow, getBasisInverseCol, getBasisSolve,"]
#[doc = " getBasisTransposeSolve, getReducedRow and getReducedColumn. As"]
#[doc = " required by SCIP, non-negative entries are indices of columns,"]
#[doc = " and negative entries are -(row_index+1)."]
pub fn Highs_getBasicVariables(
highs: *mut ::std::os::raw::c_void,
basic_variables: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Gets a row of \\f$B^{-1}\\f$ for basis matrix \\f$B\\f$"]
pub fn Highs_getBasisInverseRow(
highs: *mut ::std::os::raw::c_void,
row: ::std::os::raw::c_int,
row_vector: *mut f64,
row_num_nz: *mut ::std::os::raw::c_int,
row_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Gets a column of \\f$B^{-1}\\f$ for basis matrix \\f$B\\f$"]
pub fn Highs_getBasisInverseCol(
highs: *mut ::std::os::raw::c_void,
col: ::std::os::raw::c_int,
col_vector: *mut f64,
col_num_nz: *mut ::std::os::raw::c_int,
col_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Forms \\f$\\mathbf{x}=B^{-1}\\mathbf{b}\\f$ for a given vector"]
#[doc = " \\f$\\mathbf{b}\\f$"]
pub fn Highs_getBasisSolve(
highs: *mut ::std::os::raw::c_void,
rhs: *const f64,
solution_vector: *mut f64,
solution_num_nz: *mut ::std::os::raw::c_int,
solution_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Forms \\f$\\mathbf{x}=B^{-T}\\mathbf{b}\\f$ for a given vector"]
#[doc = " \\f$\\mathbf{b}\\f$"]
pub fn Highs_getBasisTransposeSolve(
highs: *mut ::std::os::raw::c_void,
rhs: *const f64,
solution_vector: *mut f64,
solution_nz: *mut ::std::os::raw::c_int,
solution_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Forms a row of \\f$B^{-1}A\\f$"]
pub fn Highs_getReducedRow(
highs: *mut ::std::os::raw::c_void,
row: ::std::os::raw::c_int,
row_vector: *mut f64,
row_num_nz: *mut ::std::os::raw::c_int,
row_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Forms a column of \\f$B^{-1}A\\f$"]
pub fn Highs_getReducedColumn(
highs: *mut ::std::os::raw::c_void,
col: ::std::os::raw::c_int,
col_vector: *mut f64,
col_num_nz: *mut ::std::os::raw::c_int,
col_indices: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Passes a basis to HiGHS"]
pub fn Highs_setBasis(
highs: *mut ::std::os::raw::c_void,
colstatus: *const ::std::os::raw::c_int,
rowstatus: *const ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Sets up a logical basis in HiGHS"]
pub fn Highs_setLogicalBasis(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the cumulative wall-clock time spent in Highs_run();"]
pub fn Highs_getHighsRunTime(highs: *mut ::std::os::raw::c_void) -> f64;
}
extern "C" {
#[doc = " @brief Adds a row to the model"]
pub fn Highs_addRow(
highs: *mut ::std::os::raw::c_void,
lower: f64,
upper: f64,
num_new_nz: ::std::os::raw::c_int,
indices: *const ::std::os::raw::c_int,
values: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Adds multiple rows to the model"]
pub fn Highs_addRows(
highs: *mut ::std::os::raw::c_void,
num_new_row: ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
num_new_nz: ::std::os::raw::c_int,
starts: *const ::std::os::raw::c_int,
indices: *const ::std::os::raw::c_int,
values: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Adds a column to the model"]
pub fn Highs_addCol(
highs: *mut ::std::os::raw::c_void,
cost: f64,
lower: f64,
upper: f64,
num_new_nz: ::std::os::raw::c_int,
indices: *const ::std::os::raw::c_int,
values: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Adds multiple columns to the model"]
pub fn Highs_addCols(
highs: *mut ::std::os::raw::c_void,
num_new_col: ::std::os::raw::c_int,
costs: *const f64,
lower: *const f64,
upper: *const f64,
num_new_nz: ::std::os::raw::c_int,
starts: *const ::std::os::raw::c_int,
indices: *const ::std::os::raw::c_int,
values: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the objective sense of the model"]
pub fn Highs_changeObjectiveSense(
highs: *mut ::std::os::raw::c_void,
sense: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the cost of a column"]
pub fn Highs_changeColCost(
highs: *mut ::std::os::raw::c_void,
col: ::std::os::raw::c_int,
cost: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the cost of multiple columns given by a set of indices"]
pub fn Highs_changeColsCostBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
cost: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the cost of multiple columns given by a mask"]
pub fn Highs_changeColsCostByMask(
highs: *mut ::std::os::raw::c_void,
mask: *const ::std::os::raw::c_int,
cost: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the bounds of a column"]
pub fn Highs_changeColBounds(
highs: *mut ::std::os::raw::c_void,
col: ::std::os::raw::c_int,
lower: f64,
upper: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the bounds of multiple columns given by an interval"]
pub fn Highs_changeColsBoundsByRange(
highs: *mut ::std::os::raw::c_void,
from_col: ::std::os::raw::c_int,
to_col: ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the bounds of multiple columns given by a set of indices"]
pub fn Highs_changeColsBoundsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the cost of multiple columns given by a mask"]
pub fn Highs_changeColsBoundsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *const ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the bounds of a row"]
pub fn Highs_changeRowBounds(
highs: *mut ::std::os::raw::c_void,
row: ::std::os::raw::c_int,
lower: f64,
upper: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the bounds of multiple rows given by a set of indices"]
pub fn Highs_changeRowsBoundsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change the cost of multiple rows given by a mask"]
pub fn Highs_changeRowsBoundsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *const ::std::os::raw::c_int,
lower: *const f64,
upper: *const f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Change a coefficient in the constraint matrix."]
pub fn Highs_changeCoeff(
highs: *mut ::std::os::raw::c_void,
row: ::std::os::raw::c_int,
col: ::std::os::raw::c_int,
value: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get the objective sense"]
pub fn Highs_getObjectiveSense(
highs: *mut ::std::os::raw::c_void,
sense: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple columns from the model given by an interval"]
pub fn Highs_getColsByRange(
highs: *mut ::std::os::raw::c_void,
from_col: ::std::os::raw::c_int,
to_col: ::std::os::raw::c_int,
num_col: *mut ::std::os::raw::c_int,
costs: *mut f64,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple columns from the model given by a set"]
pub fn Highs_getColsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
num_col: *mut ::std::os::raw::c_int,
costs: *mut f64,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple columns from the model given by a mask"]
pub fn Highs_getColsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *const ::std::os::raw::c_int,
num_col: *mut ::std::os::raw::c_int,
costs: *mut f64,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple rows from the model given by an interval"]
pub fn Highs_getRowsByRange(
highs: *mut ::std::os::raw::c_void,
from_row: ::std::os::raw::c_int,
to_row: ::std::os::raw::c_int,
num_row: *mut ::std::os::raw::c_int,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple rows from the model given by a set"]
pub fn Highs_getRowsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
num_row: *mut ::std::os::raw::c_int,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get multiple rows from the model given by a mask"]
pub fn Highs_getRowsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *const ::std::os::raw::c_int,
num_row: *mut ::std::os::raw::c_int,
lower: *mut f64,
upper: *mut f64,
num_nz: *mut ::std::os::raw::c_int,
matrix_start: *mut ::std::os::raw::c_int,
matrix_index: *mut ::std::os::raw::c_int,
matrix_value: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple columns from the model given by an interval"]
pub fn Highs_deleteColsByRange(
highs: *mut ::std::os::raw::c_void,
from_col: ::std::os::raw::c_int,
to_col: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple columns from the model given by a set"]
pub fn Highs_deleteColsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple columns from the model given by a mask"]
pub fn Highs_deleteColsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple rows from the model given by an interval"]
pub fn Highs_deleteRowsByRange(
highs: *mut ::std::os::raw::c_void,
from_row: ::std::os::raw::c_int,
to_row: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple rows from the model given by a set"]
pub fn Highs_deleteRowsBySet(
highs: *mut ::std::os::raw::c_void,
num_set_entries: ::std::os::raw::c_int,
set: *const ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Delete multiple rows from the model given by a mask"]
pub fn Highs_deleteRowsByMask(
highs: *mut ::std::os::raw::c_void,
mask: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the value of infinity used by HiGHS"]
pub fn Highs_getHighsInfinity(highs: *mut ::std::os::raw::c_void) -> f64;
}
extern "C" {
#[doc = " @brief Returns the number of columns of the current model"]
pub fn Highs_getNumCols(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the number of rows of the current model"]
pub fn Highs_getNumRows(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns the number of nonzeroes of the current model"]
pub fn Highs_getNumNz(highs: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Returns a pointer to a character representation of a HiGHS model"]
#[doc = " status"]
pub fn Highs_highsModelStatusToChar(
highs: *mut ::std::os::raw::c_void,
int_highs_model_status: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
#[doc = " @brief Returns a pointer to a character representation of a primal/dual"]
#[doc = " status"]
pub fn Highs_primalDualStatusToChar(
highs: *mut ::std::os::raw::c_void,
int_primal_dual_status: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char;
}