pub fn derive_matrix_data(&mut self) -> Result<MatrixData<OF>, LinearProgramType<OF>> {
        self.standardize()?;

        let (
            nr_equality,
            nr_range,
            nr_upper,
            nr_lower,
        ) = self.reorder_constraints_by_type();

        let ranges = self.constraint_types[nr_equality..(nr_equality + nr_range)].iter()
            .map(|constraint_type| match constraint_type {
                RangedConstraintRelation::Range(r) => r,
                _ => unreachable!("Constraint types were just sorted, and there should only be ranges here."),
            }).collect();

        Ok(MatrixData::new(
            &self.constraints,
            &self.b,
            ranges,
            nr_equality,
            nr_range,
            nr_upper,
            nr_lower,
            &self.variables,
        ))
    }
/// Modify this linear problem such that it is representable by a `MatrixData` structure.
///
/// The problem gets transformed into standard form, which also includes a presolve operation.
/// Note that this call might be expensive.
///
/// TODO(ENHANCEMENT): Make sure that presolving can be skipped.
///
/// See also the documentation of the `GeneralForm::standardize` method.
///
/// # Return value
///
/// A `Result` containing either the `MatrixData` form of the presolved and standardized
/// problem.
///
/// # Errors
///
/// In case the linear program gets solved during this presolve operation, a solution.
Modify this linear problem such that it is representable by a `MatrixData` structure.
The problem gets transformed into standard form, which also includes a presolve operation.
Note that this call might be expensive.

Make sure that presolving can be skipped.

See also the documentation of the `GeneralForm::standardize` method.
Modify this linear problem such that it is representable by a ` MatrixData ` structure . The problem gets transformed into standard form which also includes a presolve operation . Note that this call might be expensive . Make sure that presolving can be skipped . See also the documentation of the ` GeneralForm :: standardize ` method .
pub fn derive_matrix_data(&mut self) -> Result<MatrixData<OF>, LinearProgramType<OF>> {
        self.standardize()?;
        let (
            nr_equality,
            nr_range,
            nr_upper,
            nr_lower,
        ) = self.reorder_constraints_by_type();
        let ranges = self.constraint_types[nr_equality..(nr_equality + nr_range)].iter()
            .map(|constraint_type| match constraint_type {
                RangedConstraintRelation::Range(r) => r,
                _ => unreachable!("Constraint types were just sorted, and there should only be ranges here."),
            }).collect();
        Ok(MatrixData::new(
            &self.constraints,
            &self.b,
            ranges,
            nr_equality,
            nr_range,
            nr_upper,
            nr_lower,
            &self.variables,
        ))
    }
pub fn derive_matrix_data ( & mut self ) -> Result < MatrixData < OF > , LinearProgramType < OF > > { self . standardize ( ) ? ; let ( nr_equality , nr_range , nr_upper , nr_lower , ) = self . reorder_constraints_by_type ( ) ; let ranges = self . constraint_types [ nr_equality .. ( nr_equality + nr_range ) ] . iter ( ) . map ( | constraint_type | match constraint_type { RangedConstraintRelation :: Range ( r ) => r , _ => unreachable ! ( " " ) , } ) . collect ( ) ; Ok ( MatrixData :: new ( & self . constraints , & self . b , ranges , nr_equality , nr_range , nr_upper , nr_lower , & self . variables , ) ) }
Modify this linear problem such that it is representable by a `MatrixData` structure.
Modify this linear problem such that it is representable by a ` MatrixData ` structure .
&mut self
&mut self
return value
A `Result` containing either the `MatrixData` form of the presolved and standardized
problem.
A ` Result ` containing either the ` MatrixData ` form of the presolved and standardized problem .
errors
In case the linear program gets solved during this presolve operation, a solution.
In case the linear program gets solved during this presolve operation a solution .