KluIndex

Trait KluIndex 

Source
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 // Required 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

Source

unsafe fn klu_analyze( dim: Self, colum_offsets: *const Self, row_indices: *const Self, common: *mut Self::KluCommon, ) -> *mut Self::KluSymbolic

Source

unsafe fn klu_free_symbolic( symbolic: *mut *mut Self::KluSymbolic, common: *mut Self::KluCommon, )

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

unsafe fn klu_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source

unsafe fn klu_z_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source

fn check_status(common: &Self::KluCommon)

Source

fn get_rcond(common: &Self::KluCommon) -> f64

Source

fn is_singular(common: &Self::KluCommon) -> bool

Source

unsafe fn klu_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Source

unsafe fn klu_z_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl KluIndex for i32

Source§

type KluCommon = KluCommon

Source§

type KluNumeric = KluNumeric

Source§

type KluSymbolic = KluSymbolic

Source§

fn from_usize(val: usize) -> Self

Source§

fn into_usize(self) -> usize

Source§

unsafe fn klu_defaults(common: *mut Self::KluCommon) -> Self

Source§

unsafe fn klu_analyze( dim: Self, colum_offsets: *const Self, row_indices: *const Self, common: *mut Self::KluCommon, ) -> *mut Self::KluSymbolic

Source§

unsafe fn klu_free_symbolic( symbolic: *mut *mut Self::KluSymbolic, common: *mut Self::KluCommon, )

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

unsafe fn klu_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source§

unsafe fn klu_z_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source§

fn check_status(common: &Self::KluCommon)

Source§

fn get_rcond(common: &Self::KluCommon) -> f64

Source§

fn is_singular(common: &Self::KluCommon) -> bool

Source§

unsafe fn klu_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Source§

unsafe fn klu_z_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Source§

impl KluIndex for i64

Source§

type KluCommon = KluLCommon

Source§

type KluNumeric = KluLNumeric

Source§

type KluSymbolic = KluLSymbolic

Source§

fn from_usize(val: usize) -> Self

Source§

fn into_usize(self) -> usize

Source§

unsafe fn klu_defaults(common: *mut Self::KluCommon) -> Self

Source§

unsafe fn klu_analyze( dim: Self, colum_offsets: *const Self, row_indices: *const Self, common: *mut Self::KluCommon, ) -> *mut Self::KluSymbolic

Source§

unsafe fn klu_free_symbolic( symbolic: *mut *mut Self::KluSymbolic, common: *mut Self::KluCommon, )

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

unsafe fn klu_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source§

unsafe fn klu_z_free_numeric( numeric: *mut *mut Self::KluNumeric, common: *mut Self::KluCommon, )

Source§

fn check_status(common: &Self::KluCommon)

Source§

fn get_rcond(common: &Self::KluCommon) -> f64

Source§

fn is_singular(common: &Self::KluCommon) -> bool

Source§

unsafe fn klu_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Source§

unsafe fn klu_z_rcond( symbolic: *mut Self::KluSymbolic, numeric: *mut Self::KluNumeric, common: *mut Self::KluCommon, ) -> bool

Implementors§