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
source
fn from_usize(val: usize) -> Self
source
fn into_usize(self) -> usize
source
unsafe fn klu_defaults(common: *mut Self::KluCommon) -> Self
sourceunsafe fn klu_analyze(
unsafe fn klu_analyze(
dim: Self,
colum_offsets: *const Self,
row_indices: *const Self,
common: *mut Self::KluCommon
) -> *mut Self::KluSymbolic
sourceunsafe fn klu_free_symbolic(
unsafe fn klu_free_symbolic(
symbolic: *mut *mut Self::KluSymbolic,
common: *mut Self::KluCommon
)
sourceunsafe fn klu_factor(
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
sourceunsafe fn klu_z_factor(
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
sourceunsafe fn klu_refactor(
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
sourceunsafe fn klu_z_refactor(
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
sourceunsafe fn klu_solve(
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
sourceunsafe fn klu_tsolve(
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
sourceunsafe fn klu_z_solve(
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
sourceunsafe fn klu_z_tsolve(
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
sourceunsafe fn klu_free_numeric(
unsafe fn klu_free_numeric(
numeric: *mut *mut Self::KluNumeric,
common: *mut Self::KluCommon
)
sourceunsafe fn klu_z_free_numeric(
unsafe fn klu_z_free_numeric(
numeric: *mut *mut Self::KluNumeric,
common: *mut Self::KluCommon
)
source
fn check_status(common: &Self::KluCommon)
source
fn is_singular(common: &Self::KluCommon) -> bool
sourceunsafe fn klu_rcond(
unsafe fn klu_rcond(
symbolic: *mut Self::KluSymbolic,
numeric: *mut Self::KluNumeric,
common: *mut Self::KluCommon
) -> bool
sourceunsafe fn klu_z_rcond(