pub const AOCLSPARSE_VERSION_MAJOR: u32 = 5;
pub const AOCLSPARSE_VERSION_MINOR: u32 = 1;
pub const AOCLSPARSE_VERSION_PATCH: u32 = 0;
pub type aoclsparse_int = i32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct aoclsparse_float_complex {
pub real: f32,
pub imag: f32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct aoclsparse_double_complex_ {
pub real: f64,
pub imag: f64,
}
pub type aoclsparse_double_complex = aoclsparse_double_complex_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _aoclsparse_mat_descr {
_unused: [u8; 0],
}
pub type aoclsparse_mat_descr = *mut _aoclsparse_mat_descr;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _aoclsparse_matrix {
_unused: [u8; 0],
}
pub type aoclsparse_matrix = *mut _aoclsparse_matrix;
pub type aoclsparse_mat_csr = *mut _aoclsparse_matrix;
pub const aoclsparse_operation__aoclsparse_operation_none: aoclsparse_operation_ = 111;
pub const aoclsparse_operation__aoclsparse_operation_transpose: aoclsparse_operation_ = 112;
pub const aoclsparse_operation__aoclsparse_operation_conjugate_transpose: aoclsparse_operation_ =
113;
pub type aoclsparse_operation_ = ::std::os::raw::c_int;
pub use self::aoclsparse_operation_ as aoclsparse_operation;
pub const aoclsparse_index_base__aoclsparse_index_base_zero: aoclsparse_index_base_ = 0;
pub const aoclsparse_index_base__aoclsparse_index_base_one: aoclsparse_index_base_ = 1;
pub type aoclsparse_index_base_ = ::std::os::raw::c_int;
pub use self::aoclsparse_index_base_ as aoclsparse_index_base;
pub const aoclsparse_matrix_type__aoclsparse_matrix_type_general: aoclsparse_matrix_type_ = 0;
pub const aoclsparse_matrix_type__aoclsparse_matrix_type_symmetric: aoclsparse_matrix_type_ = 1;
pub const aoclsparse_matrix_type__aoclsparse_matrix_type_hermitian: aoclsparse_matrix_type_ = 2;
pub const aoclsparse_matrix_type__aoclsparse_matrix_type_triangular: aoclsparse_matrix_type_ = 3;
pub type aoclsparse_matrix_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_matrix_type_ as aoclsparse_matrix_type;
pub const aoclsparse_matrix_data_type__aoclsparse_dmat: aoclsparse_matrix_data_type_ = 0;
pub const aoclsparse_matrix_data_type__aoclsparse_smat: aoclsparse_matrix_data_type_ = 1;
pub const aoclsparse_matrix_data_type__aoclsparse_cmat: aoclsparse_matrix_data_type_ = 2;
pub const aoclsparse_matrix_data_type__aoclsparse_zmat: aoclsparse_matrix_data_type_ = 3;
pub type aoclsparse_matrix_data_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_matrix_data_type_ as aoclsparse_matrix_data_type;
pub const aoclsparse_ilu_type__aoclsparse_ilu0: aoclsparse_ilu_type_ = 0;
pub const aoclsparse_ilu_type__aoclsparse_ilup: aoclsparse_ilu_type_ = 1;
pub type aoclsparse_ilu_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_ilu_type_ as aoclsparse_ilu_type;
pub const aoclsparse_matrix_format_type__aoclsparse_csr_mat: aoclsparse_matrix_format_type_ = 0;
pub const aoclsparse_matrix_format_type__aoclsparse_ell_mat: aoclsparse_matrix_format_type_ = 1;
pub const aoclsparse_matrix_format_type__aoclsparse_ellt_mat: aoclsparse_matrix_format_type_ = 2;
pub const aoclsparse_matrix_format_type__aoclsparse_ellt_csr_hyb_mat:
aoclsparse_matrix_format_type_ = 3;
pub const aoclsparse_matrix_format_type__aoclsparse_ell_csr_hyb_mat:
aoclsparse_matrix_format_type_ = 4;
pub const aoclsparse_matrix_format_type__aoclsparse_dia_mat: aoclsparse_matrix_format_type_ = 5;
pub const aoclsparse_matrix_format_type__aoclsparse_csr_mat_br4: aoclsparse_matrix_format_type_ = 6;
pub const aoclsparse_matrix_format_type__aoclsparse_csc_mat: aoclsparse_matrix_format_type_ = 7;
pub const aoclsparse_matrix_format_type__aoclsparse_coo_mat: aoclsparse_matrix_format_type_ = 8;
pub const aoclsparse_matrix_format_type__aoclsparse_tcsr_mat: aoclsparse_matrix_format_type_ = 9;
pub const aoclsparse_matrix_format_type__aoclsparse_blkcsr_mat: aoclsparse_matrix_format_type_ = 10;
pub type aoclsparse_matrix_format_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_matrix_format_type_ as aoclsparse_matrix_format_type;
pub const aoclsparse_diag_type__aoclsparse_diag_type_non_unit: aoclsparse_diag_type_ = 0;
pub const aoclsparse_diag_type__aoclsparse_diag_type_unit: aoclsparse_diag_type_ = 1;
pub const aoclsparse_diag_type__aoclsparse_diag_type_zero: aoclsparse_diag_type_ = 2;
pub type aoclsparse_diag_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_diag_type_ as aoclsparse_diag_type;
pub const aoclsparse_fill_mode__aoclsparse_fill_mode_lower: aoclsparse_fill_mode_ = 0;
pub const aoclsparse_fill_mode__aoclsparse_fill_mode_upper: aoclsparse_fill_mode_ = 1;
pub type aoclsparse_fill_mode_ = ::std::os::raw::c_int;
pub use self::aoclsparse_fill_mode_ as aoclsparse_fill_mode;
pub const aoclsparse_order__aoclsparse_order_row: aoclsparse_order_ = 0;
pub const aoclsparse_order__aoclsparse_order_column: aoclsparse_order_ = 1;
pub type aoclsparse_order_ = ::std::os::raw::c_int;
pub use self::aoclsparse_order_ as aoclsparse_order;
pub const aoclsparse_status__aoclsparse_status_success: aoclsparse_status_ = 0;
pub const aoclsparse_status__aoclsparse_status_not_implemented: aoclsparse_status_ = 1;
pub const aoclsparse_status__aoclsparse_status_invalid_pointer: aoclsparse_status_ = 2;
pub const aoclsparse_status__aoclsparse_status_invalid_size: aoclsparse_status_ = 3;
pub const aoclsparse_status__aoclsparse_status_internal_error: aoclsparse_status_ = 4;
pub const aoclsparse_status__aoclsparse_status_invalid_value: aoclsparse_status_ = 5;
pub const aoclsparse_status__aoclsparse_status_invalid_index_value: aoclsparse_status_ = 6;
pub const aoclsparse_status__aoclsparse_status_maxit: aoclsparse_status_ = 7;
pub const aoclsparse_status__aoclsparse_status_user_stop: aoclsparse_status_ = 8;
pub const aoclsparse_status__aoclsparse_status_wrong_type: aoclsparse_status_ = 9;
pub const aoclsparse_status__aoclsparse_status_memory_error: aoclsparse_status_ = 10;
pub const aoclsparse_status__aoclsparse_status_numerical_error: aoclsparse_status_ = 11;
pub const aoclsparse_status__aoclsparse_status_invalid_operation: aoclsparse_status_ = 12;
pub const aoclsparse_status__aoclsparse_status_unsorted_input: aoclsparse_status_ = 13;
pub const aoclsparse_status__aoclsparse_status_invalid_kid: aoclsparse_status_ = 14;
pub type aoclsparse_status_ = ::std::os::raw::c_int;
pub use self::aoclsparse_status_ as aoclsparse_status;
pub const aoclsparse_request__aoclsparse_stage_nnz_count: aoclsparse_request_ = 0;
pub const aoclsparse_request__aoclsparse_stage_finalize: aoclsparse_request_ = 1;
pub const aoclsparse_request__aoclsparse_stage_full_computation: aoclsparse_request_ = 2;
pub type aoclsparse_request_ = ::std::os::raw::c_int;
pub use self::aoclsparse_request_ as aoclsparse_request;
pub const aoclsparse_sor_type__aoclsparse_sor_forward: aoclsparse_sor_type_ = 0;
pub const aoclsparse_sor_type__aoclsparse_sor_backward: aoclsparse_sor_type_ = 1;
pub const aoclsparse_sor_type__aoclsparse_sor_symmetric: aoclsparse_sor_type_ = 2;
pub type aoclsparse_sor_type_ = ::std::os::raw::c_int;
pub use self::aoclsparse_sor_type_ as aoclsparse_sor_type;
pub const aoclsparse_memory_usage__aoclsparse_memory_usage_minimal: aoclsparse_memory_usage_ = 0;
pub const aoclsparse_memory_usage__aoclsparse_memory_usage_unrestricted: aoclsparse_memory_usage_ =
1;
pub type aoclsparse_memory_usage_ = ::std::os::raw::c_int;
pub use self::aoclsparse_memory_usage_ as aoclsparse_memory_usage;
pub const aoclsparse_matrix_sort__aoclsparse_unknown_sort: aoclsparse_matrix_sort_ = 0;
pub const aoclsparse_matrix_sort__aoclsparse_fully_sorted: aoclsparse_matrix_sort_ = 1;
pub const aoclsparse_matrix_sort__aoclsparse_partially_sorted: aoclsparse_matrix_sort_ = 2;
pub const aoclsparse_matrix_sort__aoclsparse_unsorted: aoclsparse_matrix_sort_ = 3;
pub type aoclsparse_matrix_sort_ = ::std::os::raw::c_int;
pub use self::aoclsparse_matrix_sort_ as aoclsparse_matrix_sort;
extern "C" {
pub fn aoclsparse_optimize(mat: aoclsparse_matrix) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_mv_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_mv_hint_kid(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_sv_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_mm_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_2m_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_lu_smoother_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_symgs_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_dotmv_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_sm_hint(
mat: aoclsparse_matrix,
trans: aoclsparse_operation,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_sorv_hint(
mat: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
type_: aoclsparse_sor_type,
expected_no_of_calls: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_memory_hint(
mat: aoclsparse_matrix,
policy: aoclsparse_memory_usage,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_get_version() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn aoclsparse_enable_instructions(
isa_preference: *const ::std::os::raw::c_char,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_debug_get(
isa_preference: *mut ::std::os::raw::c_char,
num_threads: *mut aoclsparse_int,
tl_isa_preference: *mut ::std::os::raw::c_char,
is_isa_updated: *mut bool,
arch: *mut ::std::os::raw::c_char,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_mat_descr(descr: *mut aoclsparse_mat_descr) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_copy_mat_descr(
dest: aoclsparse_mat_descr,
src: aoclsparse_mat_descr,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_destroy_mat_descr(descr: aoclsparse_mat_descr) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_set_mat_index_base(
descr: aoclsparse_mat_descr,
base: aoclsparse_index_base,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_get_mat_index_base(descr: aoclsparse_mat_descr) -> aoclsparse_index_base;
}
extern "C" {
pub fn aoclsparse_set_mat_type(
descr: aoclsparse_mat_descr,
type_: aoclsparse_matrix_type,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_get_mat_type(descr: aoclsparse_mat_descr) -> aoclsparse_matrix_type;
}
extern "C" {
pub fn aoclsparse_set_mat_fill_mode(
descr: aoclsparse_mat_descr,
fill_mode: aoclsparse_fill_mode,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_get_mat_fill_mode(descr: aoclsparse_mat_descr) -> aoclsparse_fill_mode;
}
extern "C" {
pub fn aoclsparse_set_mat_diag_type(
descr: aoclsparse_mat_descr,
diag_type: aoclsparse_diag_type,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_get_mat_diag_type(descr: aoclsparse_mat_descr) -> aoclsparse_diag_type;
}
extern "C" {
pub fn aoclsparse_zset_value(
A: aoclsparse_matrix,
row_idx: aoclsparse_int,
col_idx: aoclsparse_int,
val: aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cset_value(
A: aoclsparse_matrix,
row_idx: aoclsparse_int,
col_idx: aoclsparse_int,
val: aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dset_value(
A: aoclsparse_matrix,
row_idx: aoclsparse_int,
col_idx: aoclsparse_int,
val: f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sset_value(
A: aoclsparse_matrix,
row_idx: aoclsparse_int,
col_idx: aoclsparse_int,
val: f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_scsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr: *mut aoclsparse_int,
col_idx: *mut aoclsparse_int,
val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_dcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr: *mut aoclsparse_int,
col_idx: *mut aoclsparse_int,
val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_ccsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr: *mut aoclsparse_int,
col_idx: *mut aoclsparse_int,
val: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_zcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr: *mut aoclsparse_int,
col_idx: *mut aoclsparse_int,
val: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_stcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr_L: *mut aoclsparse_int,
row_ptr_U: *mut aoclsparse_int,
col_idx_L: *mut aoclsparse_int,
col_idx_U: *mut aoclsparse_int,
val_L: *mut f32,
val_U: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_dtcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr_L: *mut aoclsparse_int,
row_ptr_U: *mut aoclsparse_int,
col_idx_L: *mut aoclsparse_int,
col_idx_U: *mut aoclsparse_int,
val_L: *mut f64,
val_U: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_ctcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr_L: *mut aoclsparse_int,
row_ptr_U: *mut aoclsparse_int,
col_idx_L: *mut aoclsparse_int,
col_idx_U: *mut aoclsparse_int,
val_L: *mut aoclsparse_float_complex,
val_U: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_ztcsr(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ptr_L: *mut aoclsparse_int,
row_ptr_U: *mut aoclsparse_int,
col_idx_L: *mut aoclsparse_int,
col_idx_U: *mut aoclsparse_int,
val_L: *mut aoclsparse_double_complex,
val_U: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_scoo(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ind: *mut aoclsparse_int,
col_ind: *mut aoclsparse_int,
val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_dcoo(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ind: *mut aoclsparse_int,
col_ind: *mut aoclsparse_int,
val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_ccoo(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ind: *mut aoclsparse_int,
col_ind: *mut aoclsparse_int,
val: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_zcoo(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
row_ind: *mut aoclsparse_int,
col_ind: *mut aoclsparse_int,
val: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zupdate_values(
A: aoclsparse_matrix,
len: aoclsparse_int,
val: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cupdate_values(
A: aoclsparse_matrix,
len: aoclsparse_int,
val: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dupdate_values(
A: aoclsparse_matrix,
len: aoclsparse_int,
val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_supdate_values(
A: aoclsparse_matrix,
len: aoclsparse_int,
val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_scsr(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ind: *mut *mut aoclsparse_int,
val: *mut *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_dcsr(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ind: *mut *mut aoclsparse_int,
val: *mut *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_ccsr(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ind: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_zcsr(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ind: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_destroy(mat: *mut aoclsparse_matrix) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_scsc(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
col_ptr: *mut aoclsparse_int,
row_idx: *mut aoclsparse_int,
val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_dcsc(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
col_ptr: *mut aoclsparse_int,
row_idx: *mut aoclsparse_int,
val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_ccsc(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
col_ptr: *mut aoclsparse_int,
row_idx: *mut aoclsparse_int,
val: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_create_zcsc(
mat: *mut aoclsparse_matrix,
base: aoclsparse_index_base,
M: aoclsparse_int,
N: aoclsparse_int,
nnz: aoclsparse_int,
col_ptr: *mut aoclsparse_int,
row_idx: *mut aoclsparse_int,
val: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_zcoo(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_ccoo(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_dcoo(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
val: *mut *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_scoo(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
row_ptr: *mut *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
val: *mut *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_copy(
src: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
dest: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_order_mat(mat: aoclsparse_matrix) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_scsc(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
row_ind: *mut *mut aoclsparse_int,
val: *mut *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_dcsc(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
row_ind: *mut *mut aoclsparse_int,
val: *mut *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_ccsc(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
row_ind: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_export_zcsc(
mat: aoclsparse_matrix,
base: *mut aoclsparse_index_base,
m: *mut aoclsparse_int,
n: *mut aoclsparse_int,
nnz: *mut aoclsparse_int,
col_ptr: *mut *mut aoclsparse_int,
row_ind: *mut *mut aoclsparse_int,
val: *mut *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_debug_dispatcher(
name: *const ::std::os::raw::c_char,
dt: aoclsparse_matrix_data_type,
kid: aoclsparse_int,
) -> aoclsparse_int;
}
extern "C" {
pub fn aoclsparse_is_avx512_build() -> aoclsparse_int;
}
extern "C" {
pub fn aoclsparse_csr2ell_width(
m: aoclsparse_int,
nnz: aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
ell_width: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csr2ellthyb_width(
m: aoclsparse_int,
nnz: aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
ell_m: *mut aoclsparse_int,
ell_width: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2ell(
m: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f32,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f32,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2ell(
m: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f64,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2ellt(
m: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f32,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f32,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2ellt(
m: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f64,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2ellthyb(
m: aoclsparse_int,
base: aoclsparse_index_base,
ell_m: *mut aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f32,
row_idx_map: *mut aoclsparse_int,
csr_row_idx_map: *mut aoclsparse_int,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f32,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2ellthyb(
m: aoclsparse_int,
base: aoclsparse_index_base,
ell_m: *mut aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
row_idx_map: *mut aoclsparse_int,
csr_row_idx_map: *mut aoclsparse_int,
ell_col_ind: *mut aoclsparse_int,
ell_val: *mut f64,
ell_width: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csr2dia_ndiag(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
nnz: aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
dia_num_diag: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2dia(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f32,
dia_num_diag: aoclsparse_int,
dia_offset: *mut aoclsparse_int,
dia_val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2dia(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
dia_num_diag: aoclsparse_int,
dia_offset: *mut aoclsparse_int,
dia_val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csr2bsr_nnz(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
block_dim: aoclsparse_int,
bsr_row_ptr: *mut aoclsparse_int,
bsr_nnz: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2bsr(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const f32,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
block_dim: aoclsparse_int,
bsr_val: *mut f32,
bsr_row_ptr: *mut aoclsparse_int,
bsr_col_ind: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2bsr(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const f64,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
block_dim: aoclsparse_int,
bsr_val: *mut f64,
bsr_row_ptr: *mut aoclsparse_int,
bsr_col_ind: *mut aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2csc(
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
descr: aoclsparse_mat_descr,
baseCSC: aoclsparse_index_base,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f32,
csc_row_ind: *mut aoclsparse_int,
csc_col_ptr: *mut aoclsparse_int,
csc_val: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2csc(
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
descr: aoclsparse_mat_descr,
baseCSC: aoclsparse_index_base,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
csc_row_ind: *mut aoclsparse_int,
csc_col_ptr: *mut aoclsparse_int,
csc_val: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ccsr2csc(
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
descr: aoclsparse_mat_descr,
baseCSC: aoclsparse_index_base,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const aoclsparse_float_complex,
csc_row_ind: *mut aoclsparse_int,
csc_col_ptr: *mut aoclsparse_int,
csc_val: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zcsr2csc(
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
descr: aoclsparse_mat_descr,
baseCSC: aoclsparse_index_base,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const aoclsparse_double_complex,
csc_row_ind: *mut aoclsparse_int,
csc_col_ptr: *mut aoclsparse_int,
csc_val: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2dense(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const f32,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
A: *mut f32,
ld: aoclsparse_int,
order: aoclsparse_order,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2dense(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const f64,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
A: *mut f64,
ld: aoclsparse_int,
order: aoclsparse_order,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ccsr2dense(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const aoclsparse_float_complex,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
A: *mut aoclsparse_float_complex,
ld: aoclsparse_int,
order: aoclsparse_order,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zcsr2dense(
m: aoclsparse_int,
n: aoclsparse_int,
descr: aoclsparse_mat_descr,
csr_val: *const aoclsparse_double_complex,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
A: *mut aoclsparse_double_complex,
ld: aoclsparse_int,
order: aoclsparse_order,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csr2blkcsr(
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
csr_val: *const f64,
blk_row_ptr: *mut aoclsparse_int,
blk_col_ind: *mut aoclsparse_int,
blk_csr_val: *mut f64,
masks: *mut u8,
nRowsblk: aoclsparse_int,
base: aoclsparse_index_base,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_opt_blksize(
m: aoclsparse_int,
nnz: aoclsparse_int,
base: aoclsparse_index_base,
csr_row_ptr: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
total_blks: *mut aoclsparse_int,
) -> aoclsparse_int;
}
extern "C" {
pub fn aoclsparse_convert_csr(
src_mat: aoclsparse_matrix,
op: aoclsparse_operation,
dest_mat: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zaxpyi(
nnz: aoclsparse_int,
a: *const ::std::os::raw::c_void,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_caxpyi(
nnz: aoclsparse_int,
a: *const ::std::os::raw::c_void,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_daxpyi(
nnz: aoclsparse_int,
a: f64,
x: *const f64,
indx: *const aoclsparse_int,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_saxpyi(
nnz: aoclsparse_int,
a: f32,
x: *const f32,
indx: *const aoclsparse_int,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cdotci(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zdotci(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zdotui(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cdotui(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ddoti(
nnz: aoclsparse_int,
x: *const f64,
indx: *const aoclsparse_int,
y: *const f64,
) -> f64;
}
extern "C" {
pub fn aoclsparse_sdoti(
nnz: aoclsparse_int,
x: *const f32,
indx: *const aoclsparse_int,
y: *const f32,
) -> f32;
}
extern "C" {
pub fn aoclsparse_zsctr(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csctr(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsctr(
nnz: aoclsparse_int,
x: *const f64,
indx: *const aoclsparse_int,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssctr(
nnz: aoclsparse_int,
x: *const f32,
indx: *const aoclsparse_int,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsctrs(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
stride: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csctrs(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
stride: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsctrs(
nnz: aoclsparse_int,
x: *const f64,
stride: aoclsparse_int,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssctrs(
nnz: aoclsparse_int,
x: *const f32,
stride: aoclsparse_int,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_droti(
nnz: aoclsparse_int,
x: *mut f64,
indx: *const aoclsparse_int,
y: *mut f64,
c: f64,
s: f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sroti(
nnz: aoclsparse_int,
x: *mut f32,
indx: *const aoclsparse_int,
y: *mut f32,
c: f32,
s: f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthr(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthr(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthr(
nnz: aoclsparse_int,
y: *const f64,
x: *mut f64,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sgthr(
nnz: aoclsparse_int,
y: *const f32,
x: *mut f32,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthrz(
nnz: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthrz(
nnz: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthrz(
nnz: aoclsparse_int,
y: *mut f64,
x: *mut f64,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sgthrz(
nnz: aoclsparse_int,
y: *mut f32,
x: *mut f32,
indx: *const aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthrs(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
stride: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthrs(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
stride: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthrs(
nnz: aoclsparse_int,
y: *const f64,
x: *mut f64,
stride: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sgthrs(
nnz: aoclsparse_int,
y: *const f32,
x: *mut f32,
stride: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsrmv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
csr_val: *const f64,
csr_col_ind: *const aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsrmv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
csr_val: *const f32,
csr_col_ind: *const aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dellmv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f64,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sellmv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f32,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_selltmv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f32,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_delltmv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f64,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sellthybmv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f32,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
ell_m: aoclsparse_int,
csr_val: *const f32,
csr_row_ind: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
row_idx_map: *mut aoclsparse_int,
csr_row_idx_map: *mut aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dellthybmv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
ell_val: *const f64,
ell_col_ind: *const aoclsparse_int,
ell_width: aoclsparse_int,
ell_m: aoclsparse_int,
csr_val: *const f64,
csr_row_ind: *const aoclsparse_int,
csr_col_ind: *const aoclsparse_int,
row_idx_map: *mut aoclsparse_int,
csr_row_idx_map: *mut aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dblkcsrmv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
masks: *const u8,
csr_val: *const f64,
csr_col_ind: *const aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
nRowsblk: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ddiamv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
dia_val: *const f64,
dia_offset: *const aoclsparse_int,
dia_num_diag: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sdiamv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
n: aoclsparse_int,
nnz: aoclsparse_int,
dia_val: *const f32,
dia_offset: *const aoclsparse_int,
dia_num_diag: aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dbsrmv(
trans: aoclsparse_operation,
alpha: *const f64,
mb: aoclsparse_int,
nb: aoclsparse_int,
bsr_dim: aoclsparse_int,
bsr_val: *const f64,
bsr_col_ind: *const aoclsparse_int,
bsr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sbsrmv(
trans: aoclsparse_operation,
alpha: *const f32,
mb: aoclsparse_int,
nb: aoclsparse_int,
bsr_dim: aoclsparse_int,
bsr_val: *const f32,
bsr_col_ind: *const aoclsparse_int,
bsr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zmv(
op: aoclsparse_operation,
alpha: *const aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const aoclsparse_double_complex,
beta: *const aoclsparse_double_complex,
y: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cmv(
op: aoclsparse_operation,
alpha: *const aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const aoclsparse_float_complex,
beta: *const aoclsparse_float_complex,
y: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dmv(
op: aoclsparse_operation,
alpha: *const f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_smv(
op: aoclsparse_operation,
alpha: *const f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsrsv(
trans: aoclsparse_operation,
alpha: *const f64,
m: aoclsparse_int,
csr_val: *const f64,
csr_col_ind: *const aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsrsv(
trans: aoclsparse_operation,
alpha: *const f32,
m: aoclsparse_int,
csr_val: *const f32,
csr_col_ind: *const aoclsparse_int,
csr_row_ptr: *const aoclsparse_int,
descr: aoclsparse_mat_descr,
x: *const f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ztrsv(
trans: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ctrsv(
trans: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dtrsv(
trans: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f64,
x: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_strsv(
trans: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f32,
x: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ztrsv_kid(
trans: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ctrsv_kid(
trans: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dtrsv_kid(
trans: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f64,
x: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_strsv_kid(
trans: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f32,
x: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_strsv_strided(
trans: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f32,
incb: aoclsparse_int,
x: *mut f32,
incx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dtrsv_strided(
trans: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f64,
incb: aoclsparse_int,
x: *mut f64,
incx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ctrsv_strided(
trans: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_float_complex,
incb: aoclsparse_int,
x: *mut aoclsparse_float_complex,
incx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ztrsv_strided(
trans: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_double_complex,
incb: aoclsparse_int,
x: *mut aoclsparse_double_complex,
incx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zdotmv(
op: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const aoclsparse_double_complex,
beta: aoclsparse_double_complex,
y: *mut aoclsparse_double_complex,
d: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cdotmv(
op: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const aoclsparse_float_complex,
beta: aoclsparse_float_complex,
y: *mut aoclsparse_float_complex,
d: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ddotmv(
op: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const f64,
beta: f64,
y: *mut f64,
d: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sdotmv(
op: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
x: *const f32,
beta: f32,
y: *mut f32,
d: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ztrsm(
trans: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_double_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut aoclsparse_double_complex,
ldx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ctrsm(
trans: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_float_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut aoclsparse_float_complex,
ldx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dtrsm(
trans: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f64,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut f64,
ldx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_strsm(
trans: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f32,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut f32,
ldx: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ztrsm_kid(
trans: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_double_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut aoclsparse_double_complex,
ldx: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ctrsm_kid(
trans: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_float_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut aoclsparse_float_complex,
ldx: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dtrsm_kid(
trans: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f64,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut f64,
ldx: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_strsm_kid(
trans: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f32,
n: aoclsparse_int,
ldb: aoclsparse_int,
X: *mut f32,
ldx: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sp2m(
opA: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
A: aoclsparse_matrix,
opB: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
B: aoclsparse_matrix,
request: aoclsparse_request,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_spmm(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sypr(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
descrB: aoclsparse_mat_descr,
C: *mut aoclsparse_matrix,
request: aoclsparse_request,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zcsrmm(
op: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_double_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: aoclsparse_double_complex,
C: *mut aoclsparse_double_complex,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ccsrmm(
op: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_float_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: aoclsparse_float_complex,
C: *mut aoclsparse_float_complex,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsrmm(
op: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f64,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: f64,
C: *mut f64,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsrmm(
op: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f32,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: f32,
C: *mut f32,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sspmmd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
layout: aoclsparse_order,
C: *mut f32,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dspmmd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
layout: aoclsparse_order,
C: *mut f64,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cspmmd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
layout: aoclsparse_order,
C: *mut aoclsparse_float_complex,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zspmmd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: aoclsparse_matrix,
layout: aoclsparse_order,
C: *mut aoclsparse_double_complex,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssp2md(
opA: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
A: aoclsparse_matrix,
opB: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
B: aoclsparse_matrix,
alpha: f32,
beta: f32,
C: *mut f32,
layout: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsp2md(
opA: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
A: aoclsparse_matrix,
opB: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
B: aoclsparse_matrix,
alpha: f64,
beta: f64,
C: *mut f64,
layout: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csp2md(
opA: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
A: aoclsparse_matrix,
opB: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
B: aoclsparse_matrix,
alpha: aoclsparse_float_complex,
beta: aoclsparse_float_complex,
C: *mut aoclsparse_float_complex,
layout: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsp2md(
opA: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
A: aoclsparse_matrix,
opB: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
B: aoclsparse_matrix,
alpha: aoclsparse_double_complex,
beta: aoclsparse_double_complex,
C: *mut aoclsparse_double_complex,
layout: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsr2m(
trans_A: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
csrA: aoclsparse_matrix,
trans_B: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
csrB: aoclsparse_matrix,
request: aoclsparse_request,
csrC: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsr2m(
trans_A: aoclsparse_operation,
descrA: aoclsparse_mat_descr,
csrA: aoclsparse_matrix,
trans_B: aoclsparse_operation,
descrB: aoclsparse_mat_descr,
csrB: aoclsparse_matrix,
request: aoclsparse_request,
csrC: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zadd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: aoclsparse_double_complex,
B: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cadd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: aoclsparse_float_complex,
B: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dadd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: f64,
B: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sadd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: f32,
B: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssyprd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: *const f32,
orderB: aoclsparse_order,
ldb: aoclsparse_int,
alpha: f32,
beta: f32,
C: *mut f32,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsyprd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: *const f64,
orderB: aoclsparse_order,
ldb: aoclsparse_int,
alpha: f64,
beta: f64,
C: *mut f64,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csyprd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: *const aoclsparse_float_complex,
orderB: aoclsparse_order,
ldb: aoclsparse_int,
alpha: aoclsparse_float_complex,
beta: aoclsparse_float_complex,
C: *mut aoclsparse_float_complex,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsyprd(
op: aoclsparse_operation,
A: aoclsparse_matrix,
B: *const aoclsparse_double_complex,
orderB: aoclsparse_order,
ldb: aoclsparse_int,
alpha: aoclsparse_double_complex,
beta: aoclsparse_double_complex,
C: *mut aoclsparse_double_complex,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_syrk(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
C: *mut aoclsparse_matrix,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssyrkd(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: f32,
beta: f32,
C: *mut f32,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsyrkd(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: f64,
beta: f64,
C: *mut f64,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csyrkd(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: aoclsparse_float_complex,
beta: aoclsparse_float_complex,
C: *mut aoclsparse_float_complex,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsyrkd(
opA: aoclsparse_operation,
A: aoclsparse_matrix,
alpha: aoclsparse_double_complex,
beta: aoclsparse_double_complex,
C: *mut aoclsparse_double_complex,
orderC: aoclsparse_order,
ldc: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_saxpyi_kid(
nnz: aoclsparse_int,
a: f32,
x: *const f32,
indx: *const aoclsparse_int,
y: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zaxpyi_kid(
nnz: aoclsparse_int,
a: *const ::std::os::raw::c_void,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_caxpyi_kid(
nnz: aoclsparse_int,
a: *const ::std::os::raw::c_void,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_daxpyi_kid(
nnz: aoclsparse_int,
a: f64,
x: *const f64,
indx: *const aoclsparse_int,
y: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cdotci_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zdotci_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cdotui_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zdotui_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *const ::std::os::raw::c_void,
dot: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sdoti_kid(
nnz: aoclsparse_int,
x: *const f32,
indx: *const aoclsparse_int,
y: *const f32,
kid: aoclsparse_int,
) -> f32;
}
extern "C" {
pub fn aoclsparse_ddoti_kid(
nnz: aoclsparse_int,
x: *const f64,
indx: *const aoclsparse_int,
y: *const f64,
kid: aoclsparse_int,
) -> f64;
}
extern "C" {
pub fn aoclsparse_sgthr_kid(
nnz: aoclsparse_int,
y: *const f32,
x: *mut f32,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthr_kid(
nnz: aoclsparse_int,
y: *const f64,
x: *mut f64,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthr_kid(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthr_kid(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sgthrz_kid(
nnz: aoclsparse_int,
y: *mut f32,
x: *mut f32,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthrz_kid(
nnz: aoclsparse_int,
y: *mut f64,
x: *mut f64,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthrz_kid(
nnz: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthrz_kid(
nnz: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
indx: *const aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sgthrs_kid(
nnz: aoclsparse_int,
y: *const f32,
x: *mut f32,
stride: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dgthrs_kid(
nnz: aoclsparse_int,
y: *const f64,
x: *mut f64,
stride: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cgthrs_kid(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
stride: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zgthrs_kid(
nnz: aoclsparse_int,
y: *const ::std::os::raw::c_void,
x: *mut ::std::os::raw::c_void,
stride: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_sroti_kid(
nnz: aoclsparse_int,
x: *mut f32,
indx: *const aoclsparse_int,
y: *mut f32,
c: f32,
s: f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_droti_kid(
nnz: aoclsparse_int,
x: *mut f64,
indx: *const aoclsparse_int,
y: *mut f64,
c: f64,
s: f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csctr_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsctr_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
indx: *const aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssctr_kid(
nnz: aoclsparse_int,
x: *const f32,
indx: *const aoclsparse_int,
y: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsctr_kid(
nnz: aoclsparse_int,
x: *const f64,
indx: *const aoclsparse_int,
y: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csctrs_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
stride: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsctrs_kid(
nnz: aoclsparse_int,
x: *const ::std::os::raw::c_void,
stride: aoclsparse_int,
y: *mut ::std::os::raw::c_void,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssctrs_kid(
nnz: aoclsparse_int,
x: *const f32,
stride: aoclsparse_int,
y: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsctrs_kid(
nnz: aoclsparse_int,
x: *const f64,
stride: aoclsparse_int,
y: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zcsrmm_kid(
op: aoclsparse_operation,
alpha: aoclsparse_double_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_double_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: aoclsparse_double_complex,
C: *mut aoclsparse_double_complex,
ldc: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ccsrmm_kid(
op: aoclsparse_operation,
alpha: aoclsparse_float_complex,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const aoclsparse_float_complex,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: aoclsparse_float_complex,
C: *mut aoclsparse_float_complex,
ldc: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dcsrmm_kid(
op: aoclsparse_operation,
alpha: f64,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f64,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: f64,
C: *mut f64,
ldc: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_scsrmm_kid(
op: aoclsparse_operation,
alpha: f32,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
order: aoclsparse_order,
B: *const f32,
n: aoclsparse_int,
ldb: aoclsparse_int,
beta: f32,
C: *mut f32,
ldc: aoclsparse_int,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _aoclsparse_itsol_handle {
_unused: [u8; 0],
}
pub type aoclsparse_itsol_handle = *mut _aoclsparse_itsol_handle;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_interrupt: aoclsparse_itsol_rci_job_ = -1;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_stop: aoclsparse_itsol_rci_job_ = 0;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_start: aoclsparse_itsol_rci_job_ = 1;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_mv: aoclsparse_itsol_rci_job_ = 2;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_precond: aoclsparse_itsol_rci_job_ = 3;
pub const aoclsparse_itsol_rci_job__aoclsparse_rci_stopping_criterion: aoclsparse_itsol_rci_job_ =
4;
pub type aoclsparse_itsol_rci_job_ = ::std::os::raw::c_int;
pub use self::aoclsparse_itsol_rci_job_ as aoclsparse_itsol_rci_job;
extern "C" {
pub fn aoclsparse_itsol_handle_prn_options(handle: aoclsparse_itsol_handle);
}
extern "C" {
pub fn aoclsparse_itsol_option_set(
handle: aoclsparse_itsol_handle,
option: *const ::std::os::raw::c_char,
value: *const ::std::os::raw::c_char,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_d_init(handle: *mut aoclsparse_itsol_handle) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_s_init(handle: *mut aoclsparse_itsol_handle) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_z_init(handle: *mut aoclsparse_itsol_handle) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_c_init(handle: *mut aoclsparse_itsol_handle) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_destroy(handle: *mut aoclsparse_itsol_handle);
}
extern "C" {
pub fn aoclsparse_itsol_d_rci_input(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
b: *const f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_s_rci_input(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
b: *const f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_z_rci_input(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
b: *const aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_c_rci_input(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
b: *const aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_d_rci_solve(
handle: aoclsparse_itsol_handle,
ircomm: *mut aoclsparse_itsol_rci_job,
u: *mut *mut f64,
v: *mut *mut f64,
x: *mut f64,
rinfo: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_s_rci_solve(
handle: aoclsparse_itsol_handle,
ircomm: *mut aoclsparse_itsol_rci_job,
u: *mut *mut f32,
v: *mut *mut f32,
x: *mut f32,
rinfo: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_z_rci_solve(
handle: aoclsparse_itsol_handle,
ircomm: *mut aoclsparse_itsol_rci_job,
u: *mut *mut aoclsparse_double_complex,
v: *mut *mut aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
rinfo: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_c_rci_solve(
handle: aoclsparse_itsol_handle,
ircomm: *mut aoclsparse_itsol_rci_job,
u: *mut *mut aoclsparse_float_complex,
v: *mut *mut aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
rinfo: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_d_solve(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
mat: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f64,
x: *mut f64,
rinfo: *mut f64,
precond: ::std::option::Option<
unsafe extern "C" fn(
flag: aoclsparse_int,
n: aoclsparse_int,
u: *const f64,
v: *mut f64,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
monit: ::std::option::Option<
unsafe extern "C" fn(
n: aoclsparse_int,
x: *const f64,
r: *const f64,
rinfo: *mut f64,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_s_solve(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
mat: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const f32,
x: *mut f32,
rinfo: *mut f32,
precond: ::std::option::Option<
unsafe extern "C" fn(
flag: aoclsparse_int,
n: aoclsparse_int,
u: *const f32,
v: *mut f32,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
monit: ::std::option::Option<
unsafe extern "C" fn(
n: aoclsparse_int,
x: *const f32,
r: *const f32,
rinfo: *mut f32,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_z_solve(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
mat: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
rinfo: *mut f64,
precond: ::std::option::Option<
unsafe extern "C" fn(
flag: aoclsparse_int,
n: aoclsparse_int,
u: *const aoclsparse_double_complex,
v: *mut aoclsparse_double_complex,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
monit: ::std::option::Option<
unsafe extern "C" fn(
n: aoclsparse_int,
x: *const aoclsparse_double_complex,
r: *const aoclsparse_double_complex,
rinfo: *mut f64,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_itsol_c_solve(
handle: aoclsparse_itsol_handle,
n: aoclsparse_int,
mat: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
rinfo: *mut f32,
precond: ::std::option::Option<
unsafe extern "C" fn(
flag: aoclsparse_int,
n: aoclsparse_int,
u: *const aoclsparse_float_complex,
v: *mut aoclsparse_float_complex,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
monit: ::std::option::Option<
unsafe extern "C" fn(
n: aoclsparse_int,
x: *const aoclsparse_float_complex,
r: *const aoclsparse_float_complex,
rinfo: *mut f32,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_int,
>,
udata: *mut ::std::os::raw::c_void,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssorv(
sor_type: aoclsparse_sor_type,
descr: aoclsparse_mat_descr,
A: aoclsparse_matrix,
omega: f32,
alpha: f32,
x: *mut f32,
b: *const f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsorv(
sor_type: aoclsparse_sor_type,
descr: aoclsparse_mat_descr,
A: aoclsparse_matrix,
omega: f64,
alpha: f64,
x: *mut f64,
b: *const f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csorv(
sor_type: aoclsparse_sor_type,
descr: aoclsparse_mat_descr,
A: aoclsparse_matrix,
omega: aoclsparse_float_complex,
alpha: aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsorv(
sor_type: aoclsparse_sor_type,
descr: aoclsparse_mat_descr,
A: aoclsparse_matrix,
omega: aoclsparse_double_complex,
alpha: aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsymgs(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csymgs(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsymgs(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f64,
b: *const f64,
x: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssymgs(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f32,
b: *const f32,
x: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsymgs_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csymgs_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsymgs_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f64,
b: *const f64,
x: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssymgs_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f32,
b: *const f32,
x: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsymgs_mv(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
y: *mut aoclsparse_double_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csymgs_mv(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
y: *mut aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsymgs_mv(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f64,
b: *const f64,
x: *mut f64,
y: *mut f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssymgs_mv(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f32,
b: *const f32,
x: *mut f32,
y: *mut f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zsymgs_mv_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
y: *mut aoclsparse_double_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_csymgs_mv_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
y: *mut aoclsparse_float_complex,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dsymgs_mv_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f64,
b: *const f64,
x: *mut f64,
y: *mut f64,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_ssymgs_mv_kid(
trans: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
alpha: f32,
b: *const f32,
x: *mut f32,
y: *mut f32,
kid: aoclsparse_int,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_silu_smoother(
op: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
precond_csr_val: *mut *mut f32,
approx_inv_diag: *const f32,
x: *mut f32,
b: *const f32,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_dilu_smoother(
op: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
precond_csr_val: *mut *mut f64,
approx_inv_diag: *const f64,
x: *mut f64,
b: *const f64,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_cilu_smoother(
op: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
precond_csr_val: *mut *mut aoclsparse_float_complex,
approx_inv_diag: *const aoclsparse_float_complex,
x: *mut aoclsparse_float_complex,
b: *const aoclsparse_float_complex,
) -> aoclsparse_status;
}
extern "C" {
pub fn aoclsparse_zilu_smoother(
op: aoclsparse_operation,
A: aoclsparse_matrix,
descr: aoclsparse_mat_descr,
precond_csr_val: *mut *mut aoclsparse_double_complex,
approx_inv_diag: *const aoclsparse_double_complex,
x: *mut aoclsparse_double_complex,
b: *const aoclsparse_double_complex,
) -> aoclsparse_status;
}