KluData

Trait KluData 

Source
pub trait KluData:
    Sealed
    + Copy
    + PartialEq
    + Debug
    + Default
    + Mul
    + Sub
    + Add
    + AddAssign
    + Div
    + ComplexFloat<Real = f64>
    + 'static {
    // Required methods
    unsafe fn klu_solve<I: KluIndex>(
        symbolic: *mut I::KluSymbolic,
        numeric: *mut I::KluNumeric,
        rhs_dimension: I,
        number_rhs: I,
        rhs_data: *mut Self,
        common: *mut I::KluCommon,
    ) -> bool;
    unsafe fn klu_tsolve<I: KluIndex>(
        symbolic: *mut I::KluSymbolic,
        numeric: *mut I::KluNumeric,
        rhs_dimension: I,
        number_rhs: I,
        rhs_data: *mut Self,
        common: *mut I::KluCommon,
    ) -> bool;
    unsafe fn klu_factor<I: KluIndex>(
        colum_offsets: *const I,
        row_indices: *const I,
        data: *mut Self,
        symbolic: *mut I::KluSymbolic,
        common: *mut I::KluCommon,
    ) -> *mut I::KluNumeric;
    unsafe fn klu_refactor<I: KluIndex>(
        colum_offsets: *const I,
        row_indices: *const I,
        data: *mut Self,
        symbolic: *mut I::KluSymbolic,
        numeric: *mut I::KluNumeric,
        common: *mut I::KluCommon,
    ) -> bool;
    unsafe fn klu_free_numeric<I: KluIndex>(
        numeric: *mut *mut I::KluNumeric,
        common: *mut I::KluCommon,
    );
    unsafe fn klu_rcond<I: KluIndex>(
        symbolic: *mut I::KluSymbolic,
        numeric: *mut I::KluNumeric,
        common: *mut I::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 Methods§

Source

unsafe fn klu_solve<I: KluIndex>( symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut I::KluCommon, ) -> bool

Source

unsafe fn klu_tsolve<I: KluIndex>( symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut I::KluCommon, ) -> bool

Source

unsafe fn klu_factor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, common: *mut I::KluCommon, ) -> *mut I::KluNumeric

Source

unsafe fn klu_refactor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, common: *mut I::KluCommon, ) -> bool

Source

unsafe fn klu_free_numeric<I: KluIndex>( numeric: *mut *mut I::KluNumeric, common: *mut I::KluCommon, )

Source

unsafe fn klu_rcond<I: KluIndex>( symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, common: *mut I::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 KluData for f64

Source§

unsafe fn klu_solve<I: KluIndex>( symbolic: *mut <I as KluIndex>::KluSymbolic, numeric: *mut <I as KluIndex>::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut <I as KluIndex>::KluCommon, ) -> bool

Source§

unsafe fn klu_tsolve<I: KluIndex>( symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut I::KluCommon, ) -> bool

Source§

unsafe fn klu_factor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, common: *mut I::KluCommon, ) -> *mut I::KluNumeric

Source§

unsafe fn klu_refactor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, common: *mut I::KluCommon, ) -> bool

Source§

unsafe fn klu_free_numeric<I: KluIndex>( numeric: *mut *mut I::KluNumeric, common: *mut I::KluCommon, )

Source§

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

Source§

impl KluData for Complex64

Source§

unsafe fn klu_solve<I: KluIndex>( symbolic: *mut <I as KluIndex>::KluSymbolic, numeric: *mut <I as KluIndex>::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut <I as KluIndex>::KluCommon, ) -> bool

Source§

unsafe fn klu_tsolve<I: KluIndex>( symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, rhs_dimension: I, number_rhs: I, rhs_data: *mut Self, common: *mut I::KluCommon, ) -> bool

Source§

unsafe fn klu_factor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, common: *mut I::KluCommon, ) -> *mut I::KluNumeric

Source§

unsafe fn klu_refactor<I: KluIndex>( colum_offsets: *const I, row_indices: *const I, data: *mut Self, symbolic: *mut I::KluSymbolic, numeric: *mut I::KluNumeric, common: *mut I::KluCommon, ) -> bool

Source§

unsafe fn klu_free_numeric<I: KluIndex>( numeric: *mut *mut I::KluNumeric, common: *mut I::KluCommon, )

Source§

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

Implementors§