pub trait KluIndex: PartialEq + PartialOrd + Ord + Debug + Copy + Clone + Eq + Sealed + Add<Output = Self> {
    type KluCommon: Debug;
    type KluNumeric: Debug;
    type KluSymbolic: Debug;

Show 20 methods fn from_usize(val: usize) -> Self; fn into_usize(self) -> usize; unsafe fn klu_defaults(common: *mut Self::KluCommon) -> Self; unsafe fn klu_analyze(
        dim: Self,
        colum_offsets: *const Self,
        row_indices: *const Self,
        common: *mut Self::KluCommon
    ) -> *mut Self::KluSymbolic; unsafe fn klu_free_symbolic(
        symbolic: *mut *mut Self::KluSymbolic,
        common: *mut Self::KluCommon
    ); unsafe fn klu_factor(
        colum_offsets: *const Self,
        row_indices: *const Self,
        data: *mut f64,
        symbolic: *mut Self::KluSymbolic,
        common: *mut Self::KluCommon
    ) -> *mut Self::KluNumeric; unsafe fn klu_z_factor(
        colum_offsets: *const Self,
        row_indices: *const Self,
        data: *mut f64,
        symbolic: *mut Self::KluSymbolic,
        common: *mut Self::KluCommon
    ) -> *mut Self::KluNumeric; unsafe fn klu_refactor(
        colum_offsets: *const Self,
        row_indices: *const Self,
        data: *mut f64,
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_z_refactor(
        colum_offsets: *const Self,
        row_indices: *const Self,
        data: *mut f64,
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_solve(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        rhs_dimension: Self,
        number_rhs: Self,
        rhs_data: *mut f64,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_tsolve(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        rhs_dimension: Self,
        number_rhs: Self,
        rhs_data: *mut f64,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_z_solve(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        rhs_dimension: Self,
        number_rhs: Self,
        rhs_data: *mut f64,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_z_tsolve(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        rhs_dimension: Self,
        number_rhs: Self,
        rhs_data: *mut f64,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_free_numeric(
        numeric: *mut *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ); unsafe fn klu_z_free_numeric(
        numeric: *mut *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ); fn check_status(common: &Self::KluCommon); fn get_rcond(common: &Self::KluCommon) -> f64; fn is_singular(common: &Self::KluCommon) -> bool; unsafe fn klu_rcond(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ) -> bool; unsafe fn klu_z_rcond(
        symbolic: *mut Self::KluSymbolic,
        numeric: *mut Self::KluNumeric,
        common: *mut Self::KluCommon
    ) -> bool;
}
Expand description

Values that can be used by the KLU solver. The functions of this trait are all unsafe because they directly call the underlying C implementation.

Required Associated Types

Required Methods

Implementations on Foreign Types

Implementors