#![cfg_attr(feature = "no-std", no_std)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(dead_code)]
use std::sync::OnceLock;
#[cfg(feature = "no-std")]
extern crate alloc;
#[cfg(feature = "no-std")]
extern crate no_std_compat as std;
#[cfg(feature = "dynamic-loading")]
fn load<F: Copy>(name: &str) -> F {
unsafe { *culib().get::<F>(name.as_bytes()).unwrap_or_else(|e| panic!("Missing symbol {name}: {e}")) }
}
pub use self::cudaDataType_t as cudaDataType;
pub use self::libraryPropertyType_t as libraryPropertyType;
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub type FILE = _IO_FILE;
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub type _IO_lock_t = ::core::ffi::c_void;
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub type __off64_t = ::core::ffi::c_long;
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub type __off_t = ::core::ffi::c_long;
pub type csrqrInfo_t = *mut csrqrInfo;
pub type cuComplex = cuFloatComplex;
pub type cuDoubleComplex = double2;
pub type cuFloatComplex = float2;
pub type cudaLibMgGrid_t = *mut ::core::ffi::c_void;
pub type cudaLibMgMatrixDesc_t = *mut ::core::ffi::c_void;
pub type cudaStream_t = *mut CUstream_st;
pub type cusolverDnHandle_t = *mut cusolverDnContext;
pub type cusolverDnIRSInfos_t = *mut cusolverDnIRSInfos;
pub type cusolverDnIRSParams_t = *mut cusolverDnIRSParams;
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub type cusolverDnLoggerCallback_t = ::core::option::Option<unsafe extern "C" fn(logLevel: ::core::ffi::c_int, functionName: *const ::core::ffi::c_char, message: *const ::core::ffi::c_char)>;
pub type cusolverDnParams_t = *mut cusolverDnParams;
pub type cusolverRfHandle_t = *mut cusolverRfCommon;
pub type cusolverSpHandle_t = *mut cusolverSpContext;
pub type cusolver_int_t = ::core::ffi::c_int;
pub type cusparseMatDescr_t = *mut cusparseMatDescr;
pub type gesvdjInfo_t = *mut gesvdjInfo;
pub type syevjInfo_t = *mut syevjInfo;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cublasDiagType_t {
CUBLAS_DIAG_NON_UNIT = 0,
CUBLAS_DIAG_UNIT = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cublasFillMode_t {
CUBLAS_FILL_MODE_LOWER = 0,
CUBLAS_FILL_MODE_UPPER = 1,
CUBLAS_FILL_MODE_FULL = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cublasOperation_t {
CUBLAS_OP_N = 0,
CUBLAS_OP_T = 1,
CUBLAS_OP_C = 2,
CUBLAS_OP_CONJG = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cublasSideMode_t {
CUBLAS_SIDE_LEFT = 0,
CUBLAS_SIDE_RIGHT = 1,
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaDataType_t {
CUDA_R_16F = 2,
CUDA_C_16F = 6,
CUDA_R_16BF = 14,
CUDA_C_16BF = 15,
CUDA_R_32F = 0,
CUDA_C_32F = 4,
CUDA_R_64F = 1,
CUDA_C_64F = 5,
CUDA_R_4I = 16,
CUDA_C_4I = 17,
CUDA_R_4U = 18,
CUDA_C_4U = 19,
CUDA_R_8I = 3,
CUDA_C_8I = 7,
CUDA_R_8U = 8,
CUDA_C_8U = 9,
CUDA_R_16I = 20,
CUDA_C_16I = 21,
CUDA_R_16U = 22,
CUDA_C_16U = 23,
CUDA_R_32I = 10,
CUDA_C_32I = 11,
CUDA_R_32U = 12,
CUDA_C_32U = 13,
CUDA_R_64I = 24,
CUDA_C_64I = 25,
CUDA_R_64U = 26,
CUDA_C_64U = 27,
}
#[cfg(any(feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaDataType_t {
CUDA_R_16F = 2,
CUDA_C_16F = 6,
CUDA_R_16BF = 14,
CUDA_C_16BF = 15,
CUDA_R_32F = 0,
CUDA_C_32F = 4,
CUDA_R_64F = 1,
CUDA_C_64F = 5,
CUDA_R_4I = 16,
CUDA_C_4I = 17,
CUDA_R_4U = 18,
CUDA_C_4U = 19,
CUDA_R_8I = 3,
CUDA_C_8I = 7,
CUDA_R_8U = 8,
CUDA_C_8U = 9,
CUDA_R_16I = 20,
CUDA_C_16I = 21,
CUDA_R_16U = 22,
CUDA_C_16U = 23,
CUDA_R_32I = 10,
CUDA_C_32I = 11,
CUDA_R_32U = 12,
CUDA_C_32U = 13,
CUDA_R_64I = 24,
CUDA_C_64I = 25,
CUDA_R_64U = 26,
CUDA_C_64U = 27,
CUDA_R_8F_E4M3 = 28,
CUDA_R_8F_E5M2 = 29,
}
#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaDataType_t {
CUDA_R_16F = 2,
CUDA_C_16F = 6,
CUDA_R_16BF = 14,
CUDA_C_16BF = 15,
CUDA_R_32F = 0,
CUDA_C_32F = 4,
CUDA_R_64F = 1,
CUDA_C_64F = 5,
CUDA_R_4I = 16,
CUDA_C_4I = 17,
CUDA_R_4U = 18,
CUDA_C_4U = 19,
CUDA_R_8I = 3,
CUDA_C_8I = 7,
CUDA_R_8U = 8,
CUDA_C_8U = 9,
CUDA_R_16I = 20,
CUDA_C_16I = 21,
CUDA_R_16U = 22,
CUDA_C_16U = 23,
CUDA_R_32I = 10,
CUDA_C_32I = 11,
CUDA_R_32U = 12,
CUDA_C_32U = 13,
CUDA_R_64I = 24,
CUDA_C_64I = 25,
CUDA_R_64U = 26,
CUDA_C_64U = 27,
CUDA_R_8F_E4M3 = 28,
CUDA_R_8F_E5M2 = 29,
CUDA_R_8F_UE8M0 = 30,
CUDA_R_6F_E2M3 = 31,
CUDA_R_6F_E3M2 = 32,
CUDA_R_4F_E2M1 = 33,
}
#[cfg(any(feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaEmulationMantissaControl_t {
CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC = 0,
CUDA_EMULATION_MANTISSA_CONTROL_FIXED = 1,
}
#[cfg(any(feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaEmulationSpecialValuesSupport_t {
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT = 65535,
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE = 0,
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY = 1,
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN = 2,
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cudaEmulationStrategy_t {
CUDA_EMULATION_STRATEGY_DEFAULT = 0,
CUDA_EMULATION_STRATEGY_PERFORMANT = 1,
CUDA_EMULATION_STRATEGY_EAGER = 2,
}
#[cfg(any(feature = "cuda-11040"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverAlgMode_t {
CUSOLVER_ALG_0 = 0,
CUSOLVER_ALG_1 = 1,
}
#[cfg(any(feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverAlgMode_t {
CUSOLVER_ALG_0 = 0,
CUSOLVER_ALG_1 = 1,
CUSOLVER_ALG_2 = 2,
}
#[cfg(any(feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDeterministicMode_t {
CUSOLVER_DETERMINISTIC_RESULTS = 1,
CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDirectMode_t {
CUBLAS_DIRECT_FORWARD = 0,
CUBLAS_DIRECT_BACKWARD = 1,
}
#[cfg(any(feature = "cuda-11040"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDnFunction_t {
CUSOLVERDN_GETRF = 0,
}
#[cfg(any(feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDnFunction_t {
CUSOLVERDN_GETRF = 0,
CUSOLVERDN_POTRF = 1,
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDnFunction_t {
CUSOLVERDN_GETRF = 0,
CUSOLVERDN_POTRF = 1,
CUSOLVERDN_SYEVBATCHED = 2,
}
#[cfg(any(feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverDnFunction_t {
CUSOLVERDN_GETRF = 0,
CUSOLVERDN_POTRF = 1,
CUSOLVERDN_SYEVBATCHED = 2,
CUSOLVERDN_GEQRF = 3,
}
#[cfg(any(feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverEigComp_t {
CUSOLVER_EIG_COMP_N = 10,
CUSOLVER_EIG_COMP_I = 11,
CUSOLVER_EIG_COMP_V = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverEigMode_t {
CUSOLVER_EIG_MODE_NOVECTOR = 0,
CUSOLVER_EIG_MODE_VECTOR = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverEigRange_t {
CUSOLVER_EIG_RANGE_ALL = 1001,
CUSOLVER_EIG_RANGE_I = 1002,
CUSOLVER_EIG_RANGE_V = 1003,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverEigType_t {
CUSOLVER_EIG_TYPE_1 = 1,
CUSOLVER_EIG_TYPE_2 = 2,
CUSOLVER_EIG_TYPE_3 = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverIRSRefinement_t {
CUSOLVER_IRS_REFINE_NOT_SET = 1100,
CUSOLVER_IRS_REFINE_NONE = 1101,
CUSOLVER_IRS_REFINE_CLASSICAL = 1102,
CUSOLVER_IRS_REFINE_CLASSICAL_GMRES = 1103,
CUSOLVER_IRS_REFINE_GMRES = 1104,
CUSOLVER_IRS_REFINE_GMRES_GMRES = 1105,
CUSOLVER_IRS_REFINE_GMRES_NOPCOND = 1106,
CUSOLVER_PREC_DD = 1150,
CUSOLVER_PREC_SS = 1151,
CUSOLVER_PREC_SHT = 1152,
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverMathMode_t {
CUSOLVER_DEFAULT_MATH = 1,
CUSOLVER_FP32_EMULATED_BF16X9_MATH = 2,
}
#[cfg(any(feature = "cuda-13020"))]
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverMathMode_t {
CUSOLVER_DEFAULT_MATH = 1,
CUSOLVER_FP32_EMULATED_BF16X9_MATH = 2,
CUSOLVER_FP64_EMULATED_FIXEDPOINT_MATH = 4,
CUSOLVER_FP32_FP64_EMULATED_MATH = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverNorm_t {
CUSOLVER_INF_NORM = 104,
CUSOLVER_MAX_NORM = 105,
CUSOLVER_ONE_NORM = 106,
CUSOLVER_FRO_NORM = 107,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverPrecType_t {
CUSOLVER_R_8I = 1201,
CUSOLVER_R_8U = 1202,
CUSOLVER_R_64F = 1203,
CUSOLVER_R_32F = 1204,
CUSOLVER_R_16F = 1205,
CUSOLVER_R_16BF = 1206,
CUSOLVER_R_TF32 = 1207,
CUSOLVER_R_AP = 1208,
CUSOLVER_C_8I = 1211,
CUSOLVER_C_8U = 1212,
CUSOLVER_C_64F = 1213,
CUSOLVER_C_32F = 1214,
CUSOLVER_C_16F = 1215,
CUSOLVER_C_16BF = 1216,
CUSOLVER_C_TF32 = 1217,
CUSOLVER_C_AP = 1218,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfFactorization_t {
CUSOLVERRF_FACTORIZATION_ALG0 = 0,
CUSOLVERRF_FACTORIZATION_ALG1 = 1,
CUSOLVERRF_FACTORIZATION_ALG2 = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfMatrixFormat_t {
CUSOLVERRF_MATRIX_FORMAT_CSR = 0,
CUSOLVERRF_MATRIX_FORMAT_CSC = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfNumericBoostReport_t {
CUSOLVERRF_NUMERIC_BOOST_NOT_USED = 0,
CUSOLVERRF_NUMERIC_BOOST_USED = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfResetValuesFastMode_t {
CUSOLVERRF_RESET_VALUES_FAST_MODE_OFF = 0,
CUSOLVERRF_RESET_VALUES_FAST_MODE_ON = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfTriangularSolve_t {
CUSOLVERRF_TRIANGULAR_SOLVE_ALG1 = 1,
CUSOLVERRF_TRIANGULAR_SOLVE_ALG2 = 2,
CUSOLVERRF_TRIANGULAR_SOLVE_ALG3 = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverRfUnitDiagonal_t {
CUSOLVERRF_UNIT_DIAGONAL_STORED_L = 0,
CUSOLVERRF_UNIT_DIAGONAL_STORED_U = 1,
CUSOLVERRF_UNIT_DIAGONAL_ASSUMED_L = 2,
CUSOLVERRF_UNIT_DIAGONAL_ASSUMED_U = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverStatus_t {
CUSOLVER_STATUS_SUCCESS = 0,
CUSOLVER_STATUS_NOT_INITIALIZED = 1,
CUSOLVER_STATUS_ALLOC_FAILED = 2,
CUSOLVER_STATUS_INVALID_VALUE = 3,
CUSOLVER_STATUS_ARCH_MISMATCH = 4,
CUSOLVER_STATUS_MAPPING_ERROR = 5,
CUSOLVER_STATUS_EXECUTION_FAILED = 6,
CUSOLVER_STATUS_INTERNAL_ERROR = 7,
CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED = 8,
CUSOLVER_STATUS_NOT_SUPPORTED = 9,
CUSOLVER_STATUS_ZERO_PIVOT = 10,
CUSOLVER_STATUS_INVALID_LICENSE = 11,
CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED = 12,
CUSOLVER_STATUS_IRS_PARAMS_INVALID = 13,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC = 14,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE = 15,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER = 16,
CUSOLVER_STATUS_IRS_INTERNAL_ERROR = 20,
CUSOLVER_STATUS_IRS_NOT_SUPPORTED = 21,
CUSOLVER_STATUS_IRS_OUT_OF_RANGE = 22,
CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES = 23,
CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED = 25,
CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED = 26,
CUSOLVER_STATUS_IRS_MATRIX_SINGULAR = 30,
CUSOLVER_STATUS_INVALID_WORKSPACE = 31,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum cusolverStorevMode_t {
CUBLAS_STOREV_COLUMNWISE = 0,
CUBLAS_STOREV_ROWWISE = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum libraryPropertyType_t {
MAJOR_VERSION = 0,
MINOR_VERSION = 1,
PATCH_LEVEL = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CUstream_st {
_unused: [u8; 0],
}
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct _IO_FILE {
pub _flags: ::core::ffi::c_int,
pub _IO_read_ptr: *mut ::core::ffi::c_char,
pub _IO_read_end: *mut ::core::ffi::c_char,
pub _IO_read_base: *mut ::core::ffi::c_char,
pub _IO_write_base: *mut ::core::ffi::c_char,
pub _IO_write_ptr: *mut ::core::ffi::c_char,
pub _IO_write_end: *mut ::core::ffi::c_char,
pub _IO_buf_base: *mut ::core::ffi::c_char,
pub _IO_buf_end: *mut ::core::ffi::c_char,
pub _IO_save_base: *mut ::core::ffi::c_char,
pub _IO_backup_base: *mut ::core::ffi::c_char,
pub _IO_save_end: *mut ::core::ffi::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: ::core::ffi::c_int,
pub _flags2: ::core::ffi::c_int,
pub _old_offset: __off_t,
pub _cur_column: ::core::ffi::c_ushort,
pub _vtable_offset: ::core::ffi::c_schar,
pub _shortbuf: [::core::ffi::c_char; 1usize],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut ::core::ffi::c_void,
pub __pad5: usize,
pub _mode: ::core::ffi::c_int,
pub _unused2: [::core::ffi::c_char; 20usize],
}
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
_unused: [u8; 0],
}
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
_unused: [u8; 0],
}
#[cfg(any(feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct csrqrInfo {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverDnContext {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverDnIRSInfos {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverDnIRSParams {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverDnParams {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverRfCommon {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusolverSpContext {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cusparseMatDescr {
_unused: [u8; 0],
}
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
pub struct double2 {
pub x: f64,
pub y: f64,
}
#[repr(C)]
#[repr(align(8))]
#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
pub struct float2 {
pub x: f32,
pub y: f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gesvdjInfo {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct syevjInfo {
_unused: [u8; 0],
}
impl cublasOperation_t {
pub const CUBLAS_OP_HERMITAN: cublasOperation_t = cublasOperation_t::CUBLAS_OP_C;
}
#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
impl cudaDataType_t {
pub const CUDA_R_8F_UE4M3: cudaDataType_t = cudaDataType_t::CUDA_R_8F_E4M3;
}
pub unsafe fn cusolverDnCCgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCCgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCCgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCCgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCCgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCCgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCCgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCCgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCCgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCCgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCCgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCCgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCCgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCCgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCCgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCCgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCEgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCEgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCEgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCEgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCEgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCEgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCEgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCEgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCEgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCEgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCEgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCEgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCEgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCEgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCEgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCEgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCKgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCKgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCKgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCKgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCKgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCKgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCKgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCKgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCKgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCKgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCKgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCKgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCKgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCKgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCKgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCKgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCYgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCYgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCYgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCYgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCYgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCYgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCYgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCYgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCYgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCYgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCYgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnCYgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnCYgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut cuComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCYgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCYgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuComplex, lddb: cusolver_int_t, dX: *mut cuComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnCYgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnCgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, D: *mut f32, E: *mut f32, TAUQ: *mut cuComplex, TAUP: *mut cuComplex, Work: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut f32, *mut cuComplex, *mut cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgebrd") });
_f(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, D: *mut f32, E: *mut f32, TAUQ: *mut cuComplex, TAUP: *mut cuComplex, Work: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgebrd(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnCgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgebrd_bufferSize") });
_f(handle, m, n, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgebrd_bufferSize(handle, m, n, Lwork)
}
}
pub unsafe fn cusolverDnCgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, TAU: *mut cuComplex, Workspace: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgeqrf") });
_f(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, TAU: *mut cuComplex, Workspace: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgeqrf(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnCgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgeqrf_bufferSize") });
_f(handle, m, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgeqrf_bufferSize(handle, m, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnCgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, VT: *mut cuComplex, ldvt: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, rwork: *mut f32, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_schar, ::core::ffi::c_schar, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvd") });
_f(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, VT: *mut cuComplex, ldvt: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, rwork: *mut f32, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvd(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
}
pub unsafe fn cusolverDnCgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvd_bufferSize") });
_f(handle, m, n, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvd_bufferSize(handle, m, n, lwork)
}
}
pub unsafe fn cusolverDnCgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f32, strideS: ::core::ffi::c_longlong, d_U: *mut cuComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut cuComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut cuComplex, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f32, ::core::ffi::c_longlong, *mut cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdaStridedBatched") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f32, strideS: ::core::ffi::c_longlong, d_U: *mut cuComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut cuComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut cuComplex, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvdaStridedBatched(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
}
pub unsafe fn cusolverDnCgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f32, strideS: ::core::ffi::c_longlong, d_U: *const cuComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const cuComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f32, ::core::ffi::c_longlong, *const cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *const cuComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdaStridedBatched_bufferSize") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f32, strideS: ::core::ffi::c_longlong, d_U: *const cuComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const cuComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvdaStridedBatched_bufferSize(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
}
pub unsafe fn cusolverDnCgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, V: *mut cuComplex, ldv: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdj") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, V: *mut cuComplex, ldv: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnCgesvdj(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnCgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, V: *mut cuComplex, ldv: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdjBatched") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, S: *mut f32, U: *mut cuComplex, ldu: ::core::ffi::c_int, V: *mut cuComplex, ldv: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvdjBatched(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnCgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, S: *const f32, U: *const cuComplex, ldu: ::core::ffi::c_int, V: *const cuComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *const cuComplex, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdjBatched_bufferSize") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, S: *const f32, U: *const cuComplex, ldu: ::core::ffi::c_int, V: *const cuComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgesvdjBatched_bufferSize(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnCgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, S: *const f32, U: *const cuComplex, ldu: ::core::ffi::c_int, V: *const cuComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *const cuComplex, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgesvdj_bufferSize") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, S: *const f32, U: *const cuComplex, ldu: ::core::ffi::c_int, V: *const cuComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnCgesvdj_bufferSize(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
}
pub unsafe fn cusolverDnCgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Workspace: *mut cuComplex, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgetrf") });
_f(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Workspace: *mut cuComplex, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgetrf(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
}
pub unsafe fn cusolverDnCgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgetrf_bufferSize") });
_f(handle, m, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgetrf_bufferSize(handle, m, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnCgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCgetrs") });
_f(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCgetrs(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnCheevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevd") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevd(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnCheevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevd_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevd_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork)
}
}
pub unsafe fn cusolverDnCheevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevdx") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevdx(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnCheevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevdx_bufferSize") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevdx_bufferSize(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnCheevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevj") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnCheevj(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnCheevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevjBatched") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevjBatched(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnCheevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevjBatched_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCheevjBatched_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnCheevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCheevj_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCheevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnCheevj_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
}
pub unsafe fn cusolverDnChegvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvd") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChegvd(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnChegvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvd_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChegvd_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
}
pub unsafe fn cusolverDnChegvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvdx") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChegvdx(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnChegvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvdx_bufferSize") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChegvdx_bufferSize(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnChegvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvj") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnChegvj(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnChegvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChegvj_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChegvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *const cuComplex, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnChegvj_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
}
pub unsafe fn cusolverDnChetrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, d: *mut f32, e: *mut f32, tau: *mut cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut f32, *mut f32, *mut cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChetrd") });
_f(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChetrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, d: *mut f32, e: *mut f32, tau: *mut cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChetrd(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnChetrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, d: *const f32, e: *const f32, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const f32, *const f32, *const cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnChetrd_bufferSize") });
_f(handle, uplo, n, A, lda, d, e, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnChetrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, d: *const f32, e: *const f32, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnChetrd_bufferSize(handle, uplo, n, A, lda, d, e, tau, lwork)
}
}
pub unsafe fn cusolverDnClaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnClaswp") });
_f(handle, n, A, lda, k1, k2, devIpiv, incx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnClaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnClaswp(handle, n, A, lda, k1, k2, devIpiv, incx)
}
}
pub unsafe fn cusolverDnClauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnClauum") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnClauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnClauum(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnClauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnClauum_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnClauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnClauum_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnCpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Workspace: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotrf") });
_f(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Workspace: *mut cuComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotrf(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnCpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut cuComplex, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotrfBatched") });
_f(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut cuComplex, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotrfBatched(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
}
pub unsafe fn cusolverDnCpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotrf_bufferSize") });
_f(handle, uplo, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotrf_bufferSize(handle, uplo, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnCpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotri") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotri(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnCpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotri_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotri_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnCpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotrs") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, B: *mut cuComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotrs(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnCpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut cuComplex, lda: ::core::ffi::c_int, B: *mut *mut cuComplex, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut *mut cuComplex, ::core::ffi::c_int, *mut *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCpotrsBatched") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut cuComplex, lda: ::core::ffi::c_int, B: *mut *mut cuComplex, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCpotrsBatched(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
}
pub unsafe fn cusolverDnCreate(handle: *mut cusolverDnHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverDnHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCreate") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCreate(handle: *mut cusolverDnHandle_t) -> cusolverStatus_t;
}
cusolverDnCreate(handle)
}
}
pub unsafe fn cusolverDnCreateGesvdjInfo(info: *mut gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCreateGesvdjInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCreateGesvdjInfo(info: *mut gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnCreateGesvdjInfo(info)
}
}
pub unsafe fn cusolverDnCreateParams(params: *mut cusolverDnParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverDnParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCreateParams") });
_f(params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCreateParams(params: *mut cusolverDnParams_t) -> cusolverStatus_t;
}
cusolverDnCreateParams(params)
}
}
pub unsafe fn cusolverDnCreateSyevjInfo(info: *mut syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCreateSyevjInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCreateSyevjInfo(info: *mut syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnCreateSyevjInfo(info)
}
}
pub unsafe fn cusolverDnCsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCsytrf") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCsytrf(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnCsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCsytrf_bufferSize") });
_f(handle, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCsytrf_bufferSize(handle, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnCsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCsytri") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCsytri(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnCsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCsytri_bufferSize") });
_f(handle, uplo, n, A, lda, ipiv, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCsytri_bufferSize(handle, uplo, n, A, lda, ipiv, lwork)
}
}
pub unsafe fn cusolverDnCungbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *const cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungbr") });
_f(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungbr(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnCungbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungbr_bufferSize") });
_f(handle, side, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungbr_bufferSize(handle, side, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnCungqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *const cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungqr") });
_f(handle, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungqr(handle, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnCungqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungqr_bufferSize") });
_f(handle, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungqr_bufferSize(handle, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnCungtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *const cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungtr") });
_f(handle, uplo, n, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungtr(handle, uplo, n, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnCungtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCungtr_bufferSize") });
_f(handle, uplo, n, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCungtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCungtr_bufferSize(handle, uplo, n, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnCunmqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *mut cuComplex, ldc: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCunmqr") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCunmqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *mut cuComplex, ldc: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCunmqr(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnCunmqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *const cuComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *const cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCunmqr_bufferSize") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCunmqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *const cuComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCunmqr_bufferSize(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnCunmtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *mut cuComplex, C: *mut cuComplex, ldc: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, *mut cuComplex, ::core::ffi::c_int, *mut cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCunmtr") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCunmtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuComplex, lda: ::core::ffi::c_int, tau: *mut cuComplex, C: *mut cuComplex, ldc: ::core::ffi::c_int, work: *mut cuComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCunmtr(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
}
pub unsafe fn cusolverDnCunmtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *const cuComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuComplex, ::core::ffi::c_int, *const cuComplex, *const cuComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnCunmtr_bufferSize") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnCunmtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuComplex, lda: ::core::ffi::c_int, tau: *const cuComplex, C: *const cuComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnCunmtr_bufferSize(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnDBgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDBgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDBgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDBgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDBgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDBgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDBgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDBgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDBgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDBgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDBgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDBgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDBgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDBgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDBgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDBgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDDgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDDgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDDgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDDgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDDgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDDgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDDgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDDgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDDgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDDgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDDgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDDgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDDgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDDgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDDgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDDgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDHgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDHgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDHgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDHgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDHgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDHgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDHgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDHgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDHgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDHgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDHgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDHgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDHgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDHgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDHgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDHgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDSgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDSgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDSgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDSgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDSgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDSgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDSgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDSgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDSgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDSgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDSgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDSgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDSgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDSgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDSgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDSgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDXgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDXgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDXgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDXgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDXgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDXgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDXgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDXgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDXgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDXgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDXgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnDXgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnDXgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f64, cusolver_int_t, *mut cusolver_int_t, *mut f64, cusolver_int_t, *mut f64, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDXgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDXgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f64, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f64, lddb: cusolver_int_t, dX: *mut f64, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnDXgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnDestroy(handle: cusolverDnHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDestroy") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDestroy(handle: cusolverDnHandle_t) -> cusolverStatus_t;
}
cusolverDnDestroy(handle)
}
}
pub unsafe fn cusolverDnDestroyGesvdjInfo(info: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDestroyGesvdjInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDestroyGesvdjInfo(info: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnDestroyGesvdjInfo(info)
}
}
pub unsafe fn cusolverDnDestroyParams(params: cusolverDnParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDestroyParams") });
_f(params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDestroyParams(params: cusolverDnParams_t) -> cusolverStatus_t;
}
cusolverDnDestroyParams(params)
}
}
pub unsafe fn cusolverDnDestroySyevjInfo(info: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDestroySyevjInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDestroySyevjInfo(info: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnDestroySyevjInfo(info)
}
}
pub unsafe fn cusolverDnDgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, D: *mut f64, E: *mut f64, TAUQ: *mut f64, TAUP: *mut f64, Work: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, *mut f64, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgebrd") });
_f(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, D: *mut f64, E: *mut f64, TAUQ: *mut f64, TAUP: *mut f64, Work: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgebrd(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnDgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgebrd_bufferSize") });
_f(handle, m, n, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgebrd_bufferSize(handle, m, n, Lwork)
}
}
pub unsafe fn cusolverDnDgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, TAU: *mut f64, Workspace: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgeqrf") });
_f(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, TAU: *mut f64, Workspace: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgeqrf(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnDgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgeqrf_bufferSize") });
_f(handle, m, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgeqrf_bufferSize(handle, m, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnDgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, VT: *mut f64, ldvt: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, rwork: *mut f64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_schar, ::core::ffi::c_schar, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvd") });
_f(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, VT: *mut f64, ldvt: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, rwork: *mut f64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvd(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
}
pub unsafe fn cusolverDnDgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvd_bufferSize") });
_f(handle, m, n, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvd_bufferSize(handle, m, n, lwork)
}
}
pub unsafe fn cusolverDnDgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f64, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f64, strideS: ::core::ffi::c_longlong, d_U: *mut f64, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut f64, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut f64, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f64, ::core::ffi::c_longlong, *mut f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdaStridedBatched") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f64, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f64, strideS: ::core::ffi::c_longlong, d_U: *mut f64, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut f64, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut f64, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvdaStridedBatched(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
}
pub unsafe fn cusolverDnDgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f64, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f64, strideS: ::core::ffi::c_longlong, d_U: *const f64, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const f64, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f64, ::core::ffi::c_longlong, *const f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f64, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdaStridedBatched_bufferSize") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f64, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f64, strideS: ::core::ffi::c_longlong, d_U: *const f64, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const f64, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvdaStridedBatched_bufferSize(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
}
pub unsafe fn cusolverDnDgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, V: *mut f64, ldv: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdj") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, V: *mut f64, ldv: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnDgesvdj(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnDgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, V: *mut f64, ldv: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdjBatched") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, S: *mut f64, U: *mut f64, ldu: ::core::ffi::c_int, V: *mut f64, ldv: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvdjBatched(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnDgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, S: *const f64, U: *const f64, ldu: ::core::ffi::c_int, V: *const f64, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *const f64, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdjBatched_bufferSize") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, S: *const f64, U: *const f64, ldu: ::core::ffi::c_int, V: *const f64, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgesvdjBatched_bufferSize(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnDgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, S: *const f64, U: *const f64, ldu: ::core::ffi::c_int, V: *const f64, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *const f64, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgesvdj_bufferSize") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, S: *const f64, U: *const f64, ldu: ::core::ffi::c_int, V: *const f64, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnDgesvdj_bufferSize(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
}
pub unsafe fn cusolverDnDgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Workspace: *mut f64, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgetrf") });
_f(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Workspace: *mut f64, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgetrf(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
}
pub unsafe fn cusolverDnDgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgetrf_bufferSize") });
_f(handle, m, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgetrf_bufferSize(handle, m, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnDgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDgetrs") });
_f(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDgetrs(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnDlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDlaswp") });
_f(handle, n, A, lda, k1, k2, devIpiv, incx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDlaswp(handle, n, A, lda, k1, k2, devIpiv, incx)
}
}
pub unsafe fn cusolverDnDlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDlauum") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDlauum(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnDlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDlauum_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDlauum_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnDorgbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *const f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgbr") });
_f(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgbr(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnDorgbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgbr_bufferSize") });
_f(handle, side, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgbr_bufferSize(handle, side, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnDorgqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *const f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgqr") });
_f(handle, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgqr(handle, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnDorgqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgqr_bufferSize") });
_f(handle, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgqr_bufferSize(handle, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnDorgtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *const f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgtr") });
_f(handle, uplo, n, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *const f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgtr(handle, uplo, n, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnDorgtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDorgtr_bufferSize") });
_f(handle, uplo, n, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDorgtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDorgtr_bufferSize(handle, uplo, n, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnDormqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *mut f64, ldc: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDormqr") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDormqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *mut f64, ldc: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDormqr(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnDormqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *const f64, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *const f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDormqr_bufferSize") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDormqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *const f64, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDormqr_bufferSize(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnDormtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *mut f64, C: *mut f64, ldc: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDormtr") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDormtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, tau: *mut f64, C: *mut f64, ldc: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDormtr(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
}
pub unsafe fn cusolverDnDormtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *const f64, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *const f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDormtr_bufferSize") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDormtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, tau: *const f64, C: *const f64, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDormtr_bufferSize(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnDpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Workspace: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotrf") });
_f(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Workspace: *mut f64, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotrf(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnDpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut f64, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotrfBatched") });
_f(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut f64, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotrfBatched(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
}
pub unsafe fn cusolverDnDpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotrf_bufferSize") });
_f(handle, uplo, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotrf_bufferSize(handle, uplo, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnDpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotri") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotri(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnDpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotri_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotri_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnDpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotrs") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotrs(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnDpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut f64, lda: ::core::ffi::c_int, B: *mut *mut f64, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut *mut f64, ::core::ffi::c_int, *mut *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDpotrsBatched") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut f64, lda: ::core::ffi::c_int, B: *mut *mut f64, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDpotrsBatched(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
}
pub unsafe fn cusolverDnDsyevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevd") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevd(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsyevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevd_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevd_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork)
}
}
pub unsafe fn cusolverDnDsyevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevdx") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevdx(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsyevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevdx_bufferSize") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevdx_bufferSize(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnDsyevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevj") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnDsyevj(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnDsyevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevjBatched") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevjBatched(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnDsyevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevjBatched_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsyevjBatched_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnDsyevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsyevj_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsyevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnDsyevj_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
}
pub unsafe fn cusolverDnDsygvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvd") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsygvd(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsygvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvd_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsygvd_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
}
pub unsafe fn cusolverDnDsygvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvdx") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsygvdx(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsygvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvdx_bufferSize") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsygvdx_bufferSize(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnDsygvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvj") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, B: *mut f64, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnDsygvj(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnDsygvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsygvj_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsygvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, B: *const f64, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnDsygvj_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
}
pub unsafe fn cusolverDnDsytrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, d: *mut f64, e: *mut f64, tau: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, *mut f64, *mut f64, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytrd") });
_f(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, d: *mut f64, e: *mut f64, tau: *mut f64, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytrd(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsytrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, d: *const f64, e: *const f64, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const f64, ::core::ffi::c_int, *const f64, *const f64, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytrd_bufferSize") });
_f(handle, uplo, n, A, lda, d, e, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f64, lda: ::core::ffi::c_int, d: *const f64, e: *const f64, tau: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytrd_bufferSize(handle, uplo, n, A, lda, d, e, tau, lwork)
}
}
pub unsafe fn cusolverDnDsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytrf") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytrf(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytrf_bufferSize") });
_f(handle, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytrf_bufferSize(handle, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnDsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytri") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut f64, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytri(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnDsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnDsytri_bufferSize") });
_f(handle, uplo, n, A, lda, ipiv, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnDsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f64, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnDsytri_bufferSize(handle, uplo, n, A, lda, ipiv, lwork)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGeqrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGeqrf") });
_f(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGeqrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGeqrf(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGeqrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGeqrf_bufferSize") });
_f(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGeqrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnGeqrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGesvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *mut ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGesvd") });
_f(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGesvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *mut ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGesvd(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGesvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *const ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGesvd_bufferSize") });
_f(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGesvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *const ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnGesvd_bufferSize(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetDeterministicMode(handle: cusolverDnHandle_t, mode: *mut cusolverDeterministicMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cusolverDeterministicMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetDeterministicMode") });
_f(handle, mode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetDeterministicMode(handle: cusolverDnHandle_t, mode: *mut cusolverDeterministicMode_t) -> cusolverStatus_t;
}
cusolverDnGetDeterministicMode(handle, mode)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetEmulationSpecialValuesSupport(handle: cusolverDnHandle_t, mask: *mut cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetEmulationSpecialValuesSupport") });
_f(handle, mask)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetEmulationSpecialValuesSupport(handle: cusolverDnHandle_t, mask: *mut cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t;
}
cusolverDnGetEmulationSpecialValuesSupport(handle, mask)
}
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetEmulationStrategy(handle: cusolverDnHandle_t, strategy: *mut cudaEmulationStrategy_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cudaEmulationStrategy_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetEmulationStrategy") });
_f(handle, strategy)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetEmulationStrategy(handle: cusolverDnHandle_t, strategy: *mut cudaEmulationStrategy_t) -> cusolverStatus_t;
}
cusolverDnGetEmulationStrategy(handle, strategy)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetFixedPointEmulationMantissaBitOffset(handle: cusolverDnHandle_t, mantissaBitOffset: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetFixedPointEmulationMantissaBitOffset") });
_f(handle, mantissaBitOffset)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetFixedPointEmulationMantissaBitOffset(handle: cusolverDnHandle_t, mantissaBitOffset: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGetFixedPointEmulationMantissaBitOffset(handle, mantissaBitOffset)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetFixedPointEmulationMantissaControl(handle: cusolverDnHandle_t, control: *mut cudaEmulationMantissaControl_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cudaEmulationMantissaControl_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetFixedPointEmulationMantissaControl") });
_f(handle, control)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetFixedPointEmulationMantissaControl(handle: cusolverDnHandle_t, control: *mut cudaEmulationMantissaControl_t) -> cusolverStatus_t;
}
cusolverDnGetFixedPointEmulationMantissaControl(handle, control)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetFixedPointEmulationMaxMantissaBitCount(handle: cusolverDnHandle_t, mantissaBitCount: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetFixedPointEmulationMaxMantissaBitCount") });
_f(handle, mantissaBitCount)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetFixedPointEmulationMaxMantissaBitCount(handle: cusolverDnHandle_t, mantissaBitCount: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGetFixedPointEmulationMaxMantissaBitCount(handle, mantissaBitCount)
}
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnGetMathMode(handle: cusolverDnHandle_t, mode: *mut cusolverMathMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cusolverMathMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetMathMode") });
_f(handle, mode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetMathMode(handle: cusolverDnHandle_t, mode: *mut cusolverMathMode_t) -> cusolverStatus_t;
}
cusolverDnGetMathMode(handle, mode)
}
}
pub unsafe fn cusolverDnGetStream(handle: cusolverDnHandle_t, streamId: *mut cudaStream_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, *mut cudaStream_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetStream") });
_f(handle, streamId)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetStream(handle: cusolverDnHandle_t, streamId: *mut cudaStream_t) -> cusolverStatus_t;
}
cusolverDnGetStream(handle, streamId)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGetrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, ipiv: *mut i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetrf") });
_f(handle, params, m, n, dataTypeA, A, lda, ipiv, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, ipiv: *mut i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGetrf(handle, params, m, n, dataTypeA, A, lda, ipiv, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGetrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetrf_bufferSize") });
_f(handle, params, m, n, dataTypeA, A, lda, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnGetrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnGetrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, trans: cublasOperation_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasOperation_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, *const i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnGetrs") });
_f(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnGetrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, trans: cublasOperation_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnGetrs(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, info)
}
}
pub unsafe fn cusolverDnIRSInfosCreate(infos_ptr: *mut cusolverDnIRSInfos_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverDnIRSInfos_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosCreate") });
_f(infos_ptr)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosCreate(infos_ptr: *mut cusolverDnIRSInfos_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosCreate(infos_ptr)
}
}
pub unsafe fn cusolverDnIRSInfosDestroy(infos: cusolverDnIRSInfos_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosDestroy") });
_f(infos)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosDestroy(infos: cusolverDnIRSInfos_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosDestroy(infos)
}
}
pub unsafe fn cusolverDnIRSInfosGetMaxIters(infos: cusolverDnIRSInfos_t, maxiters: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosGetMaxIters") });
_f(infos, maxiters)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosGetMaxIters(infos: cusolverDnIRSInfos_t, maxiters: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosGetMaxIters(infos, maxiters)
}
}
pub unsafe fn cusolverDnIRSInfosGetNiters(infos: cusolverDnIRSInfos_t, niters: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosGetNiters") });
_f(infos, niters)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosGetNiters(infos: cusolverDnIRSInfos_t, niters: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosGetNiters(infos, niters)
}
}
pub unsafe fn cusolverDnIRSInfosGetOuterNiters(infos: cusolverDnIRSInfos_t, outer_niters: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosGetOuterNiters") });
_f(infos, outer_niters)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosGetOuterNiters(infos: cusolverDnIRSInfos_t, outer_niters: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosGetOuterNiters(infos, outer_niters)
}
}
pub unsafe fn cusolverDnIRSInfosGetResidualHistory(infos: cusolverDnIRSInfos_t, residual_history: *mut *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t, *mut *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosGetResidualHistory") });
_f(infos, residual_history)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosGetResidualHistory(infos: cusolverDnIRSInfos_t, residual_history: *mut *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverDnIRSInfosGetResidualHistory(infos, residual_history)
}
}
pub unsafe fn cusolverDnIRSInfosRequestResidual(infos: cusolverDnIRSInfos_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSInfos_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSInfosRequestResidual") });
_f(infos)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSInfosRequestResidual(infos: cusolverDnIRSInfos_t) -> cusolverStatus_t;
}
cusolverDnIRSInfosRequestResidual(infos)
}
}
pub unsafe fn cusolverDnIRSParamsCreate(params_ptr: *mut cusolverDnIRSParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverDnIRSParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsCreate") });
_f(params_ptr)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsCreate(params_ptr: *mut cusolverDnIRSParams_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsCreate(params_ptr)
}
}
pub unsafe fn cusolverDnIRSParamsDestroy(params: cusolverDnIRSParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsDestroy") });
_f(params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsDestroy(params: cusolverDnIRSParams_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsDestroy(params)
}
}
pub unsafe fn cusolverDnIRSParamsDisableFallback(params: cusolverDnIRSParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsDisableFallback") });
_f(params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsDisableFallback(params: cusolverDnIRSParams_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsDisableFallback(params)
}
}
pub unsafe fn cusolverDnIRSParamsEnableFallback(params: cusolverDnIRSParams_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsEnableFallback") });
_f(params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsEnableFallback(params: cusolverDnIRSParams_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsEnableFallback(params)
}
}
pub unsafe fn cusolverDnIRSParamsGetMaxIters(params: cusolverDnIRSParams_t, maxiters: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsGetMaxIters") });
_f(params, maxiters)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsGetMaxIters(params: cusolverDnIRSParams_t, maxiters: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsGetMaxIters(params, maxiters)
}
}
pub unsafe fn cusolverDnIRSParamsSetMaxIters(params: cusolverDnIRSParams_t, maxiters: cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetMaxIters") });
_f(params, maxiters)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetMaxIters(params: cusolverDnIRSParams_t, maxiters: cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetMaxIters(params, maxiters)
}
}
pub unsafe fn cusolverDnIRSParamsSetMaxItersInner(params: cusolverDnIRSParams_t, maxiters_inner: cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetMaxItersInner") });
_f(params, maxiters_inner)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetMaxItersInner(params: cusolverDnIRSParams_t, maxiters_inner: cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetMaxItersInner(params, maxiters_inner)
}
}
pub unsafe fn cusolverDnIRSParamsSetRefinementSolver(params: cusolverDnIRSParams_t, refinement_solver: cusolverIRSRefinement_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolverIRSRefinement_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetRefinementSolver") });
_f(params, refinement_solver)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetRefinementSolver(params: cusolverDnIRSParams_t, refinement_solver: cusolverIRSRefinement_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetRefinementSolver(params, refinement_solver)
}
}
pub unsafe fn cusolverDnIRSParamsSetSolverLowestPrecision(params: cusolverDnIRSParams_t, solver_lowest_precision: cusolverPrecType_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolverPrecType_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetSolverLowestPrecision") });
_f(params, solver_lowest_precision)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetSolverLowestPrecision(params: cusolverDnIRSParams_t, solver_lowest_precision: cusolverPrecType_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetSolverLowestPrecision(params, solver_lowest_precision)
}
}
pub unsafe fn cusolverDnIRSParamsSetSolverMainPrecision(params: cusolverDnIRSParams_t, solver_main_precision: cusolverPrecType_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolverPrecType_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetSolverMainPrecision") });
_f(params, solver_main_precision)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetSolverMainPrecision(params: cusolverDnIRSParams_t, solver_main_precision: cusolverPrecType_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetSolverMainPrecision(params, solver_main_precision)
}
}
pub unsafe fn cusolverDnIRSParamsSetSolverPrecisions(params: cusolverDnIRSParams_t, solver_main_precision: cusolverPrecType_t, solver_lowest_precision: cusolverPrecType_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, cusolverPrecType_t, cusolverPrecType_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetSolverPrecisions") });
_f(params, solver_main_precision, solver_lowest_precision)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetSolverPrecisions(params: cusolverDnIRSParams_t, solver_main_precision: cusolverPrecType_t, solver_lowest_precision: cusolverPrecType_t) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetSolverPrecisions(params, solver_main_precision, solver_lowest_precision)
}
}
pub unsafe fn cusolverDnIRSParamsSetTol(params: cusolverDnIRSParams_t, val: f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetTol") });
_f(params, val)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetTol(params: cusolverDnIRSParams_t, val: f64) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetTol(params, val)
}
}
pub unsafe fn cusolverDnIRSParamsSetTolInner(params: cusolverDnIRSParams_t, val: f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnIRSParams_t, f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSParamsSetTolInner") });
_f(params, val)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSParamsSetTolInner(params: cusolverDnIRSParams_t, val: f64) -> cusolverStatus_t;
}
cusolverDnIRSParamsSetTolInner(params, val)
}
}
pub unsafe fn cusolverDnIRSXgels(handle: cusolverDnHandle_t, gels_irs_params: cusolverDnIRSParams_t, gels_irs_infos: cusolverDnIRSInfos_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut ::core::ffi::c_void, ldda: cusolver_int_t, dB: *mut ::core::ffi::c_void, lddb: cusolver_int_t, dX: *mut ::core::ffi::c_void, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, niters: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnIRSParams_t, cusolverDnIRSInfos_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSXgels") });
_f(handle, gels_irs_params, gels_irs_infos, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, niters, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSXgels(handle: cusolverDnHandle_t, gels_irs_params: cusolverDnIRSParams_t, gels_irs_infos: cusolverDnIRSInfos_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut ::core::ffi::c_void, ldda: cusolver_int_t, dB: *mut ::core::ffi::c_void, lddb: cusolver_int_t, dX: *mut ::core::ffi::c_void, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, niters: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSXgels(handle, gels_irs_params, gels_irs_infos, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, niters, d_info)
}
}
pub unsafe fn cusolverDnIRSXgels_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnIRSParams_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnIRSParams_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSXgels_bufferSize") });
_f(handle, params, m, n, nrhs, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSXgels_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnIRSParams_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnIRSXgels_bufferSize(handle, params, m, n, nrhs, lwork_bytes)
}
}
pub unsafe fn cusolverDnIRSXgesv(handle: cusolverDnHandle_t, gesv_irs_params: cusolverDnIRSParams_t, gesv_irs_infos: cusolverDnIRSInfos_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut ::core::ffi::c_void, ldda: cusolver_int_t, dB: *mut ::core::ffi::c_void, lddb: cusolver_int_t, dX: *mut ::core::ffi::c_void, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, niters: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnIRSParams_t, cusolverDnIRSInfos_t, cusolver_int_t, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSXgesv") });
_f(handle, gesv_irs_params, gesv_irs_infos, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, niters, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSXgesv(handle: cusolverDnHandle_t, gesv_irs_params: cusolverDnIRSParams_t, gesv_irs_infos: cusolverDnIRSInfos_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut ::core::ffi::c_void, ldda: cusolver_int_t, dB: *mut ::core::ffi::c_void, lddb: cusolver_int_t, dX: *mut ::core::ffi::c_void, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, niters: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnIRSXgesv(handle, gesv_irs_params, gesv_irs_infos, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, niters, d_info)
}
}
pub unsafe fn cusolverDnIRSXgesv_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnIRSParams_t, n: cusolver_int_t, nrhs: cusolver_int_t, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnIRSParams_t, cusolver_int_t, cusolver_int_t, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnIRSXgesv_bufferSize") });
_f(handle, params, n, nrhs, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnIRSXgesv_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnIRSParams_t, n: cusolver_int_t, nrhs: cusolver_int_t, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnIRSXgesv_bufferSize(handle, params, n, nrhs, lwork_bytes)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnPotrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnPotrf") });
_f(handle, params, uplo, n, dataTypeA, A, lda, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnPotrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnPotrf(handle, params, uplo, n, dataTypeA, A, lda, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnPotrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnPotrf_bufferSize") });
_f(handle, params, uplo, n, dataTypeA, A, lda, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnPotrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnPotrf_bufferSize(handle, params, uplo, n, dataTypeA, A, lda, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnPotrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnPotrs") });
_f(handle, params, uplo, n, nrhs, dataTypeA, A, lda, dataTypeB, B, ldb, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnPotrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnPotrs(handle, params, uplo, n, nrhs, dataTypeA, A, lda, dataTypeB, B, ldb, info)
}
}
pub unsafe fn cusolverDnSBgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSBgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSBgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSBgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSBgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSBgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSBgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSBgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSBgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSBgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSBgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSBgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSBgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSBgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSBgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSBgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSHgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSHgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSHgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSHgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSHgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSHgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSHgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSHgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSHgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSHgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSHgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSHgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSHgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSHgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSHgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSHgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSSgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSSgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSSgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSSgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSSgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSSgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSSgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSSgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSSgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSSgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSSgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSSgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSSgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSSgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSSgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSSgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSXgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSXgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSXgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSXgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSXgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSXgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSXgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSXgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSXgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSXgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSXgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnSXgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnSXgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut f32, cusolver_int_t, *mut cusolver_int_t, *mut f32, cusolver_int_t, *mut f32, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSXgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSXgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut f32, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut f32, lddb: cusolver_int_t, dX: *mut f32, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSXgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnSetAdvOptions(params: cusolverDnParams_t, function: cusolverDnFunction_t, algo: cusolverAlgMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnParams_t, cusolverDnFunction_t, cusolverAlgMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetAdvOptions") });
_f(params, function, algo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetAdvOptions(params: cusolverDnParams_t, function: cusolverDnFunction_t, algo: cusolverAlgMode_t) -> cusolverStatus_t;
}
cusolverDnSetAdvOptions(params, function, algo)
}
}
#[cfg(any(feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetDeterministicMode(handle: cusolverDnHandle_t, mode: cusolverDeterministicMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDeterministicMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetDeterministicMode") });
_f(handle, mode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetDeterministicMode(handle: cusolverDnHandle_t, mode: cusolverDeterministicMode_t) -> cusolverStatus_t;
}
cusolverDnSetDeterministicMode(handle, mode)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetEmulationSpecialValuesSupport(handle: cusolverDnHandle_t, mask: cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetEmulationSpecialValuesSupport") });
_f(handle, mask)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetEmulationSpecialValuesSupport(handle: cusolverDnHandle_t, mask: cudaEmulationSpecialValuesSupport_t) -> cusolverStatus_t;
}
cusolverDnSetEmulationSpecialValuesSupport(handle, mask)
}
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetEmulationStrategy(handle: cusolverDnHandle_t, strategy: cudaEmulationStrategy_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cudaEmulationStrategy_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetEmulationStrategy") });
_f(handle, strategy)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetEmulationStrategy(handle: cusolverDnHandle_t, strategy: cudaEmulationStrategy_t) -> cusolverStatus_t;
}
cusolverDnSetEmulationStrategy(handle, strategy)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetFixedPointEmulationMantissaBitOffset(handle: cusolverDnHandle_t, mantissaBitOffset: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetFixedPointEmulationMantissaBitOffset") });
_f(handle, mantissaBitOffset)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetFixedPointEmulationMantissaBitOffset(handle: cusolverDnHandle_t, mantissaBitOffset: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSetFixedPointEmulationMantissaBitOffset(handle, mantissaBitOffset)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetFixedPointEmulationMantissaControl(handle: cusolverDnHandle_t, control: cudaEmulationMantissaControl_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cudaEmulationMantissaControl_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetFixedPointEmulationMantissaControl") });
_f(handle, control)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetFixedPointEmulationMantissaControl(handle: cusolverDnHandle_t, control: cudaEmulationMantissaControl_t) -> cusolverStatus_t;
}
cusolverDnSetFixedPointEmulationMantissaControl(handle, control)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetFixedPointEmulationMaxMantissaBitCount(handle: cusolverDnHandle_t, mantissaBitCount: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetFixedPointEmulationMaxMantissaBitCount") });
_f(handle, mantissaBitCount)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetFixedPointEmulationMaxMantissaBitCount(handle: cusolverDnHandle_t, mantissaBitCount: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSetFixedPointEmulationMaxMantissaBitCount(handle, mantissaBitCount)
}
}
#[cfg(any(feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnSetMathMode(handle: cusolverDnHandle_t, mode: cusolverMathMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverMathMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetMathMode") });
_f(handle, mode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetMathMode(handle: cusolverDnHandle_t, mode: cusolverMathMode_t) -> cusolverStatus_t;
}
cusolverDnSetMathMode(handle, mode)
}
}
pub unsafe fn cusolverDnSetStream(handle: cusolverDnHandle_t, streamId: cudaStream_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cudaStream_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSetStream") });
_f(handle, streamId)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSetStream(handle: cusolverDnHandle_t, streamId: cudaStream_t) -> cusolverStatus_t;
}
cusolverDnSetStream(handle, streamId)
}
}
pub unsafe fn cusolverDnSgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, D: *mut f32, E: *mut f32, TAUQ: *mut f32, TAUP: *mut f32, Work: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, *mut f32, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgebrd") });
_f(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, D: *mut f32, E: *mut f32, TAUQ: *mut f32, TAUP: *mut f32, Work: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgebrd(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnSgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgebrd_bufferSize") });
_f(handle, m, n, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgebrd_bufferSize(handle, m, n, Lwork)
}
}
pub unsafe fn cusolverDnSgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, TAU: *mut f32, Workspace: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgeqrf") });
_f(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, TAU: *mut f32, Workspace: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgeqrf(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnSgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgeqrf_bufferSize") });
_f(handle, m, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgeqrf_bufferSize(handle, m, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnSgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, VT: *mut f32, ldvt: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, rwork: *mut f32, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_schar, ::core::ffi::c_schar, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvd") });
_f(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, VT: *mut f32, ldvt: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, rwork: *mut f32, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvd(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
}
pub unsafe fn cusolverDnSgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvd_bufferSize") });
_f(handle, m, n, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvd_bufferSize(handle, m, n, lwork)
}
}
pub unsafe fn cusolverDnSgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f32, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f32, strideS: ::core::ffi::c_longlong, d_U: *mut f32, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut f32, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut f32, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f32, ::core::ffi::c_longlong, *mut f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdaStridedBatched") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f32, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f32, strideS: ::core::ffi::c_longlong, d_U: *mut f32, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut f32, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut f32, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvdaStridedBatched(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
}
pub unsafe fn cusolverDnSgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f32, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f32, strideS: ::core::ffi::c_longlong, d_U: *const f32, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const f32, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f32, ::core::ffi::c_longlong, *const f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f32, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdaStridedBatched_bufferSize") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const f32, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f32, strideS: ::core::ffi::c_longlong, d_U: *const f32, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const f32, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvdaStridedBatched_bufferSize(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
}
pub unsafe fn cusolverDnSgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, V: *mut f32, ldv: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdj") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, V: *mut f32, ldv: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnSgesvdj(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnSgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, V: *mut f32, ldv: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdjBatched") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, S: *mut f32, U: *mut f32, ldu: ::core::ffi::c_int, V: *mut f32, ldv: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvdjBatched(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnSgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, S: *const f32, U: *const f32, ldu: ::core::ffi::c_int, V: *const f32, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *const f32, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdjBatched_bufferSize") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, S: *const f32, U: *const f32, ldu: ::core::ffi::c_int, V: *const f32, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgesvdjBatched_bufferSize(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnSgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, S: *const f32, U: *const f32, ldu: ::core::ffi::c_int, V: *const f32, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *const f32, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgesvdj_bufferSize") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, S: *const f32, U: *const f32, ldu: ::core::ffi::c_int, V: *const f32, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnSgesvdj_bufferSize(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
}
pub unsafe fn cusolverDnSgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Workspace: *mut f32, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgetrf") });
_f(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Workspace: *mut f32, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgetrf(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
}
pub unsafe fn cusolverDnSgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgetrf_bufferSize") });
_f(handle, m, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgetrf_bufferSize(handle, m, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnSgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSgetrs") });
_f(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSgetrs(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnSlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSlaswp") });
_f(handle, n, A, lda, k1, k2, devIpiv, incx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSlaswp(handle, n, A, lda, k1, k2, devIpiv, incx)
}
}
pub unsafe fn cusolverDnSlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSlauum") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSlauum(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnSlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSlauum_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSlauum_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnSorgbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *const f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgbr") });
_f(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgbr(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnSorgbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgbr_bufferSize") });
_f(handle, side, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgbr_bufferSize(handle, side, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnSorgqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *const f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgqr") });
_f(handle, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgqr(handle, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnSorgqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgqr_bufferSize") });
_f(handle, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgqr_bufferSize(handle, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnSorgtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *const f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgtr") });
_f(handle, uplo, n, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *const f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgtr(handle, uplo, n, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnSorgtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSorgtr_bufferSize") });
_f(handle, uplo, n, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSorgtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSorgtr_bufferSize(handle, uplo, n, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnSormqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *mut f32, ldc: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSormqr") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSormqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *mut f32, ldc: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSormqr(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnSormqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *const f32, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *const f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSormqr_bufferSize") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSormqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *const f32, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSormqr_bufferSize(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnSormtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *mut f32, C: *mut f32, ldc: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSormtr") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSormtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, tau: *mut f32, C: *mut f32, ldc: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSormtr(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
}
pub unsafe fn cusolverDnSormtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *const f32, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *const f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSormtr_bufferSize") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSormtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, tau: *const f32, C: *const f32, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSormtr_bufferSize(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnSpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Workspace: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotrf") });
_f(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Workspace: *mut f32, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotrf(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnSpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut f32, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotrfBatched") });
_f(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut f32, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotrfBatched(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
}
pub unsafe fn cusolverDnSpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotrf_bufferSize") });
_f(handle, uplo, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotrf_bufferSize(handle, uplo, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnSpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotri") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotri(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnSpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotri_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotri_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnSpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotrs") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotrs(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnSpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut f32, lda: ::core::ffi::c_int, B: *mut *mut f32, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut *mut f32, ::core::ffi::c_int, *mut *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSpotrsBatched") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut f32, lda: ::core::ffi::c_int, B: *mut *mut f32, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSpotrsBatched(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
}
pub unsafe fn cusolverDnSsyevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevd") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevd(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsyevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevd_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevd_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork)
}
}
pub unsafe fn cusolverDnSsyevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevdx") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevdx(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsyevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevdx_bufferSize") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevdx_bufferSize(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnSsyevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevj") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnSsyevj(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnSsyevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevjBatched") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevjBatched(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnSsyevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevjBatched_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsyevjBatched_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnSsyevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsyevj_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsyevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnSsyevj_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
}
pub unsafe fn cusolverDnSsygvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvd") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsygvd(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsygvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvd_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsygvd_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
}
pub unsafe fn cusolverDnSsygvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvdx") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsygvdx(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsygvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, f32, f32, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvdx_bufferSize") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, vl: f32, vu: f32, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsygvdx_bufferSize(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnSsygvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvj") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, B: *mut f32, ldb: ::core::ffi::c_int, W: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnSsygvj(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnSsygvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsygvj_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsygvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, B: *const f32, ldb: ::core::ffi::c_int, W: *const f32, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnSsygvj_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
}
pub unsafe fn cusolverDnSsytrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, d: *mut f32, e: *mut f32, tau: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut f32, *mut f32, *mut f32, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytrd") });
_f(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, d: *mut f32, e: *mut f32, tau: *mut f32, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytrd(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsytrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, d: *const f32, e: *const f32, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const f32, ::core::ffi::c_int, *const f32, *const f32, *const f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytrd_bufferSize") });
_f(handle, uplo, n, A, lda, d, e, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const f32, lda: ::core::ffi::c_int, d: *const f32, e: *const f32, tau: *const f32, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytrd_bufferSize(handle, uplo, n, A, lda, d, e, tau, lwork)
}
}
pub unsafe fn cusolverDnSsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytrf") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytrf(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytrf_bufferSize") });
_f(handle, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytrf_bufferSize(handle, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnSsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytri") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut f32, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytri(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnSsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut f32, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSsytri_bufferSize") });
_f(handle, uplo, n, A, lda, ipiv, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut f32, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSsytri_bufferSize(handle, uplo, n, A, lda, ipiv, lwork)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnSyevd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSyevd") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSyevd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSyevd(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnSyevd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSyevd_bufferSize") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSyevd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSyevd_bufferSize(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnSyevdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig64: *mut i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSyevdx") });
_f(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, meig64, dataTypeW, W, computeType, pBuffer, workspaceInBytes, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSyevdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig64: *mut i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, pBuffer: *mut ::core::ffi::c_void, workspaceInBytes: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnSyevdx(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, meig64, dataTypeW, W, computeType, pBuffer, workspaceInBytes, info)
}
}
#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060", feature = "cuda-11070", feature = "cuda-11080", feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020", feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090"))]
pub unsafe fn cusolverDnSyevdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, h_meig: *mut i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnSyevdx_bufferSize") });
_f(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, h_meig, dataTypeW, W, computeType, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnSyevdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, h_meig: *mut i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnSyevdx_bufferSize(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, h_meig, dataTypeW, W, computeType, workspaceInBytes)
}
}
#[cfg(any(feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXgeev(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobvl: cusolverEigMode_t, jobvr: cusolverEigMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, dataTypeVL: cudaDataType, VL: *mut ::core::ffi::c_void, ldvl: i64, dataTypeVR: cudaDataType, VR: *mut ::core::ffi::c_void, ldvr: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgeev") });
_f(handle, params, jobvl, jobvr, n, dataTypeA, A, lda, dataTypeW, W, dataTypeVL, VL, ldvl, dataTypeVR, VR, ldvr, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgeev(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobvl: cusolverEigMode_t, jobvr: cusolverEigMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, dataTypeVL: cudaDataType, VL: *mut ::core::ffi::c_void, ldvl: i64, dataTypeVR: cudaDataType, VR: *mut ::core::ffi::c_void, ldvr: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgeev(handle, params, jobvl, jobvr, n, dataTypeA, A, lda, dataTypeW, W, dataTypeVL, VL, ldvl, dataTypeVR, VR, ldvr, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
#[cfg(any(feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXgeev_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobvl: cusolverEigMode_t, jobvr: cusolverEigMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, dataTypeVL: cudaDataType, VL: *const ::core::ffi::c_void, ldvl: i64, dataTypeVR: cudaDataType, VR: *const ::core::ffi::c_void, ldvr: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgeev_bufferSize") });
_f(handle, params, jobvl, jobvr, n, dataTypeA, A, lda, dataTypeW, W, dataTypeVL, VL, ldvl, dataTypeVR, VR, ldvr, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgeev_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobvl: cusolverEigMode_t, jobvr: cusolverEigMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, dataTypeVL: cudaDataType, VL: *const ::core::ffi::c_void, ldvl: i64, dataTypeVR: cudaDataType, VR: *const ::core::ffi::c_void, ldvr: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgeev_bufferSize(handle, params, jobvl, jobvr, n, dataTypeA, A, lda, dataTypeW, W, dataTypeVL, VL, ldvl, dataTypeVR, VR, ldvr, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgeqrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgeqrf") });
_f(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgeqrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgeqrf(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXgeqrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgeqrf_bufferSize") });
_f(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgeqrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgeqrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgesvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *mut ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvd") });
_f(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *mut ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgesvd(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXgesvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *const ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvd_bufferSize") });
_f(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeVT: cudaDataType, VT: *const ::core::ffi::c_void, ldvt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgesvd_bufferSize(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgesvdjGetResidual(handle: cusolverDnHandle_t, info: gesvdjInfo_t, residual: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, gesvdjInfo_t, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdjGetResidual") });
_f(handle, info, residual)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdjGetResidual(handle: cusolverDnHandle_t, info: gesvdjInfo_t, residual: *mut f64) -> cusolverStatus_t;
}
cusolverDnXgesvdjGetResidual(handle, info, residual)
}
}
pub unsafe fn cusolverDnXgesvdjGetSweeps(handle: cusolverDnHandle_t, info: gesvdjInfo_t, executed_sweeps: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, gesvdjInfo_t, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdjGetSweeps") });
_f(handle, info, executed_sweeps)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdjGetSweeps(handle: cusolverDnHandle_t, info: gesvdjInfo_t, executed_sweeps: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgesvdjGetSweeps(handle, info, executed_sweeps)
}
}
pub unsafe fn cusolverDnXgesvdjSetMaxSweeps(info: gesvdjInfo_t, max_sweeps: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdjSetMaxSweeps") });
_f(info, max_sweeps)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdjSetMaxSweeps(info: gesvdjInfo_t, max_sweeps: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgesvdjSetMaxSweeps(info, max_sweeps)
}
}
pub unsafe fn cusolverDnXgesvdjSetSortEig(info: gesvdjInfo_t, sort_svd: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdjSetSortEig") });
_f(info, sort_svd)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdjSetSortEig(info: gesvdjInfo_t, sort_svd: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgesvdjSetSortEig(info, sort_svd)
}
}
pub unsafe fn cusolverDnXgesvdjSetTolerance(info: gesvdjInfo_t, tolerance: f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(gesvdjInfo_t, f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdjSetTolerance") });
_f(info, tolerance)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdjSetTolerance(info: gesvdjInfo_t, tolerance: f64) -> cusolverStatus_t;
}
cusolverDnXgesvdjSetTolerance(info, tolerance)
}
}
pub unsafe fn cusolverDnXgesvdp(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeV: cudaDataType, V: *mut ::core::ffi::c_void, ldv: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int, h_err_sigma: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, ::core::ffi::c_int, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdp") });
_f(handle, params, jobz, econ, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeV, V, ldv, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info, h_err_sigma)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdp(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *mut ::core::ffi::c_void, dataTypeU: cudaDataType, U: *mut ::core::ffi::c_void, ldu: i64, dataTypeV: cudaDataType, V: *mut ::core::ffi::c_void, ldv: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int, h_err_sigma: *mut f64) -> cusolverStatus_t;
}
cusolverDnXgesvdp(handle, params, jobz, econ, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeV, V, ldv, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info, h_err_sigma)
}
}
pub unsafe fn cusolverDnXgesvdp_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, ::core::ffi::c_int, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdp_bufferSize") });
_f(handle, params, jobz, econ, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeV, V, ldv, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdp_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeS: cudaDataType, S: *const ::core::ffi::c_void, dataTypeU: cudaDataType, U: *const ::core::ffi::c_void, ldu: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgesvdp_bufferSize(handle, params, jobz, econ, m, n, dataTypeA, A, lda, dataTypeS, S, dataTypeU, U, ldu, dataTypeV, V, ldv, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgesvdr(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobv: ::core::ffi::c_schar, m: i64, n: i64, k: i64, p: i64, niters: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeSrand: cudaDataType, Srand: *mut ::core::ffi::c_void, dataTypeUrand: cudaDataType, Urand: *mut ::core::ffi::c_void, ldUrand: i64, dataTypeVrand: cudaDataType, Vrand: *mut ::core::ffi::c_void, ldVrand: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, i64, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdr") });
_f(handle, params, jobu, jobv, m, n, k, p, niters, dataTypeA, A, lda, dataTypeSrand, Srand, dataTypeUrand, Urand, ldUrand, dataTypeVrand, Vrand, ldVrand, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdr(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobv: ::core::ffi::c_schar, m: i64, n: i64, k: i64, p: i64, niters: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeSrand: cudaDataType, Srand: *mut ::core::ffi::c_void, dataTypeUrand: cudaDataType, Urand: *mut ::core::ffi::c_void, ldUrand: i64, dataTypeVrand: cudaDataType, Vrand: *mut ::core::ffi::c_void, ldVrand: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgesvdr(handle, params, jobu, jobv, m, n, k, p, niters, dataTypeA, A, lda, dataTypeSrand, Srand, dataTypeUrand, Urand, ldUrand, dataTypeVrand, Vrand, ldVrand, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
}
pub unsafe fn cusolverDnXgesvdr_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobv: ::core::ffi::c_schar, m: i64, n: i64, k: i64, p: i64, niters: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeSrand: cudaDataType, Srand: *const ::core::ffi::c_void, dataTypeUrand: cudaDataType, Urand: *const ::core::ffi::c_void, ldUrand: i64, dataTypeVrand: cudaDataType, Vrand: *const ::core::ffi::c_void, ldVrand: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, ::core::ffi::c_schar, ::core::ffi::c_schar, i64, i64, i64, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgesvdr_bufferSize") });
_f(handle, params, jobu, jobv, m, n, k, p, niters, dataTypeA, A, lda, dataTypeSrand, Srand, dataTypeUrand, Urand, ldUrand, dataTypeVrand, Vrand, ldVrand, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgesvdr_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobu: ::core::ffi::c_schar, jobv: ::core::ffi::c_schar, m: i64, n: i64, k: i64, p: i64, niters: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeSrand: cudaDataType, Srand: *const ::core::ffi::c_void, dataTypeUrand: cudaDataType, Urand: *const ::core::ffi::c_void, ldUrand: i64, dataTypeVrand: cudaDataType, Vrand: *const ::core::ffi::c_void, ldVrand: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgesvdr_bufferSize(handle, params, jobu, jobv, m, n, k, p, niters, dataTypeA, A, lda, dataTypeSrand, Srand, dataTypeUrand, Urand, ldUrand, dataTypeVrand, Vrand, ldVrand, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgetrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, ipiv: *mut i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgetrf") });
_f(handle, params, m, n, dataTypeA, A, lda, ipiv, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgetrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, ipiv: *mut i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgetrf(handle, params, m, n, dataTypeA, A, lda, ipiv, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXgetrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgetrf_bufferSize") });
_f(handle, params, m, n, dataTypeA, A, lda, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgetrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, m: i64, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXgetrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXgetrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, trans: cublasOperation_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasOperation_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, *const i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXgetrs") });
_f(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXgetrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, trans: cublasOperation_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXgetrs(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, info)
}
}
#[cfg(any(feature = "cuda-12040"))]
pub unsafe fn cusolverDnXlarft(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, N: i64, K: i64, dataTypeV: cudaDataType, d_V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, d_tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, d_T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverDirectMode_t, cusolverStorevMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXlarft") });
_f(handle, params, direct, storev, N, K, dataTypeV, d_V, ldv, dataTypeTau, d_tau, dataTypeT, d_T, ldt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXlarft(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, N: i64, K: i64, dataTypeV: cudaDataType, d_V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, d_tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, d_T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize) -> cusolverStatus_t;
}
cusolverDnXlarft(handle, params, direct, storev, N, K, dataTypeV, d_V, ldv, dataTypeTau, d_tau, dataTypeT, d_T, ldt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXlarft(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, n: i64, k: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverDirectMode_t, cusolverStorevMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXlarft") });
_f(handle, params, direct, storev, n, k, dataTypeV, V, ldv, dataTypeTau, tau, dataTypeT, T, ldt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXlarft(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, n: i64, k: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize) -> cusolverStatus_t;
}
cusolverDnXlarft(handle, params, direct, storev, n, k, dataTypeV, V, ldv, dataTypeTau, tau, dataTypeT, T, ldt, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-12040"))]
pub unsafe fn cusolverDnXlarft_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, N: i64, K: i64, dataTypeV: cudaDataType, d_V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, d_tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, d_T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverDirectMode_t, cusolverStorevMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXlarft_bufferSize") });
_f(handle, params, direct, storev, N, K, dataTypeV, d_V, ldv, dataTypeTau, d_tau, dataTypeT, d_T, ldt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXlarft_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, N: i64, K: i64, dataTypeV: cudaDataType, d_V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, d_tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, d_T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXlarft_bufferSize(handle, params, direct, storev, N, K, dataTypeV, d_V, ldv, dataTypeTau, d_tau, dataTypeT, d_T, ldt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXlarft_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, n: i64, k: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverDirectMode_t, cusolverStorevMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXlarft_bufferSize") });
_f(handle, params, direct, storev, n, k, dataTypeV, V, ldv, dataTypeTau, tau, dataTypeT, T, ldt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXlarft_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, direct: cusolverDirectMode_t, storev: cusolverStorevMode_t, n: i64, k: i64, dataTypeV: cudaDataType, V: *const ::core::ffi::c_void, ldv: i64, dataTypeTau: cudaDataType, tau: *const ::core::ffi::c_void, dataTypeT: cudaDataType, T: *mut ::core::ffi::c_void, ldt: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXlarft_bufferSize(handle, params, direct, storev, n, k, dataTypeV, V, ldv, dataTypeTau, tau, dataTypeT, T, ldt, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXpolar(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, M: i64, N: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeH: cudaDataType, H: *mut ::core::ffi::c_void, ldh: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_res_nrm: *mut f64, d_A_nrmF: *mut f64, d_rcond: *mut f64, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut f64, *mut f64, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXpolar") });
_f(handle, params, uplo, M, N, dataTypeA, A, lda, dataTypeH, H, ldh, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_res_nrm, d_A_nrmF, d_rcond, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXpolar(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, M: i64, N: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeH: cudaDataType, H: *mut ::core::ffi::c_void, ldh: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_res_nrm: *mut f64, d_A_nrmF: *mut f64, d_rcond: *mut f64, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXpolar(handle, params, uplo, M, N, dataTypeA, A, lda, dataTypeH, H, ldh, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_res_nrm, d_A_nrmF, d_rcond, d_info)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXpolar_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, M: i64, N: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeH: cudaDataType, H: *const ::core::ffi::c_void, ldh: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXpolar_bufferSize") });
_f(handle, params, uplo, M, N, dataTypeA, A, lda, dataTypeH, H, ldh, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXpolar_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, M: i64, N: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeH: cudaDataType, H: *const ::core::ffi::c_void, ldh: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXpolar_bufferSize(handle, params, uplo, M, N, dataTypeA, A, lda, dataTypeH, H, ldh, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXpotrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXpotrf") });
_f(handle, params, uplo, n, dataTypeA, A, lda, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXpotrf(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXpotrf(handle, params, uplo, n, dataTypeA, A, lda, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXpotrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXpotrf_bufferSize") });
_f(handle, params, uplo, n, dataTypeA, A, lda, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXpotrf_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXpotrf_bufferSize(handle, params, uplo, n, dataTypeA, A, lda, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXpotrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cublasFillMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXpotrs") });
_f(handle, params, uplo, n, nrhs, dataTypeA, A, lda, dataTypeB, B, ldb, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXpotrs(handle: cusolverDnHandle_t, params: cusolverDnParams_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXpotrs(handle, params, uplo, n, nrhs, dataTypeA, A, lda, dataTypeB, B, ldb, info)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXstedc(handle: cusolverDnHandle_t, params: cusolverDnParams_t, compz: cusolverEigComp_t, n: i64, dataTypeDE: cudaDataType, D: *mut ::core::ffi::c_void, E: *mut ::core::ffi::c_void, dataTypeZ: cudaDataType, Z: *mut ::core::ffi::c_void, ldz: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigComp_t, i64, cudaDataType, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXstedc") });
_f(handle, params, compz, n, dataTypeDE, D, E, dataTypeZ, Z, ldz, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXstedc(handle: cusolverDnHandle_t, params: cusolverDnParams_t, compz: cusolverEigComp_t, n: i64, dataTypeDE: cudaDataType, D: *mut ::core::ffi::c_void, E: *mut ::core::ffi::c_void, dataTypeZ: cudaDataType, Z: *mut ::core::ffi::c_void, ldz: i64, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXstedc(handle, params, compz, n, dataTypeDE, D, E, dataTypeZ, Z, ldz, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXstedc_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, compz: cusolverEigComp_t, n: i64, dataTypeDE: cudaDataType, D: *const ::core::ffi::c_void, E: *const ::core::ffi::c_void, dataTypeZ: cudaDataType, Z: *const ::core::ffi::c_void, ldz: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigComp_t, i64, cudaDataType, *const ::core::ffi::c_void, *const ::core::ffi::c_void, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXstedc_bufferSize") });
_f(handle, params, compz, n, dataTypeDE, D, E, dataTypeZ, Z, ldz, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXstedc_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, compz: cusolverEigComp_t, n: i64, dataTypeDE: cudaDataType, D: *const ::core::ffi::c_void, E: *const ::core::ffi::c_void, dataTypeZ: cudaDataType, Z: *const ::core::ffi::c_void, ldz: i64, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXstedc_bufferSize(handle, params, compz, n, dataTypeDE, D, E, dataTypeZ, Z, ldz, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsyevBatched(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int, batchSize: i64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int, i64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevBatched") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevBatched(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int, batchSize: i64) -> cusolverStatus_t;
}
cusolverDnXsyevBatched(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info, batchSize)
}
}
#[cfg(any(feature = "cuda-12060", feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000", feature = "cuda-13010", feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsyevBatched_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize, batchSize: i64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize, i64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevBatched_bufferSize") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevBatched_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize, batchSize: i64) -> cusolverStatus_t;
}
cusolverDnXsyevBatched_bufferSize(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost, batchSize)
}
}
pub unsafe fn cusolverDnXsyevd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevd") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsyevd(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXsyevd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevd_bufferSize") });
_f(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXsyevd_bufferSize(handle, params, jobz, uplo, n, dataTypeA, A, lda, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXsyevdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig64: *mut i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevdx") });
_f(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, meig64, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig64: *mut i64, dataTypeW: cudaDataType, W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsyevdx(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, meig64, dataTypeW, W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXsyevdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, h_meig: *mut i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevdx_bufferSize") });
_f(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, h_meig, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, h_meig: *mut i64, dataTypeW: cudaDataType, W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXsyevdx_bufferSize(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, vl, vu, il, iu, h_meig, dataTypeW, W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXsyevjGetResidual(handle: cusolverDnHandle_t, info: syevjInfo_t, residual: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, syevjInfo_t, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevjGetResidual") });
_f(handle, info, residual)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevjGetResidual(handle: cusolverDnHandle_t, info: syevjInfo_t, residual: *mut f64) -> cusolverStatus_t;
}
cusolverDnXsyevjGetResidual(handle, info, residual)
}
}
pub unsafe fn cusolverDnXsyevjGetSweeps(handle: cusolverDnHandle_t, info: syevjInfo_t, executed_sweeps: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, syevjInfo_t, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevjGetSweeps") });
_f(handle, info, executed_sweeps)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevjGetSweeps(handle: cusolverDnHandle_t, info: syevjInfo_t, executed_sweeps: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsyevjGetSweeps(handle, info, executed_sweeps)
}
}
pub unsafe fn cusolverDnXsyevjSetMaxSweeps(info: syevjInfo_t, max_sweeps: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevjSetMaxSweeps") });
_f(info, max_sweeps)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevjSetMaxSweeps(info: syevjInfo_t, max_sweeps: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsyevjSetMaxSweeps(info, max_sweeps)
}
}
pub unsafe fn cusolverDnXsyevjSetSortEig(info: syevjInfo_t, sort_eig: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevjSetSortEig") });
_f(info, sort_eig)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevjSetSortEig(info: syevjInfo_t, sort_eig: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsyevjSetSortEig(info, sort_eig)
}
}
pub unsafe fn cusolverDnXsyevjSetTolerance(info: syevjInfo_t, tolerance: f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(syevjInfo_t, f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsyevjSetTolerance") });
_f(info, tolerance)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsyevjSetTolerance(info: syevjInfo_t, tolerance: f64) -> cusolverStatus_t;
}
cusolverDnXsyevjSetTolerance(info, tolerance)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsygvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *mut ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *mut ::core::ffi::c_void, ldb: i64, dataTypeW: cudaDataType, d_W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsygvd") });
_f(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsygvd(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *mut ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *mut ::core::ffi::c_void, ldb: i64, dataTypeW: cudaDataType, d_W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsygvd(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsygvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *const ::core::ffi::c_void, ldb: i64, dataTypeW: cudaDataType, d_W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsygvd_bufferSize") });
_f(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsygvd_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *const ::core::ffi::c_void, ldb: i64, dataTypeW: cudaDataType, d_W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXsygvd_bufferSize(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsygvdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *mut ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *mut ::core::ffi::c_void, ldb: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig: *mut i64, dataTypeW: cudaDataType, d_W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *mut ::core::ffi::c_void, cudaDataType, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsygvdx") });
_f(handle, params, itype, jobz, range, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig, dataTypeW, d_W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsygvdx(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *mut ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *mut ::core::ffi::c_void, ldb: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig: *mut i64, dataTypeW: cudaDataType, d_W: *mut ::core::ffi::c_void, computeType: cudaDataType, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, d_info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsygvdx(handle, params, itype, jobz, range, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig, dataTypeW, d_W, computeType, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, d_info)
}
}
#[cfg(any(feature = "cuda-13020"))]
pub unsafe fn cusolverDnXsygvdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *const ::core::ffi::c_void, ldb: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig: *mut i64, dataTypeW: cudaDataType, d_W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverDnParams_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, i64, cudaDataType, *const ::core::ffi::c_void, i64, cudaDataType, *const ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, *mut ::core::ffi::c_void, i64, i64, *mut i64, cudaDataType, *const ::core::ffi::c_void, cudaDataType, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsygvdx_bufferSize") });
_f(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig, dataTypeW, d_W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsygvdx_bufferSize(handle: cusolverDnHandle_t, params: cusolverDnParams_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: i64, dataTypeA: cudaDataType, d_A: *const ::core::ffi::c_void, lda: i64, dataTypeB: cudaDataType, d_B: *const ::core::ffi::c_void, ldb: i64, vl: *mut ::core::ffi::c_void, vu: *mut ::core::ffi::c_void, il: i64, iu: i64, meig: *mut i64, dataTypeW: cudaDataType, d_W: *const ::core::ffi::c_void, computeType: cudaDataType, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXsygvdx_bufferSize(handle, params, itype, jobz, uplo, n, dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig, dataTypeW, d_W, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXsytrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, *const i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsytrs") });
_f(handle, uplo, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsytrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXsytrs(handle, uplo, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, info)
}
}
pub unsafe fn cusolverDnXsytrs_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, i64, i64, cudaDataType, *const ::core::ffi::c_void, i64, *const i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXsytrs_bufferSize") });
_f(handle, uplo, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXsytrs_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: i64, nrhs: i64, dataTypeA: cudaDataType, A: *const ::core::ffi::c_void, lda: i64, ipiv: *const i64, dataTypeB: cudaDataType, B: *mut ::core::ffi::c_void, ldb: i64, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXsytrs_bufferSize(handle, uplo, n, nrhs, dataTypeA, A, lda, ipiv, dataTypeB, B, ldb, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnXtrtri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, diag: cublasDiagType_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, cublasDiagType_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_void, usize, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXtrtri") });
_f(handle, uplo, diag, n, dataTypeA, A, lda, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXtrtri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, diag: cublasDiagType_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, bufferOnDevice: *mut ::core::ffi::c_void, workspaceInBytesOnDevice: usize, bufferOnHost: *mut ::core::ffi::c_void, workspaceInBytesOnHost: usize, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnXtrtri(handle, uplo, diag, n, dataTypeA, A, lda, bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost, workspaceInBytesOnHost, devInfo)
}
}
pub unsafe fn cusolverDnXtrtri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, diag: cublasDiagType_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, cublasDiagType_t, i64, cudaDataType, *mut ::core::ffi::c_void, i64, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnXtrtri_bufferSize") });
_f(handle, uplo, diag, n, dataTypeA, A, lda, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnXtrtri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, diag: cublasDiagType_t, n: i64, dataTypeA: cudaDataType, A: *mut ::core::ffi::c_void, lda: i64, workspaceInBytesOnDevice: *mut usize, workspaceInBytesOnHost: *mut usize) -> cusolverStatus_t;
}
cusolverDnXtrtri_bufferSize(handle, uplo, diag, n, dataTypeA, A, lda, workspaceInBytesOnDevice, workspaceInBytesOnHost)
}
}
pub unsafe fn cusolverDnZCgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZCgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZCgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZCgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZCgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZCgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZCgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZCgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZCgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZCgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZCgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZCgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZCgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZCgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZCgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZCgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZEgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZEgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZEgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZEgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZEgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZEgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZEgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZEgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZEgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZEgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZEgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZEgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZEgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZEgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZEgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZEgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZKgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZKgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZKgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZKgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZKgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZKgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZKgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZKgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZKgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZKgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZKgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZKgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZKgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZKgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZKgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZKgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZYgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZYgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZYgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZYgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZYgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZYgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZYgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZYgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZYgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZYgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZYgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZYgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZYgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZYgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZYgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZYgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZZgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZZgels") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZZgels(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZZgels(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZZgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZZgels_bufferSize") });
_f(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZZgels_bufferSize(handle: cusolverDnHandle_t, m: cusolver_int_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZZgels_bufferSize(handle, m, n, nrhs, dA, ldda, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZZgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, usize, *mut cusolver_int_t, *mut cusolver_int_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZZgesv") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZZgesv(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: usize, iter: *mut cusolver_int_t, d_info: *mut cusolver_int_t) -> cusolverStatus_t;
}
cusolverDnZZgesv(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes, iter, d_info)
}
}
pub unsafe fn cusolverDnZZgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolver_int_t, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut cuDoubleComplex, cusolver_int_t, *mut ::core::ffi::c_void, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZZgesv_bufferSize") });
_f(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZZgesv_bufferSize(handle: cusolverDnHandle_t, n: cusolver_int_t, nrhs: cusolver_int_t, dA: *mut cuDoubleComplex, ldda: cusolver_int_t, dipiv: *mut cusolver_int_t, dB: *mut cuDoubleComplex, lddb: cusolver_int_t, dX: *mut cuDoubleComplex, lddx: cusolver_int_t, dWorkspace: *mut ::core::ffi::c_void, lwork_bytes: *mut usize) -> cusolverStatus_t;
}
cusolverDnZZgesv_bufferSize(handle, n, nrhs, dA, ldda, dipiv, dB, lddb, dX, lddx, dWorkspace, lwork_bytes)
}
}
pub unsafe fn cusolverDnZgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, D: *mut f64, E: *mut f64, TAUQ: *mut cuDoubleComplex, TAUP: *mut cuDoubleComplex, Work: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut f64, *mut cuDoubleComplex, *mut cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgebrd") });
_f(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgebrd(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, D: *mut f64, E: *mut f64, TAUQ: *mut cuDoubleComplex, TAUP: *mut cuDoubleComplex, Work: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgebrd(handle, m, n, A, lda, D, E, TAUQ, TAUP, Work, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnZgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgebrd_bufferSize") });
_f(handle, m, n, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgebrd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgebrd_bufferSize(handle, m, n, Lwork)
}
}
pub unsafe fn cusolverDnZgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, TAU: *mut cuDoubleComplex, Workspace: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgeqrf") });
_f(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgeqrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, TAU: *mut cuDoubleComplex, Workspace: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgeqrf(handle, m, n, A, lda, TAU, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnZgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgeqrf_bufferSize") });
_f(handle, m, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgeqrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgeqrf_bufferSize(handle, m, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnZgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, VT: *mut cuDoubleComplex, ldvt: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, rwork: *mut f64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_schar, ::core::ffi::c_schar, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvd") });
_f(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvd(handle: cusolverDnHandle_t, jobu: ::core::ffi::c_schar, jobvt: ::core::ffi::c_schar, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, VT: *mut cuDoubleComplex, ldvt: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, rwork: *mut f64, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvd(handle, jobu, jobvt, m, n, A, lda, S, U, ldu, VT, ldvt, work, lwork, rwork, info)
}
}
pub unsafe fn cusolverDnZgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvd_bufferSize") });
_f(handle, m, n, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvd_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvd_bufferSize(handle, m, n, lwork)
}
}
pub unsafe fn cusolverDnZgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuDoubleComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f64, strideS: ::core::ffi::c_longlong, d_U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut f64, ::core::ffi::c_longlong, *mut cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdaStridedBatched") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdaStridedBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuDoubleComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *mut f64, strideS: ::core::ffi::c_longlong, d_U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, d_work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, h_R_nrmF: *mut f64, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvdaStridedBatched(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, d_work, lwork, d_info, h_R_nrmF, batchSize)
}
}
pub unsafe fn cusolverDnZgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuDoubleComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f64, strideS: ::core::ffi::c_longlong, d_U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *const f64, ::core::ffi::c_longlong, *const cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *const cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_longlong, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdaStridedBatched_bufferSize") });
_f(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdaStridedBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, rank: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, d_A: *const cuDoubleComplex, lda: ::core::ffi::c_int, strideA: ::core::ffi::c_longlong, d_S: *const f64, strideS: ::core::ffi::c_longlong, d_U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, strideU: ::core::ffi::c_longlong, d_V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, strideV: ::core::ffi::c_longlong, lwork: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvdaStridedBatched_bufferSize(handle, jobz, rank, m, n, d_A, lda, strideA, d_S, strideS, d_U, ldu, strideU, d_V, ldv, strideV, lwork, batchSize)
}
}
pub unsafe fn cusolverDnZgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdj") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnZgesvdj(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnZgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdjBatched") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, S: *mut f64, U: *mut cuDoubleComplex, ldu: ::core::ffi::c_int, V: *mut cuDoubleComplex, ldv: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvdjBatched(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnZgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, S: *const f64, U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdjBatched_bufferSize") });
_f(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, S: *const f64, U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgesvdjBatched_bufferSize(handle, jobz, m, n, A, lda, S, U, ldu, V, ldv, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnZgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, S: *const f64, U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, gesvdjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgesvdj_bufferSize") });
_f(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgesvdj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, econ: ::core::ffi::c_int, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, S: *const f64, U: *const cuDoubleComplex, ldu: ::core::ffi::c_int, V: *const cuDoubleComplex, ldv: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int, params: gesvdjInfo_t) -> cusolverStatus_t;
}
cusolverDnZgesvdj_bufferSize(handle, jobz, econ, m, n, A, lda, S, U, ldu, V, ldv, lwork, params)
}
}
pub unsafe fn cusolverDnZgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Workspace: *mut cuDoubleComplex, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgetrf") });
_f(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgetrf(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Workspace: *mut cuDoubleComplex, devIpiv: *mut ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgetrf(handle, m, n, A, lda, Workspace, devIpiv, devInfo)
}
}
pub unsafe fn cusolverDnZgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgetrf_bufferSize") });
_f(handle, m, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgetrf_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgetrf_bufferSize(handle, m, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnZgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZgetrs") });
_f(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZgetrs(handle: cusolverDnHandle_t, trans: cublasOperation_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZgetrs(handle, trans, n, nrhs, A, lda, devIpiv, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnZheevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevd") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevd(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevd(handle, jobz, uplo, n, A, lda, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnZheevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevd_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevd_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevd_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork)
}
}
pub unsafe fn cusolverDnZheevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevdx") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevdx(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevdx(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnZheevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevdx_bufferSize") });
_f(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevdx_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevdx_bufferSize(handle, jobz, range, uplo, n, A, lda, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnZheevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevj") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevj(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnZheevj(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnZheevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevjBatched") });
_f(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevjBatched(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevjBatched(handle, jobz, uplo, n, A, lda, W, work, lwork, info, params, batchSize)
}
}
pub unsafe fn cusolverDnZheevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevjBatched_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevjBatched_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZheevjBatched_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params, batchSize)
}
}
pub unsafe fn cusolverDnZheevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZheevj_bufferSize") });
_f(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZheevj_bufferSize(handle: cusolverDnHandle_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnZheevj_bufferSize(handle, jobz, uplo, n, A, lda, W, lwork, params)
}
}
pub unsafe fn cusolverDnZhegvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvd") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvd(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhegvd(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnZhegvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvd_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvd_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhegvd_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork)
}
}
pub unsafe fn cusolverDnZhegvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvdx") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvdx(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhegvdx(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, work, lwork, info)
}
}
pub unsafe fn cusolverDnZhegvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cusolverEigRange_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, f64, f64, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvdx_bufferSize") });
_f(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvdx_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, range: cusolverEigRange_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, vl: f64, vu: f64, il: ::core::ffi::c_int, iu: ::core::ffi::c_int, meig: *mut ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhegvdx_bufferSize(handle, itype, jobz, range, uplo, n, A, lda, B, ldb, vl, vu, il, iu, meig, W, lwork)
}
}
pub unsafe fn cusolverDnZhegvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvj") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvj(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, W: *mut f64, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnZhegvj(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, work, lwork, info, params)
}
}
pub unsafe fn cusolverDnZhegvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cusolverEigType_t, cusolverEigMode_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *mut ::core::ffi::c_int, syevjInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhegvj_bufferSize") });
_f(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhegvj_bufferSize(handle: cusolverDnHandle_t, itype: cusolverEigType_t, jobz: cusolverEigMode_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *const cuDoubleComplex, ldb: ::core::ffi::c_int, W: *const f64, lwork: *mut ::core::ffi::c_int, params: syevjInfo_t) -> cusolverStatus_t;
}
cusolverDnZhegvj_bufferSize(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork, params)
}
}
pub unsafe fn cusolverDnZhetrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, d: *mut f64, e: *mut f64, tau: *mut cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut f64, *mut f64, *mut cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhetrd") });
_f(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhetrd(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, d: *mut f64, e: *mut f64, tau: *mut cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhetrd(handle, uplo, n, A, lda, d, e, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnZhetrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, d: *const f64, e: *const f64, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const f64, *const f64, *const cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZhetrd_bufferSize") });
_f(handle, uplo, n, A, lda, d, e, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZhetrd_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, d: *const f64, e: *const f64, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZhetrd_bufferSize(handle, uplo, n, A, lda, d, e, tau, lwork)
}
}
pub unsafe fn cusolverDnZlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZlaswp") });
_f(handle, n, A, lda, k1, k2, devIpiv, incx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZlaswp(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, k1: ::core::ffi::c_int, k2: ::core::ffi::c_int, devIpiv: *const ::core::ffi::c_int, incx: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZlaswp(handle, n, A, lda, k1, k2, devIpiv, incx)
}
}
pub unsafe fn cusolverDnZlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZlauum") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZlauum(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZlauum(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnZlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZlauum_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZlauum_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZlauum_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnZpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Workspace: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotrf") });
_f(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Workspace: *mut cuDoubleComplex, Lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotrf(handle, uplo, n, A, lda, Workspace, Lwork, devInfo)
}
}
pub unsafe fn cusolverDnZpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut cuDoubleComplex, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotrfBatched") });
_f(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotrfBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, Aarray: *mut *mut cuDoubleComplex, lda: ::core::ffi::c_int, infoArray: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotrfBatched(handle, uplo, n, Aarray, lda, infoArray, batchSize)
}
}
pub unsafe fn cusolverDnZpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotrf_bufferSize") });
_f(handle, uplo, n, A, lda, Lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotrf_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, Lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotrf_bufferSize(handle, uplo, n, A, lda, Lwork)
}
}
pub unsafe fn cusolverDnZpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotri") });
_f(handle, uplo, n, A, lda, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotri(handle, uplo, n, A, lda, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnZpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotri_bufferSize") });
_f(handle, uplo, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotri_bufferSize(handle, uplo, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnZpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotrs") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotrs(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut cuDoubleComplex, ldb: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotrs(handle, uplo, n, nrhs, A, lda, B, ldb, devInfo)
}
}
pub unsafe fn cusolverDnZpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut *mut cuDoubleComplex, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut *mut cuDoubleComplex, ::core::ffi::c_int, *mut *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZpotrsBatched") });
_f(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZpotrsBatched(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, nrhs: ::core::ffi::c_int, A: *mut *mut cuDoubleComplex, lda: ::core::ffi::c_int, B: *mut *mut cuDoubleComplex, ldb: ::core::ffi::c_int, d_info: *mut ::core::ffi::c_int, batchSize: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZpotrsBatched(handle, uplo, n, nrhs, A, lda, B, ldb, d_info, batchSize)
}
}
pub unsafe fn cusolverDnZsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZsytrf") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZsytrf(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *mut ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZsytrf(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnZsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZsytrf_bufferSize") });
_f(handle, n, A, lda, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZsytrf_bufferSize(handle: cusolverDnHandle_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZsytrf_bufferSize(handle, n, A, lda, lwork)
}
}
pub unsafe fn cusolverDnZsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZsytri") });
_f(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZsytri(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZsytri(handle, uplo, n, A, lda, ipiv, work, lwork, info)
}
}
pub unsafe fn cusolverDnZsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZsytri_bufferSize") });
_f(handle, uplo, n, A, lda, ipiv, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZsytri_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, ipiv: *const ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZsytri_bufferSize(handle, uplo, n, A, lda, ipiv, lwork)
}
}
pub unsafe fn cusolverDnZungbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungbr") });
_f(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungbr(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungbr(handle, side, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnZungbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungbr_bufferSize") });
_f(handle, side, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungbr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungbr_bufferSize(handle, side, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnZungqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungqr") });
_f(handle, m, n, k, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungqr(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungqr(handle, m, n, k, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnZungqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungqr_bufferSize") });
_f(handle, m, n, k, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungqr_bufferSize(handle: cusolverDnHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungqr_bufferSize(handle, m, n, k, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnZungtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungtr") });
_f(handle, uplo, n, A, lda, tau, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungtr(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungtr(handle, uplo, n, A, lda, tau, work, lwork, info)
}
}
pub unsafe fn cusolverDnZungtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasFillMode_t, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZungtr_bufferSize") });
_f(handle, uplo, n, A, lda, tau, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZungtr_bufferSize(handle: cusolverDnHandle_t, uplo: cublasFillMode_t, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZungtr_bufferSize(handle, uplo, n, A, lda, tau, lwork)
}
}
pub unsafe fn cusolverDnZunmqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *mut cuDoubleComplex, ldc: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZunmqr") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZunmqr(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *mut cuDoubleComplex, ldc: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, devInfo: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZunmqr(handle, side, trans, m, n, k, A, lda, tau, C, ldc, work, lwork, devInfo)
}
}
pub unsafe fn cusolverDnZunmqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *const cuDoubleComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *const cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZunmqr_bufferSize") });
_f(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZunmqr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, k: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *const cuDoubleComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZunmqr_bufferSize(handle, side, trans, m, n, k, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverDnZunmtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *mut cuDoubleComplex, C: *mut cuDoubleComplex, ldc: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, *mut cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZunmtr") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZunmtr(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *mut cuDoubleComplex, lda: ::core::ffi::c_int, tau: *mut cuDoubleComplex, C: *mut cuDoubleComplex, ldc: ::core::ffi::c_int, work: *mut cuDoubleComplex, lwork: ::core::ffi::c_int, info: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZunmtr(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, work, lwork, info)
}
}
pub unsafe fn cusolverDnZunmtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *const cuDoubleComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverDnHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, ::core::ffi::c_int, ::core::ffi::c_int, *const cuDoubleComplex, ::core::ffi::c_int, *const cuDoubleComplex, *const cuDoubleComplex, ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverDnZunmtr_bufferSize") });
_f(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverDnZunmtr_bufferSize(handle: cusolverDnHandle_t, side: cublasSideMode_t, uplo: cublasFillMode_t, trans: cublasOperation_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, A: *const cuDoubleComplex, lda: ::core::ffi::c_int, tau: *const cuDoubleComplex, C: *const cuDoubleComplex, ldc: ::core::ffi::c_int, lwork: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverDnZunmtr_bufferSize(handle, side, uplo, trans, m, n, A, lda, tau, C, ldc, lwork)
}
}
pub unsafe fn cusolverGetProperty(type_: libraryPropertyType, value: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(libraryPropertyType, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverGetProperty") });
_f(type_, value)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverGetProperty(type_: libraryPropertyType, value: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverGetProperty(type_, value)
}
}
pub unsafe fn cusolverGetVersion(version: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverGetVersion") });
_f(version)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverGetVersion(version: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverGetVersion(version)
}
}
pub unsafe fn cusolverRfAccessBundledFactorsDevice(handle: cusolverRfHandle_t, nnzM: *mut ::core::ffi::c_int, Mp: *mut *mut ::core::ffi::c_int, Mi: *mut *mut ::core::ffi::c_int, Mx: *mut *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfAccessBundledFactorsDevice") });
_f(handle, nnzM, Mp, Mi, Mx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfAccessBundledFactorsDevice(handle: cusolverRfHandle_t, nnzM: *mut ::core::ffi::c_int, Mp: *mut *mut ::core::ffi::c_int, Mi: *mut *mut ::core::ffi::c_int, Mx: *mut *mut f64) -> cusolverStatus_t;
}
cusolverRfAccessBundledFactorsDevice(handle, nnzM, Mp, Mi, Mx)
}
}
pub unsafe fn cusolverRfAnalyze(handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfAnalyze") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfAnalyze(handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfAnalyze(handle)
}
}
pub unsafe fn cusolverRfBatchAnalyze(handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchAnalyze") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchAnalyze(handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfBatchAnalyze(handle)
}
}
pub unsafe fn cusolverRfBatchRefactor(handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchRefactor") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchRefactor(handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfBatchRefactor(handle)
}
}
pub unsafe fn cusolverRfBatchResetValues(batchSize: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA_array: *mut *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchResetValues") });
_f(batchSize, n, nnzA, csrRowPtrA, csrColIndA, csrValA_array, P, Q, handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchResetValues(batchSize: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA_array: *mut *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfBatchResetValues(batchSize, n, nnzA, csrRowPtrA, csrColIndA, csrValA_array, P, Q, handle)
}
}
pub unsafe fn cusolverRfBatchSetupHost(batchSize: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, h_csrRowPtrA: *mut ::core::ffi::c_int, h_csrColIndA: *mut ::core::ffi::c_int, h_csrValA_array: *mut *mut f64, nnzL: ::core::ffi::c_int, h_csrRowPtrL: *mut ::core::ffi::c_int, h_csrColIndL: *mut ::core::ffi::c_int, h_csrValL: *mut f64, nnzU: ::core::ffi::c_int, h_csrRowPtrU: *mut ::core::ffi::c_int, h_csrColIndU: *mut ::core::ffi::c_int, h_csrValU: *mut f64, h_P: *mut ::core::ffi::c_int, h_Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchSetupHost") });
_f(batchSize, n, nnzA, h_csrRowPtrA, h_csrColIndA, h_csrValA_array, nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU, h_P, h_Q, handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchSetupHost(batchSize: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, h_csrRowPtrA: *mut ::core::ffi::c_int, h_csrColIndA: *mut ::core::ffi::c_int, h_csrValA_array: *mut *mut f64, nnzL: ::core::ffi::c_int, h_csrRowPtrL: *mut ::core::ffi::c_int, h_csrColIndL: *mut ::core::ffi::c_int, h_csrValL: *mut f64, nnzU: ::core::ffi::c_int, h_csrRowPtrU: *mut ::core::ffi::c_int, h_csrColIndU: *mut ::core::ffi::c_int, h_csrValU: *mut f64, h_P: *mut ::core::ffi::c_int, h_Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfBatchSetupHost(batchSize, n, nnzA, h_csrRowPtrA, h_csrColIndA, h_csrValA_array, nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU, h_P, h_Q, handle)
}
}
pub unsafe fn cusolverRfBatchSolve(handle: cusolverRfHandle_t, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, nrhs: ::core::ffi::c_int, Temp: *mut f64, ldt: ::core::ffi::c_int, XF_array: *mut *mut f64, ldxf: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchSolve") });
_f(handle, P, Q, nrhs, Temp, ldt, XF_array, ldxf)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchSolve(handle: cusolverRfHandle_t, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, nrhs: ::core::ffi::c_int, Temp: *mut f64, ldt: ::core::ffi::c_int, XF_array: *mut *mut f64, ldxf: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverRfBatchSolve(handle, P, Q, nrhs, Temp, ldt, XF_array, ldxf)
}
}
pub unsafe fn cusolverRfBatchZeroPivot(handle: cusolverRfHandle_t, position: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfBatchZeroPivot") });
_f(handle, position)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfBatchZeroPivot(handle: cusolverRfHandle_t, position: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverRfBatchZeroPivot(handle, position)
}
}
pub unsafe fn cusolverRfCreate(handle: *mut cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfCreate") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfCreate(handle: *mut cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfCreate(handle)
}
}
pub unsafe fn cusolverRfDestroy(handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfDestroy") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfDestroy(handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfDestroy(handle)
}
}
pub unsafe fn cusolverRfExtractBundledFactorsHost(handle: cusolverRfHandle_t, h_nnzM: *mut ::core::ffi::c_int, h_Mp: *mut *mut ::core::ffi::c_int, h_Mi: *mut *mut ::core::ffi::c_int, h_Mx: *mut *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfExtractBundledFactorsHost") });
_f(handle, h_nnzM, h_Mp, h_Mi, h_Mx)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfExtractBundledFactorsHost(handle: cusolverRfHandle_t, h_nnzM: *mut ::core::ffi::c_int, h_Mp: *mut *mut ::core::ffi::c_int, h_Mi: *mut *mut ::core::ffi::c_int, h_Mx: *mut *mut f64) -> cusolverStatus_t;
}
cusolverRfExtractBundledFactorsHost(handle, h_nnzM, h_Mp, h_Mi, h_Mx)
}
}
pub unsafe fn cusolverRfExtractSplitFactorsHost(handle: cusolverRfHandle_t, h_nnzL: *mut ::core::ffi::c_int, h_csrRowPtrL: *mut *mut ::core::ffi::c_int, h_csrColIndL: *mut *mut ::core::ffi::c_int, h_csrValL: *mut *mut f64, h_nnzU: *mut ::core::ffi::c_int, h_csrRowPtrU: *mut *mut ::core::ffi::c_int, h_csrColIndU: *mut *mut ::core::ffi::c_int, h_csrValU: *mut *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut f64, *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut ::core::ffi::c_int, *mut *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfExtractSplitFactorsHost") });
_f(handle, h_nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, h_nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfExtractSplitFactorsHost(handle: cusolverRfHandle_t, h_nnzL: *mut ::core::ffi::c_int, h_csrRowPtrL: *mut *mut ::core::ffi::c_int, h_csrColIndL: *mut *mut ::core::ffi::c_int, h_csrValL: *mut *mut f64, h_nnzU: *mut ::core::ffi::c_int, h_csrRowPtrU: *mut *mut ::core::ffi::c_int, h_csrColIndU: *mut *mut ::core::ffi::c_int, h_csrValU: *mut *mut f64) -> cusolverStatus_t;
}
cusolverRfExtractSplitFactorsHost(handle, h_nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, h_nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU)
}
}
pub unsafe fn cusolverRfGetAlgs(handle: cusolverRfHandle_t, factAlg: *mut cusolverRfFactorization_t, solveAlg: *mut cusolverRfTriangularSolve_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut cusolverRfFactorization_t, *mut cusolverRfTriangularSolve_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfGetAlgs") });
_f(handle, factAlg, solveAlg)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfGetAlgs(handle: cusolverRfHandle_t, factAlg: *mut cusolverRfFactorization_t, solveAlg: *mut cusolverRfTriangularSolve_t) -> cusolverStatus_t;
}
cusolverRfGetAlgs(handle, factAlg, solveAlg)
}
}
pub unsafe fn cusolverRfGetMatrixFormat(handle: cusolverRfHandle_t, format: *mut cusolverRfMatrixFormat_t, diag: *mut cusolverRfUnitDiagonal_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut cusolverRfMatrixFormat_t, *mut cusolverRfUnitDiagonal_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfGetMatrixFormat") });
_f(handle, format, diag)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfGetMatrixFormat(handle: cusolverRfHandle_t, format: *mut cusolverRfMatrixFormat_t, diag: *mut cusolverRfUnitDiagonal_t) -> cusolverStatus_t;
}
cusolverRfGetMatrixFormat(handle, format, diag)
}
}
pub unsafe fn cusolverRfGetNumericBoostReport(handle: cusolverRfHandle_t, report: *mut cusolverRfNumericBoostReport_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut cusolverRfNumericBoostReport_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfGetNumericBoostReport") });
_f(handle, report)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfGetNumericBoostReport(handle: cusolverRfHandle_t, report: *mut cusolverRfNumericBoostReport_t) -> cusolverStatus_t;
}
cusolverRfGetNumericBoostReport(handle, report)
}
}
pub unsafe fn cusolverRfGetNumericProperties(handle: cusolverRfHandle_t, zero: *mut f64, boost: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut f64, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfGetNumericProperties") });
_f(handle, zero, boost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfGetNumericProperties(handle: cusolverRfHandle_t, zero: *mut f64, boost: *mut f64) -> cusolverStatus_t;
}
cusolverRfGetNumericProperties(handle, zero, boost)
}
}
pub unsafe fn cusolverRfGetResetValuesFastMode(handle: cusolverRfHandle_t, fastMode: *mut cusolverRfResetValuesFastMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut cusolverRfResetValuesFastMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfGetResetValuesFastMode") });
_f(handle, fastMode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfGetResetValuesFastMode(handle: cusolverRfHandle_t, fastMode: *mut cusolverRfResetValuesFastMode_t) -> cusolverStatus_t;
}
cusolverRfGetResetValuesFastMode(handle, fastMode)
}
}
pub unsafe fn cusolverRfRefactor(handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfRefactor") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfRefactor(handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfRefactor(handle)
}
}
pub unsafe fn cusolverRfResetValues(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA: *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfResetValues") });
_f(n, nnzA, csrRowPtrA, csrColIndA, csrValA, P, Q, handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfResetValues(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA: *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfResetValues(n, nnzA, csrRowPtrA, csrColIndA, csrValA, P, Q, handle)
}
}
pub unsafe fn cusolverRfSetAlgs(handle: cusolverRfHandle_t, factAlg: cusolverRfFactorization_t, solveAlg: cusolverRfTriangularSolve_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, cusolverRfFactorization_t, cusolverRfTriangularSolve_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetAlgs") });
_f(handle, factAlg, solveAlg)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetAlgs(handle: cusolverRfHandle_t, factAlg: cusolverRfFactorization_t, solveAlg: cusolverRfTriangularSolve_t) -> cusolverStatus_t;
}
cusolverRfSetAlgs(handle, factAlg, solveAlg)
}
}
pub unsafe fn cusolverRfSetMatrixFormat(handle: cusolverRfHandle_t, format: cusolverRfMatrixFormat_t, diag: cusolverRfUnitDiagonal_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, cusolverRfMatrixFormat_t, cusolverRfUnitDiagonal_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetMatrixFormat") });
_f(handle, format, diag)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetMatrixFormat(handle: cusolverRfHandle_t, format: cusolverRfMatrixFormat_t, diag: cusolverRfUnitDiagonal_t) -> cusolverStatus_t;
}
cusolverRfSetMatrixFormat(handle, format, diag)
}
}
pub unsafe fn cusolverRfSetNumericProperties(handle: cusolverRfHandle_t, zero: f64, boost: f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, f64, f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetNumericProperties") });
_f(handle, zero, boost)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetNumericProperties(handle: cusolverRfHandle_t, zero: f64, boost: f64) -> cusolverStatus_t;
}
cusolverRfSetNumericProperties(handle, zero, boost)
}
}
pub unsafe fn cusolverRfSetResetValuesFastMode(handle: cusolverRfHandle_t, fastMode: cusolverRfResetValuesFastMode_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, cusolverRfResetValuesFastMode_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetResetValuesFastMode") });
_f(handle, fastMode)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetResetValuesFastMode(handle: cusolverRfHandle_t, fastMode: cusolverRfResetValuesFastMode_t) -> cusolverStatus_t;
}
cusolverRfSetResetValuesFastMode(handle, fastMode)
}
}
pub unsafe fn cusolverRfSetupDevice(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA: *mut f64, nnzL: ::core::ffi::c_int, csrRowPtrL: *mut ::core::ffi::c_int, csrColIndL: *mut ::core::ffi::c_int, csrValL: *mut f64, nnzU: ::core::ffi::c_int, csrRowPtrU: *mut ::core::ffi::c_int, csrColIndU: *mut ::core::ffi::c_int, csrValU: *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetupDevice") });
_f(n, nnzA, csrRowPtrA, csrColIndA, csrValA, nnzL, csrRowPtrL, csrColIndL, csrValL, nnzU, csrRowPtrU, csrColIndU, csrValU, P, Q, handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetupDevice(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, csrValA: *mut f64, nnzL: ::core::ffi::c_int, csrRowPtrL: *mut ::core::ffi::c_int, csrColIndL: *mut ::core::ffi::c_int, csrValL: *mut f64, nnzU: ::core::ffi::c_int, csrRowPtrU: *mut ::core::ffi::c_int, csrColIndU: *mut ::core::ffi::c_int, csrValU: *mut f64, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfSetupDevice(n, nnzA, csrRowPtrA, csrColIndA, csrValA, nnzL, csrRowPtrL, csrColIndL, csrValL, nnzU, csrRowPtrU, csrColIndU, csrValU, P, Q, handle)
}
}
pub unsafe fn cusolverRfSetupHost(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, h_csrRowPtrA: *mut ::core::ffi::c_int, h_csrColIndA: *mut ::core::ffi::c_int, h_csrValA: *mut f64, nnzL: ::core::ffi::c_int, h_csrRowPtrL: *mut ::core::ffi::c_int, h_csrColIndL: *mut ::core::ffi::c_int, h_csrValL: *mut f64, nnzU: ::core::ffi::c_int, h_csrRowPtrU: *mut ::core::ffi::c_int, h_csrColIndU: *mut ::core::ffi::c_int, h_csrValU: *mut f64, h_P: *mut ::core::ffi::c_int, h_Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(::core::ffi::c_int, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, cusolverRfHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSetupHost") });
_f(n, nnzA, h_csrRowPtrA, h_csrColIndA, h_csrValA, nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU, h_P, h_Q, handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSetupHost(n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, h_csrRowPtrA: *mut ::core::ffi::c_int, h_csrColIndA: *mut ::core::ffi::c_int, h_csrValA: *mut f64, nnzL: ::core::ffi::c_int, h_csrRowPtrL: *mut ::core::ffi::c_int, h_csrColIndL: *mut ::core::ffi::c_int, h_csrValL: *mut f64, nnzU: ::core::ffi::c_int, h_csrRowPtrU: *mut ::core::ffi::c_int, h_csrColIndU: *mut ::core::ffi::c_int, h_csrValU: *mut f64, h_P: *mut ::core::ffi::c_int, h_Q: *mut ::core::ffi::c_int, handle: cusolverRfHandle_t) -> cusolverStatus_t;
}
cusolverRfSetupHost(n, nnzA, h_csrRowPtrA, h_csrColIndA, h_csrValA, nnzL, h_csrRowPtrL, h_csrColIndL, h_csrValL, nnzU, h_csrRowPtrU, h_csrColIndU, h_csrValU, h_P, h_Q, handle)
}
}
pub unsafe fn cusolverRfSolve(handle: cusolverRfHandle_t, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, nrhs: ::core::ffi::c_int, Temp: *mut f64, ldt: ::core::ffi::c_int, XF: *mut f64, ldxf: ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverRfHandle_t, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int, *mut f64, ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverRfSolve") });
_f(handle, P, Q, nrhs, Temp, ldt, XF, ldxf)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverRfSolve(handle: cusolverRfHandle_t, P: *mut ::core::ffi::c_int, Q: *mut ::core::ffi::c_int, nrhs: ::core::ffi::c_int, Temp: *mut f64, ldt: ::core::ffi::c_int, XF: *mut f64, ldxf: ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverRfSolve(handle, P, Q, nrhs, Temp, ldt, XF, ldxf)
}
}
pub unsafe fn cusolverSpCcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuComplex, right_upper_corner: cuComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuComplex, cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsreigsHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuComplex, right_upper_corner: cuComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsreigsHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
}
pub unsafe fn cusolverSpCcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuComplex, x0: *const cuComplex, maxite: ::core::ffi::c_int, eps: f32, mu: *mut cuComplex, x: *mut cuComplex) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuComplex, *const cuComplex, ::core::ffi::c_int, f32, *mut cuComplex, *mut cuComplex) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsreigvsi") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuComplex, x0: *const cuComplex, maxite: ::core::ffi::c_int, eps: f32, mu: *mut cuComplex, x: *mut cuComplex) -> cusolverStatus_t;
}
cusolverSpCcsreigvsi(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
}
pub unsafe fn cusolverSpCcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuComplex, x0: *const cuComplex, maxite: ::core::ffi::c_int, tol: f32, mu: *mut cuComplex, x: *mut cuComplex) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuComplex, *const cuComplex, ::core::ffi::c_int, f32, *mut cuComplex, *mut cuComplex) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsreigvsiHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuComplex, x0: *const cuComplex, maxite: ::core::ffi::c_int, tol: f32, mu: *mut cuComplex, x: *mut cuComplex) -> cusolverStatus_t;
}
cusolverSpCcsreigvsiHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
}
pub unsafe fn cusolverSpCcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, rankA: *mut ::core::ffi::c_int, x: *mut cuComplex, p: *mut ::core::ffi::c_int, min_norm: *mut f32) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, *mut ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int, *mut f32) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsqvqrHost") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, rankA: *mut ::core::ffi::c_int, x: *mut cuComplex, p: *mut ::core::ffi::c_int, min_norm: *mut f32) -> cusolverStatus_t;
}
cusolverSpCcsrlsqvqrHost(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
}
pub unsafe fn cusolverSpCcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsvchol") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrlsvchol(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpCcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsvcholHost") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrlsvcholHost(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpCcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsvluHost") });
_f(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrlsvluHost(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpCcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsvqr") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrlsvqr(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpCcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, f32, ::core::ffi::c_int, *mut cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrlsvqrHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, tol: f32, reorder: ::core::ffi::c_int, x: *mut cuComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrlsvqrHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpCcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int, csrqrInfo_t, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrqrBufferInfoBatched") });
_f(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverSpCcsrqrBufferInfoBatched(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
}
pub unsafe fn cusolverSpCcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, x: *mut cuComplex, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuComplex, *mut cuComplex, ::core::ffi::c_int, csrqrInfo_t, *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrqrsvBatched") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuComplex, x: *mut cuComplex, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverSpCcsrqrsvBatched(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
}
pub unsafe fn cusolverSpCcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCcsrzfdHost") });
_f(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpCcsrzfdHost(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
}
pub unsafe fn cusolverSpCreate(handle: *mut cusolverSpHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut cusolverSpHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCreate") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCreate(handle: *mut cusolverSpHandle_t) -> cusolverStatus_t;
}
cusolverSpCreate(handle)
}
}
pub unsafe fn cusolverSpCreateCsrqrInfo(info: *mut csrqrInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(*mut csrqrInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpCreateCsrqrInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpCreateCsrqrInfo(info: *mut csrqrInfo_t) -> cusolverStatus_t;
}
cusolverSpCreateCsrqrInfo(info)
}
}
pub unsafe fn cusolverSpDcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuDoubleComplex, right_upper_corner: cuDoubleComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuDoubleComplex, cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsreigsHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuDoubleComplex, right_upper_corner: cuDoubleComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsreigsHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
}
pub unsafe fn cusolverSpDcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f64, x0: *const f64, maxite: ::core::ffi::c_int, eps: f64, mu: *mut f64, x: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, f64, *const f64, ::core::ffi::c_int, f64, *mut f64, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsreigvsi") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f64, x0: *const f64, maxite: ::core::ffi::c_int, eps: f64, mu: *mut f64, x: *mut f64) -> cusolverStatus_t;
}
cusolverSpDcsreigvsi(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
}
pub unsafe fn cusolverSpDcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f64, x0: *const f64, maxite: ::core::ffi::c_int, tol: f64, mu: *mut f64, x: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, f64, *const f64, ::core::ffi::c_int, f64, *mut f64, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsreigvsiHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f64, x0: *const f64, maxite: ::core::ffi::c_int, tol: f64, mu: *mut f64, x: *mut f64) -> cusolverStatus_t;
}
cusolverSpDcsreigvsiHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
}
pub unsafe fn cusolverSpDcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, rankA: *mut ::core::ffi::c_int, x: *mut f64, p: *mut ::core::ffi::c_int, min_norm: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, *mut ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsqvqrHost") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, rankA: *mut ::core::ffi::c_int, x: *mut f64, p: *mut ::core::ffi::c_int, min_norm: *mut f64) -> cusolverStatus_t;
}
cusolverSpDcsrlsqvqrHost(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
}
pub unsafe fn cusolverSpDcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsvchol") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrlsvchol(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpDcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsvcholHost") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrlsvcholHost(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpDcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsvluHost") });
_f(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrlsvluHost(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpDcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsvqr") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrlsvqr(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpDcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, f64, ::core::ffi::c_int, *mut f64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrlsvqrHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, tol: f64, reorder: ::core::ffi::c_int, x: *mut f64, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrlsvqrHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpDcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int, csrqrInfo_t, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrqrBufferInfoBatched") });
_f(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f64, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverSpDcsrqrBufferInfoBatched(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
}
pub unsafe fn cusolverSpDcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, x: *mut f64, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f64, *mut f64, ::core::ffi::c_int, csrqrInfo_t, *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrqrsvBatched") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f64, x: *mut f64, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverSpDcsrqrsvBatched(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
}
pub unsafe fn cusolverSpDcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f64, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDcsrzfdHost") });
_f(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f64, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpDcsrzfdHost(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
}
pub unsafe fn cusolverSpDestroy(handle: cusolverSpHandle_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDestroy") });
_f(handle)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDestroy(handle: cusolverSpHandle_t) -> cusolverStatus_t;
}
cusolverSpDestroy(handle)
}
}
pub unsafe fn cusolverSpDestroyCsrqrInfo(info: csrqrInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(csrqrInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpDestroyCsrqrInfo") });
_f(info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpDestroyCsrqrInfo(info: csrqrInfo_t) -> cusolverStatus_t;
}
cusolverSpDestroyCsrqrInfo(info)
}
}
pub unsafe fn cusolverSpGetStream(handle: cusolverSpHandle_t, streamId: *mut cudaStream_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, *mut cudaStream_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpGetStream") });
_f(handle, streamId)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpGetStream(handle: cusolverSpHandle_t, streamId: *mut cudaStream_t) -> cusolverStatus_t;
}
cusolverSpGetStream(handle, streamId)
}
}
pub unsafe fn cusolverSpScsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuComplex, right_upper_corner: cuComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuComplex, cuComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsreigsHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuComplex, right_upper_corner: cuComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsreigsHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
}
pub unsafe fn cusolverSpScsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f32, x0: *const f32, maxite: ::core::ffi::c_int, eps: f32, mu: *mut f32, x: *mut f32) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, f32, *const f32, ::core::ffi::c_int, f32, *mut f32, *mut f32) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsreigvsi") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f32, x0: *const f32, maxite: ::core::ffi::c_int, eps: f32, mu: *mut f32, x: *mut f32) -> cusolverStatus_t;
}
cusolverSpScsreigvsi(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
}
pub unsafe fn cusolverSpScsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f32, x0: *const f32, maxite: ::core::ffi::c_int, tol: f32, mu: *mut f32, x: *mut f32) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, f32, *const f32, ::core::ffi::c_int, f32, *mut f32, *mut f32) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsreigvsiHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: f32, x0: *const f32, maxite: ::core::ffi::c_int, tol: f32, mu: *mut f32, x: *mut f32) -> cusolverStatus_t;
}
cusolverSpScsreigvsiHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
}
pub unsafe fn cusolverSpScsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, rankA: *mut ::core::ffi::c_int, x: *mut f32, p: *mut ::core::ffi::c_int, min_norm: *mut f32) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, *mut ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int, *mut f32) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsqvqrHost") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, rankA: *mut ::core::ffi::c_int, x: *mut f32, p: *mut ::core::ffi::c_int, min_norm: *mut f32) -> cusolverStatus_t;
}
cusolverSpScsrlsqvqrHost(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
}
pub unsafe fn cusolverSpScsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsvchol") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrlsvchol(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpScsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsvcholHost") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrlsvcholHost(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpScsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsvluHost") });
_f(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrlsvluHost(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpScsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsvqr") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrlsvqr(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpScsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, f32, ::core::ffi::c_int, *mut f32, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrlsvqrHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, tol: f32, reorder: ::core::ffi::c_int, x: *mut f32, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrlsvqrHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpScsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int, csrqrInfo_t, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrqrBufferInfoBatched") });
_f(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const f32, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverSpScsrqrBufferInfoBatched(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
}
pub unsafe fn cusolverSpScsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, x: *mut f32, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const f32, *mut f32, ::core::ffi::c_int, csrqrInfo_t, *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrqrsvBatched") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const f32, x: *mut f32, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverSpScsrqrsvBatched(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
}
pub unsafe fn cusolverSpScsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const f32, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpScsrzfdHost") });
_f(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpScsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const f32, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpScsrzfdHost(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
}
pub unsafe fn cusolverSpSetStream(handle: cusolverSpHandle_t, streamId: cudaStream_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, cudaStream_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpSetStream") });
_f(handle, streamId)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpSetStream(handle: cusolverSpHandle_t, streamId: cudaStream_t) -> cusolverStatus_t;
}
cusolverSpSetStream(handle, streamId)
}
}
pub unsafe fn cusolverSpXcsrissymHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrEndPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, issym: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrissymHost") });
_f(handle, m, nnzA, descrA, csrRowPtrA, csrEndPtrA, csrColIndA, issym)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrissymHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrEndPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, issym: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpXcsrissymHost(handle, m, nnzA, descrA, csrRowPtrA, csrEndPtrA, csrColIndA, issym)
}
}
pub unsafe fn cusolverSpXcsrmetisndHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, options: *const i64, p: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const i64, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrmetisndHost") });
_f(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, options, p)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrmetisndHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, options: *const i64, p: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpXcsrmetisndHost(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, options, p)
}
}
pub unsafe fn cusolverSpXcsrpermHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, p: *const ::core::ffi::c_int, q: *const ::core::ffi::c_int, map: *mut ::core::ffi::c_int, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrpermHost") });
_f(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, p, q, map, pBuffer)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrpermHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *mut ::core::ffi::c_int, csrColIndA: *mut ::core::ffi::c_int, p: *const ::core::ffi::c_int, q: *const ::core::ffi::c_int, map: *mut ::core::ffi::c_int, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverSpXcsrpermHost(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, p, q, map, pBuffer)
}
}
pub unsafe fn cusolverSpXcsrperm_bufferSizeHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *const ::core::ffi::c_int, q: *const ::core::ffi::c_int, bufferSizeInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrperm_bufferSizeHost") });
_f(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, p, q, bufferSizeInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrperm_bufferSizeHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *const ::core::ffi::c_int, q: *const ::core::ffi::c_int, bufferSizeInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverSpXcsrperm_bufferSizeHost(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, p, q, bufferSizeInBytes)
}
}
pub unsafe fn cusolverSpXcsrqrAnalysisBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, info: csrqrInfo_t) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, csrqrInfo_t) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrqrAnalysisBatched") });
_f(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, info)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrqrAnalysisBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, info: csrqrInfo_t) -> cusolverStatus_t;
}
cusolverSpXcsrqrAnalysisBatched(handle, m, n, nnzA, descrA, csrRowPtrA, csrColIndA, info)
}
}
pub unsafe fn cusolverSpXcsrsymamdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrsymamdHost") });
_f(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrsymamdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpXcsrsymamdHost(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
}
pub unsafe fn cusolverSpXcsrsymmdqHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrsymmdqHost") });
_f(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrsymmdqHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpXcsrsymmdqHost(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
}
pub unsafe fn cusolverSpXcsrsymrcmHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpXcsrsymrcmHost") });
_f(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpXcsrsymrcmHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, p: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpXcsrsymrcmHost(handle, n, nnzA, descrA, csrRowPtrA, csrColIndA, p)
}
}
pub unsafe fn cusolverSpZcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuDoubleComplex, right_upper_corner: cuDoubleComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuDoubleComplex, cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsreigsHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsreigsHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, left_bottom_corner: cuDoubleComplex, right_upper_corner: cuDoubleComplex, num_eigs: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsreigsHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, left_bottom_corner, right_upper_corner, num_eigs)
}
}
pub unsafe fn cusolverSpZcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuDoubleComplex, x0: *const cuDoubleComplex, maxite: ::core::ffi::c_int, eps: f64, mu: *mut cuDoubleComplex, x: *mut cuDoubleComplex) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuDoubleComplex, *const cuDoubleComplex, ::core::ffi::c_int, f64, *mut cuDoubleComplex, *mut cuDoubleComplex) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsreigvsi") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsreigvsi(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuDoubleComplex, x0: *const cuDoubleComplex, maxite: ::core::ffi::c_int, eps: f64, mu: *mut cuDoubleComplex, x: *mut cuDoubleComplex) -> cusolverStatus_t;
}
cusolverSpZcsreigvsi(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, eps, mu, x)
}
}
pub unsafe fn cusolverSpZcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuDoubleComplex, x0: *const cuDoubleComplex, maxite: ::core::ffi::c_int, tol: f64, mu: *mut cuDoubleComplex, x: *mut cuDoubleComplex) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, cuDoubleComplex, *const cuDoubleComplex, ::core::ffi::c_int, f64, *mut cuDoubleComplex, *mut cuDoubleComplex) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsreigvsiHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsreigvsiHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, mu0: cuDoubleComplex, x0: *const cuDoubleComplex, maxite: ::core::ffi::c_int, tol: f64, mu: *mut cuDoubleComplex, x: *mut cuDoubleComplex) -> cusolverStatus_t;
}
cusolverSpZcsreigvsiHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, mu0, x0, maxite, tol, mu, x)
}
}
pub unsafe fn cusolverSpZcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, rankA: *mut ::core::ffi::c_int, x: *mut cuDoubleComplex, p: *mut ::core::ffi::c_int, min_norm: *mut f64) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, *mut ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int, *mut f64) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsqvqrHost") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsqvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, rankA: *mut ::core::ffi::c_int, x: *mut cuDoubleComplex, p: *mut ::core::ffi::c_int, min_norm: *mut f64) -> cusolverStatus_t;
}
cusolverSpZcsrlsqvqrHost(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, rankA, x, p, min_norm)
}
}
pub unsafe fn cusolverSpZcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsvchol") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsvchol(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrlsvchol(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpZcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsvcholHost") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsvcholHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrlsvcholHost(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpZcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsvluHost") });
_f(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsvluHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnzA: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrlsvluHost(handle, n, nnzA, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpZcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsvqr") });
_f(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsvqr(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrlsvqr(handle, m, nnz, descrA, csrVal, csrRowPtr, csrColInd, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpZcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, f64, ::core::ffi::c_int, *mut cuDoubleComplex, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrlsvqrHost") });
_f(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrlsvqrHost(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, tol: f64, reorder: ::core::ffi::c_int, x: *mut cuDoubleComplex, singularity: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrlsvqrHost(handle, m, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, tol, reorder, x, singularity)
}
}
pub unsafe fn cusolverSpZcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, ::core::ffi::c_int, csrqrInfo_t, *mut usize, *mut usize) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrqrBufferInfoBatched") });
_f(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrqrBufferInfoBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrVal: *const cuDoubleComplex, csrRowPtr: *const ::core::ffi::c_int, csrColInd: *const ::core::ffi::c_int, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, internalDataInBytes: *mut usize, workspaceInBytes: *mut usize) -> cusolverStatus_t;
}
cusolverSpZcsrqrBufferInfoBatched(handle, m, n, nnz, descrA, csrVal, csrRowPtr, csrColInd, batchSize, info, internalDataInBytes, workspaceInBytes)
}
}
pub unsafe fn cusolverSpZcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, x: *mut cuDoubleComplex, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *const cuDoubleComplex, *mut cuDoubleComplex, ::core::ffi::c_int, csrqrInfo_t, *mut ::core::ffi::c_void) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrqrsvBatched") });
_f(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrqrsvBatched(handle: cusolverSpHandle_t, m: ::core::ffi::c_int, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, b: *const cuDoubleComplex, x: *mut cuDoubleComplex, batchSize: ::core::ffi::c_int, info: csrqrInfo_t, pBuffer: *mut ::core::ffi::c_void) -> cusolverStatus_t;
}
cusolverSpZcsrqrsvBatched(handle, m, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, b, x, batchSize, info, pBuffer)
}
}
pub unsafe fn cusolverSpZcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t {
#[cfg(feature = "dynamic-loading")]
{
type _F = unsafe extern "C" fn(cusolverSpHandle_t, ::core::ffi::c_int, ::core::ffi::c_int, cusparseMatDescr_t, *const cuDoubleComplex, *const ::core::ffi::c_int, *const ::core::ffi::c_int, *mut ::core::ffi::c_int, *mut ::core::ffi::c_int) -> cusolverStatus_t;
static _S: OnceLock<_F> = OnceLock::new();
let _f = _S.get_or_init(|| unsafe { load::<_F>("cusolverSpZcsrzfdHost") });
_f(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
#[cfg(not(feature = "dynamic-loading"))]
{
extern "C" {
fn cusolverSpZcsrzfdHost(handle: cusolverSpHandle_t, n: ::core::ffi::c_int, nnz: ::core::ffi::c_int, descrA: cusparseMatDescr_t, csrValA: *const cuDoubleComplex, csrRowPtrA: *const ::core::ffi::c_int, csrColIndA: *const ::core::ffi::c_int, P: *mut ::core::ffi::c_int, numnz: *mut ::core::ffi::c_int) -> cusolverStatus_t;
}
cusolverSpZcsrzfdHost(handle, n, nnz, descrA, csrValA, csrRowPtrA, csrColIndA, P, numnz)
}
}
#[cfg(feature = "dynamic-loading")]
pub unsafe fn is_culib_present() -> bool {
let lib_names = ["cusolver"];
let choices = lib_names.iter().map(|l| crate::get_lib_name_candidates(l)).flatten();
for choice in choices {
if ::libloading::Library::new(choice).is_ok() {
return true;
}
}
false
}
#[cfg(feature = "dynamic-loading")]
pub unsafe fn culib() -> &'static ::libloading::Library {
static LIB: OnceLock<::libloading::Library> = OnceLock::new();
LIB.get_or_init(|| {
let lib_names = std::vec!["cusolver"];
let choices: std::vec::Vec<_> = lib_names.iter().map(|l| crate::get_lib_name_candidates(l)).flatten().collect();
for choice in choices.iter() {
if let Ok(lib) = ::libloading::Library::new(choice) {
return lib;
}
}
crate::panic_no_lib_found(lib_names[0], &choices);
})
}