1pub const RSB_BOOL_TRUE: u32 = 1;
4pub const RSB_BOOL_FALSE: u32 = 0;
5pub const RSB_DEFAULT_ROW_BLOCKING: u32 = 1;
6pub const RSB_DEFAULT_COL_BLOCKING: u32 = 1;
7pub const RSB_DEFAULT_BLOCKING: u32 = 1;
8pub const RSB_CHAR_BIT: u32 = 8;
9pub const RSB_MIN_MATRIX_DIM: u32 = 0;
10pub const RSB_MIN_MATRIX_NNZ: u32 = 0;
11pub const RSB_NNZ_BLK_MAX: u32 = 255;
12pub const RSB_FLAG_NOFLAGS: u32 = 0;
13pub const RSB_FLAG_IDENTICAL_FLAGS: u32 = 0;
14pub const RSB_FLAG_FORTRAN_INDICES_INTERFACE: u32 = 1;
15pub const RSB_FLAG_C_INDICES_INTERFACE: u32 = 0;
16pub const RSB_FLAG_USE_HALFWORD_INDICES: u32 = 2;
17pub const RSB_FLAG_WANT_ROW_MAJOR_ORDER: u32 = 0;
18pub const RSB_FLAG_WANT_COLUMN_MAJOR_ORDER: u32 = 67108864;
19pub const RSB_FLAG_SORTED_INPUT: u32 = 4;
20pub const RSB_FLAG_TRIANGULAR: u32 = 8;
21pub const RSB_FLAG_LOWER: u32 = 16;
22pub const RSB_FLAG_UPPER: u32 = 32;
23pub const RSB_FLAG_UNIT_DIAG_IMPLICIT: u32 = 64;
24pub const RSB_FLAG_WANT_COO_STORAGE: u32 = 256;
25pub const RSB_FLAG_DUPLICATES_KEEP_LAST: u32 = 0;
26pub const RSB_FLAG_DUPLICATES_DEFAULT_HANDLE: u32 = 0;
27pub const RSB_FLAG_DUPLICATES_SUM: u32 = 512;
28pub const RSB_FLAG_DISCARD_ZEROS: u32 = 1024;
29pub const RSB_FLAG_QUAD_PARTITIONING: u32 = 8192;
30pub const RSB_FLAG_WANT_BCSS_STORAGE: u32 = 16384;
31pub const RSB_FLAG_ASSEMBLED_IN_COO_ARRAYS: u32 = 262144;
32pub const RSB_FLAG_EXPERIMENTAL_IN_PLACE_PERMUTATION_SORT: u32 = 524288;
33pub const RSB_FLAG_SYMMETRIC: u32 = 4194304;
34pub const RSB_FLAG_HERMITIAN: u32 = 8388608;
35pub const RSB_FLAG_RECURSIVE_MORE_LEAVES_THAN_THREADS: u32 = 16777216;
36pub const RSB_FLAG_LOWER_HERMITIAN: u32 = 8388624;
37pub const RSB_FLAG_UPPER_HERMITIAN: u32 = 8388640;
38pub const RSB_FLAG_LOWER_TRIANGULAR: u32 = 24;
39pub const RSB_FLAG_UPPER_TRIANGULAR: u32 = 40;
40pub const RSB_FLAG_LOWER_SYMMETRIC: u32 = 4194320;
41pub const RSB_FLAG_DIAGONAL: u32 = 48;
42pub const RSB_FLAG_UPPER_SYMMETRIC: u32 = 4194336;
43pub const RSB_FLAG_RECURSIVE_SUBDIVIDE_MORE_ON_DIAG: u32 = 134217728;
44pub const RSB_FLAG_EXTERNALLY_ALLOCATED_ARRAYS: u32 = 1073741824;
45pub const RSB_FLAG_USE_CSR_RESERVED: u32 = 2097152;
46pub const RSB_FLAG_USE_HALFWORD_INDICES_CSR: u32 = 2097154;
47pub const RSB_FLAG_USE_HALFWORD_INDICES_COO: u32 = 258;
48pub const RSB_FLAG_MUTUALLY_EXCLUSIVE_SWITCHES: u32 = 2097410;
49pub const RSB_PROGRAM_SUCCESS: u32 = 0;
50pub const RSB_PROGRAM_ERROR: u32 = 1;
51pub const RSB_IO_SPECIFIER_GET: u32 = 1;
52pub const RSB_IO_SPECIFIER_SET: u32 = 0;
53pub const RSB_MARF_RGB: u32 = 1;
54pub const RSB_MARF_EPS_S: u32 = 16;
55pub const RSB_MARF_EPS_B: u32 = 32;
56pub const RSB_MARF_EPS: u32 = 48;
57pub const RSB_MARF_EPS_L: u32 = 112;
58pub const RSB_PRECF_ILU0: u32 = 1;
59pub const RSB_LIBRSB_VER_STRING: &[u8; 6usize] = b"1.2.0\0";
60pub const RSB_HEADER_VERSION_STRING: &[u8; 60usize] =
61 b"librsb version 1.2.RSB_M4_WANT_LIBRSB_VER_PATCH9 - 20201204\0";
62pub const RSB_LIBRSB_VER_MAJOR: u32 = 1;
63pub const RSB_LIBRSB_VER_MINOR: u32 = 2;
64pub const RSB_LIBRSB_VER_PATCH: u32 = 0;
65pub const RSB_LIBRSB_VER: u32 = 10201;
66pub const RSB_LIBRSB_VER_DATE: u32 = 20201204;
67pub const RSB_HAVE_TYPE_DOUBLE: u32 = 1;
68pub const RSB_HAVE_TYPE_FLOAT: u32 = 1;
69pub const RSB_HAVE_TYPE_FLOAT_COMPLEX: u32 = 1;
70pub const RSB_HAVE_TYPE_DOUBLE_COMPLEX: u32 = 1;
71pub const RSB_DEFAULT_TYPE_STRING: &[u8; 7usize] = b"double\0";
72pub const RSB_DEFAULT_POSSIBLY_INTEGER_TYPE_STRING: &[u8; 7usize] = b"double\0";
73pub const RSB_TYPE_INDEX_DOUBLE: u32 = 0;
74pub const RSB_TYPE_INDEX_FLOAT: u32 = 1;
75pub const RSB_TYPE_INDEX_FLOAT_COMPLEX: u32 = 2;
76pub const RSB_TYPE_INDEX_DOUBLE_COMPLEX: u32 = 3;
77pub const RSB_HAVE_OPTYPE_SPMV_UAUA: u32 = 1;
78pub const RSB_HAVE_OPTYPE_SPMV_UAUZ: u32 = 1;
79pub const RSB_HAVE_OPTYPE_SPMV_UXUA: u32 = 1;
80pub const RSB_HAVE_OPTYPE_SPMV_UNUA: u32 = 1;
81pub const RSB_HAVE_OPTYPE_SPMV_SASA: u32 = 1;
82pub const RSB_HAVE_OPTYPE_SPSV_UXUA: u32 = 1;
83pub const RSB_HAVE_OPTYPE_SPMV_SXSA: u32 = 1;
84pub const RSB_HAVE_OPTYPE_SPSV_SXSX: u32 = 1;
85pub const RSB_HAVE_OPTYPE_INFTY_NORM: u32 = 1;
86pub const RSB_HAVE_OPTYPE_ROWSSUMS: u32 = 1;
87pub const RSB_HAVE_OPTYPE_SCALE: u32 = 1;
88pub const RSB_OPTYPE_INDEX_SPMV_UAUA: u32 = 0;
89pub const RSB_OPTYPE_INDEX_SPMV_UAUZ: u32 = 1;
90pub const RSB_OPTYPE_INDEX_SPMV_UXUA: u32 = 2;
91pub const RSB_OPTYPE_INDEX_SPMV_UNUA: u32 = 3;
92pub const RSB_OPTYPE_INDEX_SPMV_SASA: u32 = 4;
93pub const RSB_OPTYPE_INDEX_SPSV_UXUA: u32 = 5;
94pub const RSB_OPTYPE_INDEX_SPMV_SXSA: u32 = 6;
95pub const RSB_OPTYPE_INDEX_SPSV_SXSX: u32 = 7;
96pub const RSB_OPTYPE_INDEX_INFTY_NORM: u32 = 8;
97pub const RSB_OPTYPE_INDEX_ROWSSUMS: u32 = 9;
98pub const RSB_OPTYPE_INDEX_SCALE: u32 = 10;
99pub const RSB_OPTYPE_INDEX_MAT_STATS: u32 = 11;
100pub const RSB_COORDINATE_TYPE_C: u32 = 1;
101pub const RSB_COORDINATE_TYPE_H: u32 = 2;
102pub const RSB_TRANSPOSITION_N: u32 = 78;
103pub const RSB_TRANSPOSITION_T: u32 = 84;
104pub const RSB_TRANSPOSITION_C: u32 = 67;
105pub const RSB_TRANSPOSITION_INVALID: u32 = 63;
106pub const RSB_SYMMETRY_U: u32 = 0;
107pub const RSB_SYMMETRY_S: u32 = 4194304;
108pub const RSB_SYMMETRY_H: u32 = 8388608;
109pub const RSB_DIAGONAL_E: u32 = 1;
110pub const RSB_DIAGONAL_I: u32 = 2;
111pub const RSB_MATRIX_STORAGE_BCOR: u32 = 64;
112pub const RSB_MATRIX_STORAGE_BCSR: u32 = 1;
113pub const RSB_MATRIX_STORAGE_BCOR_STRING: &[u8; 5usize] = b"BCOR\0";
114pub const RSB_MATRIX_STORAGE_BCSR_STRING: &[u8; 5usize] = b"BCSR\0";
115pub const RSB_NUMERICAL_TYPE_SAME_TYPE: u32 = 1;
116pub const RSB_NUMERICAL_TYPE_DOUBLE: u8 = 68u8;
117pub const RSB_NUMERICAL_TYPE_FLOAT: u8 = 83u8;
118pub const RSB_NUMERICAL_TYPE_FLOAT_COMPLEX: u8 = 67u8;
119pub const RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX: u8 = 90u8;
120pub const RSB_NUMERICAL_TYPE_FORTRAN_SAME_TYPE: u32 = 1;
121pub const RSB_NUMERICAL_TYPE_DEFAULT: u8 = 68u8;
122pub const RSB_NUMERICAL_TYPE_DEFAULT_INTEGER: u8 = 68u8;
123pub const RSB_NUMERICAL_TYPE_INVALID_TYPE: u8 = 63u8;
124pub const RSB_NUMERICAL_TYPE_FIRST_BLAS: u8 = 83u8;
125pub const RSB_CONST_MAX_TUNING_ROUNDS: u32 = 16;
126pub const RSB_NUMERICAL_TYPE_PREPROCESSOR_SYMBOLS: &[u8; 9usize] = b"D S C Z \0";
127pub const RSB_NUMERICAL_TYPE_PATTERN: u32 = 0;
128pub const RSB_MATRIX_STORAGE_DOUBLE_PRINTF_STRING: &[u8; 6usize] = b"%.17g\0";
129pub const RSB_MATRIX_STORAGE_FLOAT_PRINTF_STRING: &[u8; 5usize] = b"%.9g\0";
130pub const RSB_MATRIX_STORAGE_FLOAT_COMPLEX_PRINTF_STRING: &[u8; 10usize] = b"%.9g %.9g\0";
131pub const RSB_MATRIX_STORAGE_DOUBLE_COMPLEX_PRINTF_STRING: &[u8; 12usize] = b"%.17g %.17g\0";
132pub const RSB_TRANSPOSITIONS_PREPROCESSOR_SYMBOLS: &[u8; 7usize] = b"n t c \0";
133pub const RSB_MAXIMAL_CONFIGURED_BLOCK_SIZE: u32 = 1;
134pub const RSB_MAXIMAL_CONFIGURED_BLOCK_SIZE_EXTRA: u32 = 0;
135pub const RSB_CONST_MATRIX_IMPLEMENTATION_CODE_STRING_MAX_LENGTH: u32 = 2048;
136pub const RSB_ROWS_UNROLL_ARRAY_LENGTH: u32 = 1;
137pub const RSB_COLUMNS_UNROLL_ARRAY_LENGTH: u32 = 1;
138pub const RSB_IMPLEMENTED_META_MOPS: u32 = 12;
139pub const RSB_IMPLEMENTED_MOPS: u32 = 11;
140pub const RSB_IMPLEMENTED_TYPES: u32 = 4;
141pub const RSB_IMPLEMENTED_SOME_BLAS_TYPES: u32 = 1;
142pub const RSB_M4_MATRIX_META_OPS_STRING : & [u8 ; 106usize] = b"spmv_uaua,spmv_uauz,spmv_uxua,spmv_unua,spmv_sasa,spsv_uxua,spmv_sxsa,spsv_sxsx,infty_norm,rowssums,scale\0" ;
143pub const RSB_M4_MATRIX_TYPES_STRING: &[u8; 42usize] =
144 b"double,float,float complex,double complex\0";
145pub const RSB_M4_WANT_COLUMN_UNLOOP_FACTORS_STRING: &[u8; 2usize] = b"1\0";
146pub const RSB_M4_WANT_ROW_UNLOOP_FACTORS_STRING: &[u8; 2usize] = b"1\0";
147pub const RSB_CC: &[u8; 4usize] = b"gcc\0";
148pub const RSB_CFLAGS: &[u8; 31usize] = b"-fPIC -g -O3 -fopenmp -std=c99\0";
149pub const RSB_COPYRIGHT_STRING: &[u8; 40usize] = b"Copyright (c) 2008-2021 Michele Martone\0";
150pub const RSB_HAVE_ASSERT_H: u32 = 1;
151pub const RSB_HAVE_COMPLEX_H: u32 = 1;
152pub const RSB_HAVE_CTYPE_H: u32 = 1;
153pub const RSB_HAVE_DLFCN_H: u32 = 1;
154pub const RSB_HAVE_DUP: u32 = 1;
155pub const RSB_HAVE_FILENO: u32 = 1;
156pub const RSB_HAVE_FREAD: u32 = 1;
157pub const RSB_HAVE_FWRITE: u32 = 1;
158pub const RSB_HAVE_GETENV: u32 = 1;
159pub const RSB_HAVE_GETHOSTNAME: u32 = 1;
160pub const RSB_HAVE_GETOPT_H: u32 = 1;
161pub const RSB_HAVE_GETOPT_LONG: u32 = 1;
162pub const RSB_HAVE_GETTIMEOFDAY: u32 = 1;
163pub const RSB_HAVE_GSL_GSL_SORT_H: u32 = 1;
164pub const RSB_HAVE_HWLOC_H: u32 = 1;
165pub const RSB_HAVE_INTTYPES_H: u32 = 1;
166pub const RSB_HAVE_ISATTY: u32 = 1;
167pub const RSB_HAVE_LIBGEN_H: u32 = 1;
168pub const RSB_HAVE_LIMITS_H: u32 = 1;
169pub const RSB_HAVE_MALLOC_H: u32 = 1;
170pub const RSB_HAVE_MATH_H: u32 = 1;
171pub const RSB_HAVE_MEMALIGN: u32 = 1;
172pub const RSB_HAVE_MEMORY_H: u32 = 1;
173pub const RSB_HAVE_MEMSET: u32 = 1;
174pub const RSB_HAVE_MLOCKALL: u32 = 1;
175pub const RSB_HAVE_OMP_H: u32 = 1;
176pub const RSB_HAVE_POSIX_MEMALIGN: u32 = 1;
177pub const RSB_HAVE_PTHREAD_H: u32 = 1;
178pub const RSB_HAVE_RAND: u32 = 1;
179pub const RSB_HAVE_REGEX_H: u32 = 1;
180pub const RSB_HAVE_SCHED_GETAFFINITY: u32 = 1;
181pub const RSB_HAVE_SCHED_H: u32 = 1;
182pub const RSB_HAVE_SETENV: u32 = 1;
183pub const RSB_HAVE_SIGNAL_H: u32 = 1;
184pub const RSB_HAVE_STDARG_H: u32 = 1;
185pub const RSB_HAVE_STDINT_H: u32 = 1;
186pub const RSB_HAVE_STDIO_H: u32 = 1;
187pub const RSB_HAVE_STDLIB_H: u32 = 1;
188pub const RSB_HAVE_STRINGS_H: u32 = 1;
189pub const RSB_HAVE_STRING_H: u32 = 1;
190pub const RSB_HAVE_STRNCMP: u32 = 1;
191pub const RSB_HAVE_SYSCONF: u32 = 1;
192pub const RSB_HAVE_SYS_MMAN_H: u32 = 1;
193pub const RSB_HAVE_SYS_RESOURCE_H: u32 = 1;
194pub const RSB_HAVE_SYS_STAT_H: u32 = 1;
195pub const RSB_HAVE_SYS_TYPES_H: u32 = 1;
196pub const RSB_HAVE_SYS_UTSNAME_H: u32 = 1;
197pub const RSB_HAVE_TIMES: u32 = 1;
198pub const RSB_HAVE_TIME_H: u32 = 1;
199pub const RSB_HAVE_UNISTD_H: u32 = 1;
200pub const RSB_HAVE_VPRINTF: u32 = 1;
201pub const RSB_HAVE_ZLIB_H: u32 = 1;
202pub const RSB_LT_OBJDIR: &[u8; 7usize] = b".libs/\0";
203pub const RSB_PACKAGE: &[u8; 7usize] = b"librsb\0";
204pub const RSB_PACKAGE_BUGREPORT: &[u8; 48usize] =
205 b"michelemartone_AT_users_DOT_sourceforge_DOT_net\0";
206pub const RSB_PACKAGE_NAME: &[u8; 7usize] = b"librsb\0";
207pub const RSB_PACKAGE_STRING: &[u8; 16usize] = b"librsb 1.2.0.10\0";
208pub const RSB_PACKAGE_TARNAME: &[u8; 7usize] = b"librsb\0";
209pub const RSB_PACKAGE_URL: &[u8; 1usize] = b"\0";
210pub const RSB_PACKAGE_VERSION: &[u8; 9usize] = b"1.2.0.10\0";
211pub const RSB_BLOCK_SMALL_INDICES: u32 = 1;
212pub const RSB_CONST_MAX_SUPPORTED_THREADS: u32 = 160;
213pub const RSB_DETECTED_MEM_HIERARCHY_INFO: &[u8; 41usize] =
214 b"L3:16/64/12288K,L2:4/64/256K,L1:8/64/32K\0";
215pub const RSB_DISABLE_ALLOCATOR_WRAPPER: u32 = 1;
216pub const RSB_INT_ERR_VERBOSITY: u32 = 0;
217pub const RSB_OUT_ERR_VERBOSITY: u32 = 0;
218pub const RSB_SORT_IN_PLACE: u32 = 0;
219pub const RSB_USER_SET_MEM_HIERARCHY_INFO: &[u8; 1usize] = b"\0";
220pub const RSB_WANT_ACTION_SIGNAL: u32 = 1;
221pub const RSB_WANT_ALLOCATOR_LIMITS: u32 = 0;
222pub const RSB_WANT_DMALLOC: u32 = 0;
223pub const RSB_WANT_DOUBLE_ALIGNED: u32 = 1;
224pub const RSB_WANT_IO_LEVEL: u32 = 7;
225pub const RSB_WANT_KERNELS_DEBUG: u32 = 1;
226pub const RSB_WANT_MKL: u32 = 0;
227pub const RSB_WANT_OMPIO_SUPPORT: u32 = 0;
228pub const RSB_WANT_OMP_RECURSIVE_KERNELS: u32 = 1;
229pub const RSB_WANT_SPARSE_BLAS_LEVEL_1: u32 = 1;
230pub const RSB_WANT_VERBOSE_MESSAGES: u32 = 0;
231pub const RSB_WANT_XDR_SUPPORT: u32 = 0;
232pub const RSB_WANT_ZLIB_SUPPORT: u32 = 0;
233pub const RSB_WITH_HWLOC: u32 = 0;
234pub const RSB_WITH_LIKWID: u32 = 0;
235pub const RSB_WITH_SPARSE_BLAS_INTERFACE: u32 = 1;
236pub const RSB_SIZEOF_CHAR: u32 = 1;
237pub const RSB_SIZEOF_COMPLEX: u32 = 0;
238pub const RSB_SIZEOF_DOUBLE: u32 = 8;
239pub const RSB_SIZEOF_DOUBLE_COMPLEX: u32 = 0;
240pub const RSB_SIZEOF_FLOAT: u32 = 4;
241pub const RSB_SIZEOF_FLOAT_COMPLEX: u32 = 0;
242pub const RSB_SIZEOF_INT: u32 = 4;
243pub const RSB_SIZEOF_LONG: u32 = 8;
244pub const RSB_SIZEOF_LONG_DOUBLE: u32 = 16;
245pub const RSB_SIZEOF_LONG_INT: u32 = 8;
246pub const RSB_SIZEOF_LONG_LONG_INT: u32 = 8;
247pub const RSB_SIZEOF_SHORT_INT: u32 = 2;
248pub const RSB_SIZEOF_SIZE_T: u32 = 8;
249pub const RSB_SIZEOF_VOID_P: u32 = 8;
250pub const RSB_STDC_HEADERS: u32 = 1;
251pub const RSB_SVN_REVISION: &[u8; 22usize] = b"Unversioned directory\0";
252pub const RSB_VERSION: &[u8; 9usize] = b"1.2.0.10\0";
253pub type size_t = ::std::os::raw::c_ulong;
254#[doc = "\\name Type definitions"]
255#[doc = "\\anchor definitions_section"]
256#[doc = ""]
257#[doc = "These are definitions of \\librsb base types."]
258#[doc = " The block arrays index type."]
259#[doc = ""]
260#[doc = " Could be an unsigned type."]
261#[doc = " Should not overflow when indexing matrix blocks by block coordinates."]
262pub type rsb_blk_idx_t = ::std::os::raw::c_int;
263#[doc = " The coordinate arrays index type."]
264#[doc = ""]
265#[doc = " Should not overflow when indexing matrix elements by coordinates."]
266#[doc = " Legal values when specifying a matrix size should be within #RSB_MIN_MATRIX_DIM and #RSB_MAX_MATRIX_DIM"]
267pub type rsb_coo_idx_t = ::std::os::raw::c_int;
268#[doc = " The nnz counter index type."]
269#[doc = ""]
270#[doc = " Should not overflow when indexing matrix elements."]
271#[doc = " On most common archs sizeof(long)>=sizeof(int)."]
272#[doc = " Legal values when specifying a matrix size should be within #RSB_MIN_MATRIX_NNZ and #RSB_MAX_MATRIX_NNZ"]
273pub type rsb_nnz_idx_t = ::std::os::raw::c_int;
274#[doc = "A type for specifying matrix assembly or coordinate conversions option flags."]
275#[doc = "Should be >= 4 bytes."]
276#[doc = "See \\ref flags_section for possible values."]
277pub type rsb_flags_t = ::std::os::raw::c_int;
278#[doc = "A type for specifying numerical type codes (See \\ref matrix_type_symbols_section for a list of valid values)."]
279#[repr(transparent)]
280#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
281pub struct rsb_type_t(pub ::std::os::raw::c_char);
282#[doc = "A type specific for error flags."]
283#[doc = "Should be >= 4 bytes."]
284#[doc = ""]
285#[doc = "A textual description of an error value may be obtained via #rsb_strerror_r() or #rsb_perror()."]
286#[repr(transparent)]
287#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
288pub struct rsb_err_t(pub ::std::os::raw::c_int);
289#[doc = "An integer type declaration for interface functions."]
290#[doc = "Should always be 'int'."]
291pub type rsb_int_t = ::std::os::raw::c_int;
292#[doc = " A boolean type."]
293pub type rsb_bool_t = rsb_flags_t;
294#[doc = " The type for specifying transposition (See \\ref matrix_transposition_flags_section)"]
295#[repr(transparent)]
296#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
297pub struct rsb_trans_t(pub rsb_flags_t);
298#[doc = " A floating point numerical type."]
299pub type rsb_real_t = f64;
300#[doc = "A type for character strings."]
301pub type rsb_char_t = ::std::os::raw::c_char;
302#[doc = " A floating point numerical type for time measurements with #rsb_time()."]
303pub type rsb_time_t = rsb_real_t;
304extern "C" {
305 pub fn rsb_strerror_r(errval: rsb_err_t, buf: *mut rsb_char_t, buflen: size_t) -> rsb_err_t;
306}
307extern "C" {
308 pub fn rsb_perror(stream: *mut ::std::os::raw::c_void, errval: rsb_err_t) -> rsb_err_t;
309}
310#[repr(u32)]
311#[doc = " \\ingroup rsb_doc_misc rsb_doc_rsb"]
312#[doc = "\\brief library option values for \\see_lib_init_funcs."]
313#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
314pub enum rsb_opt_t {
315 #[doc = " #RSB_IO_WANT_VERBOSE_INIT prompts for a verbose initialization of the library: messages will be written"]
316 #[doc = " to the file descriptor (\\c FILE*) pointed by the value pointer when calling \\ref rsb_lib_init."]
317 RSB_IO_WANT_VERBOSE_INIT = 1,
318 #[doc = " #RSB_IO_WANT_VERBOSE_EXIT prompts for a verbose finalization of the library: messages will be written"]
319 #[doc = " to the file descriptor (\\c FILE*) pointed by the value pointer when calling \\ref rsb_lib_exit."]
320 RSB_IO_WANT_VERBOSE_EXIT = 2,
321 #[doc = " Specifies the default output stream. Output (debug info) info will be written"]
322 #[doc = " to the file descriptor (\\c FILE*) pointed by the value pointer."]
323 RSB_IO_WANT_OUTPUT_STREAM = 3,
324 #[doc = " Specifies the default sorting method. Specified as a pointed integer (#rsb_int_t) number, in {[0],1}. (internal)"]
325 RSB_IO_WANT_SORT_METHOD = 4,
326 #[doc = " Specifies the default cache blocking method. Specified as a pointed integer (#rsb_int_t) number, in {-1,[0],1}. (internal)"]
327 RSB_IO_WANT_CACHE_BLOCKING_METHOD = 5,
328 #[doc = " Specifies a multiplier for finer (if >1.0) or coarser (if <1.0) subdivisions. Specified as a pointed (#rsb_real_t) number, in {..,[1.0],..}. (internal)"]
329 RSB_IO_WANT_SUBDIVISION_MULTIPLIER = 6,
330 #[doc = " Prompts for a verbose error reporting: messages will be written"]
331 #[doc = " to the file descriptor (\\c FILE*) pointed by the value pointer. Only meaningful if an"]
332 #[doc = " interface error verbosity greater than 0 was set at configure time."]
333 RSB_IO_WANT_VERBOSE_ERRORS = 7,
334 #[doc = " Prompts for bounded box computation, for a smoother submatrices locking; pointed #rsb_int_t in {0,[1]}. (internal)."]
335 RSB_IO_WANT_BOUNDED_BOX_COMPUTATION = 8,
336 #[doc = " Specifies the number of desired executing threads; pointed #rsb_int_t in {[0],1,..}."]
337 RSB_IO_WANT_EXECUTING_THREADS = 9,
338 #[doc = " Specifies the level of interface verbosity; if setting, pointed #rsb_int_t values should be in {[0],1,..}. Support may be enabled or disabled at build time via the \\c --enable-internals-error-verbosity configure option. If disabled, only getting is supported and yields -1, but setting is not supported and the #RSB_ERR_NO_STREAM_OUTPUT_CONFIGURED_OUT error will be returned."]
339 RSB_IO_WANT_EXTRA_VERBOSE_INTERFACE = 16,
340 #[doc = " Specifies a custom memory hierarchy info string; pointed \\c const #rsb_char_t*; (may point to a NULL string pointer)."]
341 RSB_IO_WANT_MEMORY_HIERARCHY_INFO_STRING = 17,
342 #[doc = " Used for getting whether the library has been initialized (#RSB_BOOL_TRUE) or not (#RSB_BOOL_FALSE) ; pointed \\c const #rsb_bool_t*; (this is NOT for general users)."]
343 RSB_IO_WANT_IS_INITIALIZED_MARKER = 18,
344 #[doc = " Used for getting the count of memory allocations performed by librsb employing librsb's memory allocation wrapper (if disabled, will return zero); pointed \\c const \\c size_t*; (this is for debugging purposes)."]
345 RSB_IO_WANT_MEM_ALLOC_CNT = 19,
346 #[doc = " Used for getting the total amount of memory allocated by librsb employing librsb's memory allocation wrapper (if disabled, will return zero); pointed \\c const \\c size_t*; (this is for debugging purposes)."]
347 RSB_IO_WANT_MEM_ALLOC_TOT = 20,
348 #[doc = " Specifies whether the default multi-vector ops shall act at a leaf level (default value of 0 is yes). Specified as a pointed integer (#rsb_int_t) number, in {-1,[0]}. (internal)"]
349 RSB_IO_WANT_LEAF_LEVEL_MULTIVEC = 21,
350 #[doc = " Specifies an upper limit to the count of allocated memory areas (default value of 0 means no limit). Specified as a pointed \\c size_t. \\rsb_configure_memwrap"]
351 RSB_IO_WANT_MAX_MEMORY_ALLOCATIONS = 22,
352 #[doc = " Specifies an upper limit to the amount of allocated memory (default value of 0 means no limit). Specified as a pointed \\c size_t. \\rsb_configure_memwrap"]
353 RSB_IO_WANT_MAX_MEMORY_ALLOCATED = 23,
354 #[doc = " Represents time spent in librsb. Specified as a pointed #rsb_time_t. Only works if statistics collection (\\c --enable-librsb-stats) was specified at configure time."]
355 RSB_IO_WANT_LIBRSB_ETIME = 24,
356 #[doc = " Auto tuning verbosity level for rsb_tune_spmm/rsb_tune_spsm. If 0, no verbosity; if 1, verbose; if 2, verbose with trace files being dumped."]
357 RSB_IO_WANT_VERBOSE_TUNING = 25,
358}
359#[doc = " @brief A structure specifying library (initialization) options, to be used with the \\ref rsb_lib_reinit() function."]
360#[doc = " \\n"]
361#[doc = ""]
362#[doc = " The structure specifies, for \\c i=0,..,n_pairs-1 , a list of (key,value)"]
363#[doc = " pairs, stored respectively as (\\c keys[i],values[i])."]
364#[doc = " \\n"]
365#[doc = " Each flag specifies the type and possible range of values it accepts."]
366#[doc = " \\n"]
367#[doc = " The structure may he used to set or query various library parameters."]
368#[doc = ""]
369#[doc = " Example:"]
370#[doc = " \\code"]
371#[doc = "const int max_io=10; // the number of different options we want to set"]
372#[doc = "struct rsb_initopts io={NULL,NULL,0,RSB_IO_SPECIFIER_SET},"]
373#[doc = "iop=&io; // pointer to the options structure"]
374#[doc = "void * io_values[max_io]; // an array of pointers to max_io different option values (we shall set)"]
375#[doc = "enum rsb_opt_t io_keys[max_io]; // an array of max_io flag values specifying the type of values we are handing over to the library"]
376#[doc = "io.keys=io_keys; // io.keys will now point to io_keys as its keys array"]
377#[doc = "io.values=io_values; // io.values will now point to io_keys as its values array"]
378#[doc = "io.n_pairs=0; // we have 0 pairs specified so far"]
379#[doc = "io.keys[io.n_pairs]=RSB_IO_WANT_BOUNDED_BOX_COMPUTATION; // the first (at index 0) option we want to specify is RSB_IO_WANT_BOUNDED_BOX_COMPUTATION"]
380#[doc = "io.values[io.n_pairs]=1; // the value we want to set the RSB_IO_WANT_BOUNDED_BOX_COMPUTATION option to"]
381#[doc = "io.n_pairs++; // io.n_pairs is set to 1: we have one option set, so even if we have (max_io-io.n_pairs) left, only the first will be read"]
382#[doc = "... // we are free to specify other option (type, value) pairs"]
383#[doc = " \\endcode"]
384#[repr(C)]
385#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
386pub struct rsb_initopts {
387 #[doc = " An array of value types key flags."]
388 pub keys: *mut rsb_opt_t,
389 #[doc = " An array of value pointers, as specified by each flag value."]
390 pub values: *mut *mut ::std::os::raw::c_void,
391 #[doc = " The length of the \\c keys and \\c values arrays."]
392 pub n_pairs: rsb_int_t,
393 #[doc = " The action we are requesting (either one of #RSB_IO_SPECIFIER_GET or #RSB_IO_SPECIFIER_SET)"]
394 pub action: rsb_int_t,
395}
396#[test]
397fn bindgen_test_layout_rsb_initopts() {
398 assert_eq!(
399 ::std::mem::size_of::<rsb_initopts>(),
400 24usize,
401 concat!("Size of: ", stringify!(rsb_initopts))
402 );
403 assert_eq!(
404 ::std::mem::align_of::<rsb_initopts>(),
405 8usize,
406 concat!("Alignment of ", stringify!(rsb_initopts))
407 );
408 assert_eq!(
409 unsafe { &(*(::std::ptr::null::<rsb_initopts>())).keys as *const _ as usize },
410 0usize,
411 concat!(
412 "Offset of field: ",
413 stringify!(rsb_initopts),
414 "::",
415 stringify!(keys)
416 )
417 );
418 assert_eq!(
419 unsafe { &(*(::std::ptr::null::<rsb_initopts>())).values as *const _ as usize },
420 8usize,
421 concat!(
422 "Offset of field: ",
423 stringify!(rsb_initopts),
424 "::",
425 stringify!(values)
426 )
427 );
428 assert_eq!(
429 unsafe { &(*(::std::ptr::null::<rsb_initopts>())).n_pairs as *const _ as usize },
430 16usize,
431 concat!(
432 "Offset of field: ",
433 stringify!(rsb_initopts),
434 "::",
435 stringify!(n_pairs)
436 )
437 );
438 assert_eq!(
439 unsafe { &(*(::std::ptr::null::<rsb_initopts>())).action as *const _ as usize },
440 20usize,
441 concat!(
442 "Offset of field: ",
443 stringify!(rsb_initopts),
444 "::",
445 stringify!(action)
446 )
447 );
448}
449extern "C" {
450 pub fn rsb_lib_init(iop: *mut rsb_initopts) -> rsb_err_t;
451}
452extern "C" {
453 pub fn rsb_lib_reinit(iop: *mut rsb_initopts) -> rsb_err_t;
454}
455extern "C" {
456 pub fn rsb_lib_set_opt_str(opnp: *const rsb_char_t, opvp: *const rsb_char_t) -> rsb_err_t;
457}
458extern "C" {
459 pub fn rsb_lib_set_opt(iof: rsb_opt_t, iop: *const ::std::os::raw::c_void) -> rsb_err_t;
460}
461extern "C" {
462 pub fn rsb_lib_get_opt(iof: rsb_opt_t, iop: *mut ::std::os::raw::c_void) -> rsb_err_t;
463}
464extern "C" {
465 pub fn rsb_lib_exit(iop: *mut rsb_initopts) -> rsb_err_t;
466}
467#[repr(C)]
468#[derive(Debug, Copy, Clone)]
469pub struct rsb_mtx_t {
470 _unused: [u8; 0],
471}
472extern "C" {
473 pub fn rsb_mtx_alloc_from_coo_begin(
474 nnzA: rsb_nnz_idx_t,
475 typecode: rsb_type_t,
476 nrA: rsb_coo_idx_t,
477 ncA: rsb_coo_idx_t,
478 flagsA: rsb_flags_t,
479 errvalp: *mut rsb_err_t,
480 ) -> *mut rsb_mtx_t;
481}
482extern "C" {
483 pub fn rsb_mtx_alloc_from_coo_end(mtxApp: *mut *mut rsb_mtx_t) -> rsb_err_t;
484}
485extern "C" {
486 pub fn rsb_mtx_alloc_from_csr_const(
487 VA: *const ::std::os::raw::c_void,
488 RP: *const rsb_coo_idx_t,
489 JA: *const rsb_coo_idx_t,
490 nnzA: rsb_nnz_idx_t,
491 typecode: rsb_type_t,
492 nrA: rsb_coo_idx_t,
493 ncA: rsb_coo_idx_t,
494 brA: rsb_blk_idx_t,
495 bcA: rsb_blk_idx_t,
496 flagsA: rsb_flags_t,
497 errvalp: *mut rsb_err_t,
498 ) -> *mut rsb_mtx_t;
499}
500extern "C" {
501 pub fn rsb_mtx_alloc_from_csc_const(
502 VA: *const ::std::os::raw::c_void,
503 IA: *const rsb_coo_idx_t,
504 CP: *const rsb_coo_idx_t,
505 nnzA: rsb_nnz_idx_t,
506 typecode: rsb_type_t,
507 nrA: rsb_coo_idx_t,
508 ncA: rsb_coo_idx_t,
509 brA: rsb_blk_idx_t,
510 bcA: rsb_blk_idx_t,
511 flagsA: rsb_flags_t,
512 errvalp: *mut rsb_err_t,
513 ) -> *mut rsb_mtx_t;
514}
515extern "C" {
516 pub fn rsb_mtx_alloc_from_csr_inplace(
517 VA: *mut ::std::os::raw::c_void,
518 RP: *mut rsb_nnz_idx_t,
519 JA: *mut rsb_coo_idx_t,
520 nnzA: rsb_nnz_idx_t,
521 typecode: rsb_type_t,
522 nrA: rsb_coo_idx_t,
523 ncA: rsb_coo_idx_t,
524 brA: rsb_blk_idx_t,
525 bcA: rsb_blk_idx_t,
526 flagsA: rsb_flags_t,
527 errvalp: *mut rsb_err_t,
528 ) -> *mut rsb_mtx_t;
529}
530extern "C" {
531 pub fn rsb_mtx_alloc_from_coo_const(
532 VA: *const ::std::os::raw::c_void,
533 IA: *const rsb_coo_idx_t,
534 JA: *const rsb_coo_idx_t,
535 nnzA: rsb_nnz_idx_t,
536 typecode: rsb_type_t,
537 nrA: rsb_coo_idx_t,
538 ncA: rsb_coo_idx_t,
539 brA: rsb_blk_idx_t,
540 bcA: rsb_blk_idx_t,
541 flagsA: rsb_flags_t,
542 errvalp: *mut rsb_err_t,
543 ) -> *mut rsb_mtx_t;
544}
545extern "C" {
546 pub fn rsb_mtx_alloc_from_coo_inplace(
547 VA: *mut ::std::os::raw::c_void,
548 IA: *mut rsb_coo_idx_t,
549 JA: *mut rsb_coo_idx_t,
550 nnzA: rsb_nnz_idx_t,
551 typecode: rsb_type_t,
552 nrA: rsb_coo_idx_t,
553 ncA: rsb_coo_idx_t,
554 brA: rsb_blk_idx_t,
555 bcA: rsb_blk_idx_t,
556 flagsA: rsb_flags_t,
557 errvalp: *mut rsb_err_t,
558 ) -> *mut rsb_mtx_t;
559}
560extern "C" {
561 pub fn rsb_mtx_clone(
562 mtxBpp: *mut *mut rsb_mtx_t,
563 typecode: rsb_type_t,
564 transA: rsb_trans_t,
565 alphap: *const ::std::os::raw::c_void,
566 mtxAp: *const rsb_mtx_t,
567 flags: rsb_flags_t,
568 ) -> rsb_err_t;
569}
570extern "C" {
571 pub fn rsb_mtx_free(mtxAp: *mut rsb_mtx_t) -> *mut rsb_mtx_t;
572}
573#[repr(u32)]
574#[doc = " \\ingroup rsb_doc_misc rsb_doc_rsb"]
575#[doc = "\\brief Extraction filter flags, to be used with #rsb_mtx_get_nrm()/#rsb_mtx_get_vec()."]
576#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
577pub enum rsb_extff_t {
578 #[doc = "< #rsb_mtx_get_nrm() flag value for computing the one-norm."]
579 RSB_EXTF_NORM_ONE = 4097,
580 #[doc = "< #rsb_mtx_get_nrm() flag value for computing the two-norm (Frobenius norm)."]
581 RSB_EXTF_NORM_TWO = 4098,
582 #[doc = "< #rsb_mtx_get_nrm() flag value for computing the infinity-norm."]
583 RSB_EXTF_NORM_INF = 4099,
584 #[doc = "< #rsb_mtx_get_vec() flag value for computing the sum along each row."]
585 RSB_EXTF_SUMS_ROW = 4100,
586 #[doc = "< #rsb_mtx_get_vec() flag value for computing the sum along each column."]
587 RSB_EXTF_SUMS_COL = 4101,
588 #[doc = "< #rsb_mtx_get_vec() flag value for computing the absolute values sum, along each row."]
589 RSB_EXTF_ASUMS_ROW = 4102,
590 #[doc = "< #rsb_mtx_get_vec() flag value for computing the absolute values sum, along each column."]
591 RSB_EXTF_ASUMS_COL = 4103,
592 #[doc = "< #rsb_mtx_get_vec() flag value for extracting the diagonal submatrix."]
593 RSB_EXTF_DIAG = 4,
594}
595pub type rsb_marf_t = rsb_flags_t;
596extern "C" {
597 #[doc = "@}"]
598 pub fn rsb_mtx_get_nrm(
599 mtxAp: *const rsb_mtx_t,
600 Np: *mut ::std::os::raw::c_void,
601 flags: rsb_extff_t,
602 ) -> rsb_err_t;
603}
604extern "C" {
605 pub fn rsb_mtx_get_vec(
606 mtxAp: *const rsb_mtx_t,
607 Dp: *mut ::std::os::raw::c_void,
608 flags: rsb_extff_t,
609 ) -> rsb_err_t;
610}
611extern "C" {
612 pub fn rsb_mtx_rndr(
613 filename: *const rsb_char_t,
614 mtxAp: *const rsb_mtx_t,
615 pmWidth: rsb_coo_idx_t,
616 pmHeight: rsb_coo_idx_t,
617 rflags: rsb_marf_t,
618 ) -> rsb_err_t;
619}
620extern "C" {
621 pub fn rsb_file_mtx_rndr(
622 pmp: *mut ::std::os::raw::c_void,
623 filename: *const rsb_char_t,
624 pmlWidth: rsb_coo_idx_t,
625 pmWidth: rsb_coo_idx_t,
626 pmHeight: rsb_coo_idx_t,
627 rflags: rsb_marf_t,
628 ) -> rsb_err_t;
629}
630extern "C" {
631 pub fn rsb_spmv(
632 transA: rsb_trans_t,
633 alphap: *const ::std::os::raw::c_void,
634 mtxAp: *const rsb_mtx_t,
635 Xp: *const ::std::os::raw::c_void,
636 incX: rsb_coo_idx_t,
637 betap: *const ::std::os::raw::c_void,
638 Yp: *mut ::std::os::raw::c_void,
639 incY: rsb_coo_idx_t,
640 ) -> rsb_err_t;
641}
642extern "C" {
643 pub fn rsb_spmm(
644 transA: rsb_trans_t,
645 alphap: *const ::std::os::raw::c_void,
646 mtxAp: *const rsb_mtx_t,
647 nrhs: rsb_coo_idx_t,
648 order: rsb_flags_t,
649 Bp: *const ::std::os::raw::c_void,
650 ldB: rsb_nnz_idx_t,
651 betap: *const ::std::os::raw::c_void,
652 Cp: *mut ::std::os::raw::c_void,
653 ldC: rsb_nnz_idx_t,
654 ) -> rsb_err_t;
655}
656extern "C" {
657 pub fn rsb_spsv(
658 transT: rsb_trans_t,
659 alphap: *const ::std::os::raw::c_void,
660 mtxTp: *const rsb_mtx_t,
661 Xp: *const ::std::os::raw::c_void,
662 incX: rsb_coo_idx_t,
663 Yp: *mut ::std::os::raw::c_void,
664 incY: rsb_coo_idx_t,
665 ) -> rsb_err_t;
666}
667extern "C" {
668 pub fn rsb_spsm(
669 transT: rsb_trans_t,
670 alphap: *const ::std::os::raw::c_void,
671 mtxTp: *const rsb_mtx_t,
672 nrhs: rsb_coo_idx_t,
673 order: rsb_flags_t,
674 betap: *const ::std::os::raw::c_void,
675 Bp: *const ::std::os::raw::c_void,
676 ldB: rsb_nnz_idx_t,
677 Cp: *mut ::std::os::raw::c_void,
678 ldC: rsb_nnz_idx_t,
679 ) -> rsb_err_t;
680}
681extern "C" {
682 pub fn rsb_mtx_add_to_dense(
683 alphap: *const ::std::os::raw::c_void,
684 mtxAp: *const rsb_mtx_t,
685 ldB: rsb_nnz_idx_t,
686 nrB: rsb_nnz_idx_t,
687 ncB: rsb_nnz_idx_t,
688 rowmajorB: rsb_bool_t,
689 Bp: *mut ::std::os::raw::c_void,
690 ) -> rsb_err_t;
691}
692extern "C" {
693 pub fn rsb_sppsp(
694 typecode: rsb_type_t,
695 transA: rsb_trans_t,
696 alphap: *const ::std::os::raw::c_void,
697 mtxAp: *const rsb_mtx_t,
698 transB: rsb_trans_t,
699 betap: *const ::std::os::raw::c_void,
700 mtxBp: *const rsb_mtx_t,
701 errvalp: *mut rsb_err_t,
702 ) -> *mut rsb_mtx_t;
703}
704extern "C" {
705 pub fn rsb_spmsp(
706 typecode: rsb_type_t,
707 transA: rsb_trans_t,
708 alphap: *const ::std::os::raw::c_void,
709 mtxAp: *const rsb_mtx_t,
710 transB: rsb_trans_t,
711 betap: *const ::std::os::raw::c_void,
712 mtxBp: *const rsb_mtx_t,
713 errvalp: *mut rsb_err_t,
714 ) -> *mut rsb_mtx_t;
715}
716extern "C" {
717 pub fn rsb_spmsp_to_dense(
718 typecode: rsb_type_t,
719 transA: rsb_trans_t,
720 alphap: *const ::std::os::raw::c_void,
721 mtxAp: *const rsb_mtx_t,
722 transB: rsb_trans_t,
723 betap: *const ::std::os::raw::c_void,
724 mtxBp: *const rsb_mtx_t,
725 ldC: rsb_nnz_idx_t,
726 nrC: rsb_nnz_idx_t,
727 ncC: rsb_nnz_idx_t,
728 rowmajorC: rsb_bool_t,
729 Cp: *mut ::std::os::raw::c_void,
730 ) -> rsb_err_t;
731}
732extern "C" {
733 pub fn rsb_mtx_switch_to_coo(
734 mtxAp: *mut rsb_mtx_t,
735 VAp: *mut *mut ::std::os::raw::c_void,
736 IAp: *mut *mut rsb_coo_idx_t,
737 JAp: *mut *mut rsb_coo_idx_t,
738 flags: rsb_flags_t,
739 ) -> rsb_err_t;
740}
741extern "C" {
742 pub fn rsb_mtx_switch_to_csr(
743 mtxAp: *mut rsb_mtx_t,
744 VAp: *mut *mut ::std::os::raw::c_void,
745 IAp: *mut *mut rsb_coo_idx_t,
746 JAp: *mut *mut rsb_coo_idx_t,
747 flags: rsb_flags_t,
748 ) -> rsb_err_t;
749}
750extern "C" {
751 pub fn rsb_mtx_get_coo(
752 mtxAp: *const rsb_mtx_t,
753 VA: *mut ::std::os::raw::c_void,
754 IA: *mut rsb_coo_idx_t,
755 JA: *mut rsb_coo_idx_t,
756 flags: rsb_flags_t,
757 ) -> rsb_err_t;
758}
759extern "C" {
760 pub fn rsb_mtx_get_csr(
761 typecode: rsb_type_t,
762 mtxAp: *const rsb_mtx_t,
763 VA: *mut ::std::os::raw::c_void,
764 RP: *mut rsb_nnz_idx_t,
765 JA: *mut rsb_coo_idx_t,
766 flags: rsb_flags_t,
767 ) -> rsb_err_t;
768}
769extern "C" {
770 pub fn rsb_mtx_get_rows_sparse(
771 transA: rsb_trans_t,
772 alphap: *const ::std::os::raw::c_void,
773 mtxAp: *const rsb_mtx_t,
774 VA: *mut ::std::os::raw::c_void,
775 IA: *mut rsb_coo_idx_t,
776 JA: *mut rsb_coo_idx_t,
777 frA: rsb_coo_idx_t,
778 lrA: rsb_coo_idx_t,
779 rnzp: *mut rsb_nnz_idx_t,
780 flags: rsb_flags_t,
781 ) -> rsb_err_t;
782}
783extern "C" {
784 pub fn rsb_mtx_get_coo_block(
785 mtxAp: *const rsb_mtx_t,
786 VA: *mut ::std::os::raw::c_void,
787 IA: *mut rsb_coo_idx_t,
788 JA: *mut rsb_coo_idx_t,
789 frA: rsb_coo_idx_t,
790 lrA: rsb_coo_idx_t,
791 fcA: rsb_coo_idx_t,
792 lcA: rsb_coo_idx_t,
793 IREN: *const rsb_coo_idx_t,
794 JREN: *const rsb_coo_idx_t,
795 rnzp: *mut rsb_nnz_idx_t,
796 flags: rsb_flags_t,
797 ) -> rsb_err_t;
798}
799#[repr(u32)]
800#[doc = " \\ingroup rsb_doc_misc rsb_doc_rsb"]
801#[doc = "\\brief Flags for getting matrix information via #rsb_mtx_get_info()/#rsb_mtx_get_info_str()."]
802#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
803pub enum rsb_mif_t {
804 #[doc = "< Index storage occupation, in bytes. (size_t)"]
805 RSB_MIF_INDEX_STORAGE_IN_BYTES__TO__SIZE_T = 1,
806 #[doc = "< Index storage occupation per nnz, in bytes. (#rsb_real_t)"]
807 RSB_MIF_INDEX_STORAGE_IN_BYTES_PER_NNZ__TO__RSB_REAL_T = 2,
808 #[doc = "< Rows count(#rsb_coo_idx_t)"]
809 RSB_MIF_MATRIX_ROWS__TO__RSB_COO_INDEX_T = 4,
810 #[doc = "< Columns count (#rsb_coo_idx_t)"]
811 RSB_MIF_MATRIX_COLS__TO__RSB_COO_INDEX_T = 8,
812 #[doc = "< Nonzeroes count (#rsb_nnz_idx_t)"]
813 RSB_MIF_MATRIX_NNZ__TO__RSB_NNZ_INDEX_T = 16,
814 #[doc = "< Total size, in bytes (size_t)"]
815 RSB_MIF_TOTAL_SIZE__TO__SIZE_T = 32,
816 #[doc = "< Matrix flags (#rsb_flags_t)"]
817 RSB_MIF_MATRIX_FLAGS__TO__RSB_FLAGS_T = 64,
818 #[doc = "< Matrix type code (#rsb_type_t)"]
819 RSB_MIF_MATRIX_TYPECODE__TO__RSB_TYPE_T = 128,
820 #[doc = "< Matrix info string, only for #rsb_mtx_get_info_str() (#rsb_char_t*)"]
821 RSB_MIF_MATRIX_INFO__TO__CHAR_P = 256,
822 #[doc = "< Leaf submatrices count (#rsb_blk_idx_t)"]
823 RSB_MIF_LEAVES_COUNT__TO__RSB_BLK_INDEX_T = 512,
824}
825extern "C" {
826 pub fn rsb_mtx_get_info(
827 mtxAp: *const rsb_mtx_t,
828 miflags: rsb_mif_t,
829 minfop: *mut ::std::os::raw::c_void,
830 ) -> rsb_err_t;
831}
832extern "C" {
833 pub fn rsb_mtx_get_info_str(
834 mtxAp: *const rsb_mtx_t,
835 mis: *const rsb_char_t,
836 minfop: *mut ::std::os::raw::c_void,
837 buflen: size_t,
838 ) -> rsb_err_t;
839}
840#[repr(u32)]
841#[doc = " \\ingroup rsb_doc_misc rsb_doc_rsb"]
842#[doc = "\\brief Flags for specifying a particular elemental/row-wise operation with #rsb_mtx_upd_vals()."]
843#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
844pub enum rsb_elopf_t {
845 #[doc = "< Elemental multiplication of the matrix by a specified scalar (usable with #rsb_mtx_upd_vals(), binary operation)."]
846 RSB_ELOPF_MUL = 1,
847 #[doc = "< Elemental division by a specified scalar (usable with #rsb_mtx_upd_vals(), binary operation)."]
848 RSB_ELOPF_DIV = 2,
849 #[doc = "< Elemental power to a specified scalar (usable with #rsb_mtx_upd_vals(), binary operation)."]
850 RSB_ELOPF_POW = 4,
851 #[doc = "< Elemental negation (usable with #rsb_mtx_upd_vals(), unary operation)."]
852 RSB_ELOPF_NEG = 8,
853 #[doc = "< Row wise scaling by a specified scaling vector (usable with #rsb_mtx_upd_vals(), binary operation)."]
854 RSB_ELOPF_SCALE_ROWS = 16,
855 #[doc = "< Column wise scaling by a specified scaling vector (usable with #rsb_mtx_upd_vals(), binary operation)."]
856 RSB_ELOPF_SCALE_COLS = 32,
857 #[doc = "< Row wise scaling by a specified scaling vector. If matrix is of a complex type, the argument is expected to be of the corresponding real type (assumed that that type has been enabled). (usable with #rsb_mtx_upd_vals(), binary operation)."]
858 RSB_ELOPF_SCALE_ROWS_REAL = 64,
859 #[doc = "< Column wise scaling by a specified scaling vector. If matrix is of a complex type, the argument is expected to be of the corresponding real type (assumed that that type has been enabled). (usable with #rsb_mtx_upd_vals(), binary operation)."]
860 RSB_ELOPF_SCALE_COLS_REAL = 128,
861}
862extern "C" {
863 pub fn rsb_mtx_upd_vals(
864 mtxAp: *mut rsb_mtx_t,
865 elop_flags: rsb_elopf_t,
866 omegap: *const ::std::os::raw::c_void,
867 ) -> rsb_err_t;
868}
869pub type rsb_precf_t = rsb_flags_t;
870extern "C" {
871 pub fn rsb_mtx_get_prec(
872 opdp: *mut ::std::os::raw::c_void,
873 mtxAp: *const rsb_mtx_t,
874 prec_flags: rsb_precf_t,
875 ipdp: *const ::std::os::raw::c_void,
876 ) -> rsb_err_t;
877}
878extern "C" {
879 pub fn rsb_mtx_set_vals(
880 mtxAp: *mut rsb_mtx_t,
881 VA: *const ::std::os::raw::c_void,
882 IA: *const rsb_coo_idx_t,
883 JA: *const rsb_coo_idx_t,
884 nnz: rsb_nnz_idx_t,
885 flags: rsb_flags_t,
886 ) -> rsb_err_t;
887}
888extern "C" {
889 pub fn rsb_mtx_get_vals(
890 mtxAp: *const rsb_mtx_t,
891 VA: *mut ::std::os::raw::c_void,
892 IA: *const rsb_coo_idx_t,
893 JA: *const rsb_coo_idx_t,
894 nnz: rsb_nnz_idx_t,
895 flags: rsb_flags_t,
896 ) -> rsb_err_t;
897}
898extern "C" {
899 pub fn rsb_tune_spmm(
900 mtxOpp: *mut *mut rsb_mtx_t,
901 sfp: *mut rsb_real_t,
902 tnp: *mut rsb_int_t,
903 maxr: rsb_int_t,
904 maxt: rsb_time_t,
905 transA: rsb_trans_t,
906 alphap: *const ::std::os::raw::c_void,
907 mtxAp: *const rsb_mtx_t,
908 nrhs: rsb_coo_idx_t,
909 order: rsb_flags_t,
910 Bp: *const ::std::os::raw::c_void,
911 ldB: rsb_nnz_idx_t,
912 betap: *const ::std::os::raw::c_void,
913 Cp: *mut ::std::os::raw::c_void,
914 ldC: rsb_nnz_idx_t,
915 ) -> rsb_err_t;
916}
917extern "C" {
918 pub fn rsb_tune_spsm(
919 mtxOpp: *mut *mut rsb_mtx_t,
920 sfp: *mut rsb_real_t,
921 tnp: *mut rsb_int_t,
922 maxr: rsb_int_t,
923 maxt: rsb_time_t,
924 transA: rsb_trans_t,
925 alphap: *const ::std::os::raw::c_void,
926 mtxAp: *const rsb_mtx_t,
927 nrhs: rsb_coo_idx_t,
928 order: rsb_flags_t,
929 Bp: *const ::std::os::raw::c_void,
930 ldB: rsb_nnz_idx_t,
931 betap: *const ::std::os::raw::c_void,
932 Cp: *mut ::std::os::raw::c_void,
933 ldC: rsb_nnz_idx_t,
934 ) -> rsb_err_t;
935}
936extern "C" {
937 pub fn rsb_psblas_trans_to_rsb_trans(psbtrans: ::std::os::raw::c_char) -> rsb_trans_t;
938}
939extern "C" {
940 pub fn rsb_file_mtx_save(mtxAp: *const rsb_mtx_t, filename: *const rsb_char_t) -> rsb_err_t;
941}
942extern "C" {
943 pub fn rsb_file_mtx_load(
944 filename: *const rsb_char_t,
945 flagsA: rsb_flags_t,
946 typecode: rsb_type_t,
947 errvalp: *mut rsb_err_t,
948 ) -> *mut rsb_mtx_t;
949}
950extern "C" {
951 pub fn rsb_file_vec_load(
952 filename: *const rsb_char_t,
953 typecode: rsb_type_t,
954 Yp: *mut ::std::os::raw::c_void,
955 yvlp: *mut rsb_coo_idx_t,
956 ) -> rsb_err_t;
957}
958extern "C" {
959 pub fn rsb_file_vec_save(
960 filename: *const rsb_char_t,
961 typecode: rsb_type_t,
962 Yp: *const ::std::os::raw::c_void,
963 yvl: rsb_coo_idx_t,
964 ) -> rsb_err_t;
965}
966extern "C" {
967 pub fn rsb_file_mtx_get_dims(
968 filename: *const rsb_char_t,
969 nrp: *mut rsb_coo_idx_t,
970 ncp: *mut rsb_coo_idx_t,
971 nzp: *mut rsb_coo_idx_t,
972 flagsp: *mut rsb_flags_t,
973 ) -> rsb_err_t;
974}
975extern "C" {
976 pub fn rsb_coo_sort(
977 VA: *mut ::std::os::raw::c_void,
978 IA: *mut rsb_coo_idx_t,
979 JA: *mut rsb_coo_idx_t,
980 nnzA: rsb_nnz_idx_t,
981 nrA: rsb_coo_idx_t,
982 ncA: rsb_coo_idx_t,
983 typecode: rsb_type_t,
984 flagsA: rsb_flags_t,
985 ) -> rsb_err_t;
986}
987extern "C" {
988 pub fn rsb_time() -> rsb_time_t;
989}
990#[repr(u32)]
991#[doc = " Used to specify a dense array's elements layout."]
992#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
993pub enum blas_order_type {
994 #[doc = "< Row major."]
995 blas_rowmajor = 101,
996 #[doc = "< Column major."]
997 blas_colmajor = 102,
998}
999#[repr(u32)]
1000#[doc = " Used to specify a transposition operator to a matrix operand."]
1001#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1002pub enum blas_trans_type {
1003 #[doc = "< No transposition."]
1004 blas_no_trans = 111,
1005 #[doc = "< Transposition."]
1006 blas_trans = 112,
1007 #[doc = "< Transposition and conjugation."]
1008 blas_conj_trans = 113,
1009}
1010#[repr(u32)]
1011#[doc = " Specifies (#BLAS_ussp) or inquiries (#BLAS_usgp) upper or lower triangularity of a matrix."]
1012#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1013pub enum blas_uplo_type {
1014 #[doc = "< Upper triangular matrix."]
1015 blas_upper = 121,
1016 #[doc = "< Lower triangular matrix."]
1017 blas_lower = 122,
1018}
1019#[repr(u32)]
1020#[doc = " Specifies (#BLAS_ussp) or inquiries (#BLAS_usgp) whether the diagonal of a matrix is (implicitly) unitary or not."]
1021#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1022pub enum blas_diag_type {
1023 #[doc = "< Unit diagional matrix."]
1024 blas_non_unit_diag = 131,
1025 #[doc = "< Non unit diagional matrix (the default)."]
1026 blas_unit_diag = 132,
1027}
1028#[repr(u32)]
1029#[doc = " Unused/Unsupported."]
1030#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1031pub enum blas_side_type {
1032 #[doc = "< Unsupported."]
1033 blas_left_side = 141,
1034 #[doc = "< Unsupported."]
1035 blas_right_side = 142,
1036}
1037#[repr(u32)]
1038#[doc = " Unused/Unsupported."]
1039#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1040pub enum blas_cmach_type {
1041 #[doc = "< Unsupported."]
1042 blas_base = 151,
1043 #[doc = "< Unsupported."]
1044 blas_t = 152,
1045 #[doc = "< Unsupported."]
1046 blas_rnd = 153,
1047 #[doc = "< Unsupported."]
1048 blas_ieee = 154,
1049 #[doc = "< Unsupported."]
1050 blas_emin = 155,
1051 #[doc = "< Unsupported."]
1052 blas_emax = 156,
1053 #[doc = "< Unsupported."]
1054 blas_eps = 157,
1055 #[doc = "< Unsupported."]
1056 blas_prec = 158,
1057 #[doc = "< Unsupported."]
1058 blas_underflow = 159,
1059 #[doc = "< Unsupported."]
1060 blas_overflow = 160,
1061 #[doc = "< Unsupported."]
1062 blas_sfmin = 161,
1063}
1064#[repr(u32)]
1065#[doc = " Unused/Unsupported."]
1066#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1067pub enum blas_norm_type {
1068 #[doc = "< Unsupported."]
1069 blas_one_norm = 171,
1070 #[doc = "< Unsupported."]
1071 blas_real_one_norm = 172,
1072 #[doc = "< Unsupported."]
1073 blas_two_norm = 173,
1074 #[doc = "< Unsupported."]
1075 blas_frobenius_norm = 174,
1076 #[doc = "< Unsupported."]
1077 blas_inf_norm = 175,
1078 #[doc = "< Unsupported."]
1079 blas_real_inf_norm = 176,
1080 #[doc = "< Unsupported."]
1081 blas_max_norm = 177,
1082 #[doc = "< Unsupported."]
1083 blas_real_max_norm = 178,
1084}
1085#[repr(u32)]
1086#[doc = " Unused/Unsupported."]
1087#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1088pub enum blas_sort_type {
1089 #[doc = "< Unsupported."]
1090 blas_increasing_order = 181,
1091 #[doc = "< Unsupported."]
1092 blas_decreasing_order = 182,
1093}
1094#[repr(u32)]
1095#[doc = " Unused/Unsupported."]
1096#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1097pub enum blas_conj_type {
1098 #[doc = "< Unsupported."]
1099 blas_conj = 191,
1100 #[doc = "< Unsupported."]
1101 blas_no_conj = 192,
1102}
1103#[repr(u32)]
1104#[doc = " Unused/Unsupported."]
1105#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1106pub enum blas_jrot_type {
1107 #[doc = "< Unsupported."]
1108 blas_jrot_inner = 201,
1109 #[doc = "< Unsupported."]
1110 blas_jrot_outer = 202,
1111 #[doc = "< Unsupported."]
1112 blas_jrot_sorted = 203,
1113}
1114#[repr(u32)]
1115#[doc = " Unused/Unsupported."]
1116#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1117pub enum blas_prec_type {
1118 #[doc = "< Unsupported."]
1119 blas_prec_single = 211,
1120 #[doc = "< Unsupported."]
1121 blas_prec_double = 212,
1122 #[doc = "< Unsupported."]
1123 blas_prec_indigenous = 213,
1124 #[doc = "< Unsupported."]
1125 blas_prec_extra = 214,
1126}
1127#[repr(u32)]
1128#[doc = " Index base (valid at matrix build/modify time)."]
1129#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1130pub enum blas_base_type {
1131 #[doc = "< Zero based indices (default when matrix created using the C interface)."]
1132 blas_zero_base = 221,
1133 #[doc = "< Zero based indices (default when matrix created using the Fortran interface)."]
1134 blas_one_base = 222,
1135}
1136#[repr(u32)]
1137#[doc = " Symmetry properties. If not specified otherwise, valid for the both of #BLAS_ussp and #BLAS_usgp."]
1138#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1139pub enum blas_symmetry_type {
1140 #[doc = "< General unsymmetric matrix (default). For #BLAS_usgp only."]
1141 blas_general = 231,
1142 #[doc = "< Symmetric matrix (either #blas_lower_symmetric or #blas_upper_symmetric). For #BLAS_usgp only."]
1143 blas_symmetric = 232,
1144 #[doc = "< Hermitian matrix (either #blas_lower_hermitian or #blas_upper_hermitian). For #BLAS_usgp only."]
1145 blas_hermitian = 233,
1146 #[doc = "< Triangular matrix (either #blas_lower_triangular or #blas_upper_triangular). For #BLAS_usgp only."]
1147 blas_triangular = 234,
1148 #[doc = "< Lower triangular matrix."]
1149 blas_lower_triangular = 235,
1150 #[doc = "< Upper triangular matrix."]
1151 blas_upper_triangular = 236,
1152 #[doc = "< Lower symmetric matrix."]
1153 blas_lower_symmetric = 237,
1154 #[doc = "< Upper symmetric matrix."]
1155 blas_upper_symmetric = 238,
1156 #[doc = "< Lower hermitian matrix."]
1157 blas_lower_hermitian = 239,
1158 #[doc = "< Upper hermitian matrix."]
1159 blas_upper_hermitian = 240,
1160}
1161#[repr(u32)]
1162#[doc = " Numerical field type; can be used with #BLAS_usgp to inquiry about a matrix numerical type (1 will be returned in case of success, 0 in case of failure)."]
1163#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1164pub enum blas_field_type {
1165 #[doc = "< Will succeed if matrix is of 'C' or 'Z' type."]
1166 blas_complex = 241,
1167 #[doc = "< Will succeed if matrix is of 'S' or 'D' type."]
1168 blas_real = 242,
1169 #[doc = "< Will succeed if matrix is of 'D' or 'Z' type."]
1170 blas_double_precision = 243,
1171 #[doc = "< Will succeed if matrix is of 'S' or 'C' type."]
1172 blas_single_precision = 244,
1173}
1174#[repr(u32)]
1175#[doc = " Quantities that can be obtained via #BLAS_usgp."]
1176#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1177pub enum blas_size_type {
1178 #[doc = "< Get the matrix rows count."]
1179 blas_num_rows = 251,
1180 #[doc = "< Get the matrix columns count."]
1181 blas_num_cols = 252,
1182 #[doc = "< Get the matrix nonzeros count."]
1183 blas_num_nonzeros = 253,
1184}
1185impl blas_handle_type {
1186 #[doc = "< Used to check whether the handle is invalid."]
1187 pub const blas_invalid_handle: blas_handle_type = blas_handle_type(261);
1188}
1189impl blas_handle_type {
1190 #[doc = "< Will give 1 if the handle is new."]
1191 pub const blas_new_handle: blas_handle_type = blas_handle_type(262);
1192}
1193impl blas_handle_type {
1194 #[doc = "< will give 1 if the handle is open."]
1195 pub const blas_open_handle: blas_handle_type = blas_handle_type(263);
1196}
1197impl blas_handle_type {
1198 #[doc = "< Will give 1 if the handle is valid (that is, after #BLAS_duscr_end/#BLAS_zuscr_end/#BLAS_cuscr_end/#BLAS_zuscr_end)."]
1199 pub const blas_valid_handle: blas_handle_type = blas_handle_type(264);
1200}
1201#[repr(transparent)]
1202#[doc = " The following are not fully implemented. Usable with #BLAS_usgp."]
1203#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1204pub struct blas_handle_type(pub ::std::os::raw::c_uint);
1205#[repr(u32)]
1206#[doc = " The following are usable with #BLAS_usgp only."]
1207#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1208pub enum blas_sparsity_optimization_type {
1209 #[doc = "< Will give 0."]
1210 blas_regular = 271,
1211 #[doc = "< Will give 1."]
1212 blas_irregular = 272,
1213 #[doc = "< Will give 0."]
1214 blas_block = 273,
1215 #[doc = "< Complementary to #blas_valid_handle."]
1216 blas_unassembled = 274,
1217}
1218#[repr(u32)]
1219#[doc = " Properties suitable to be used with #BLAS_ussp/#BLAS_usgp. All of these are not in the Sparse BLAS standard."]
1220#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1221pub enum blas_rsb_ext_type {
1222 #[doc = "< Turn on executing threads autotuning for #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. As an extension to the standard, the autotuning properties can be turned on/off at any time; if the autotuning feature has not been enabled at build time, using these properties will make the call fail. For more information, see #rsb_tune_spmm. (EXPERIMENTAL)"]
1223 blas_rsb_spmv_autotuning_on = 6660,
1224 #[doc = "< Turn off executing threads autotuning for #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1225 blas_rsb_spmv_autotuning_off = 6661,
1226 #[doc = "< Turn on executing threads autotuning for untransposed #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1227 blas_rsb_spmv_n_autotuning_on = 6662,
1228 #[doc = "< Turn on executing threads autotuning for untransposed #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1229 blas_rsb_spmv_n_autotuning_off = 6663,
1230 #[doc = "< Turn on executing threads autotuning for transposed #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1231 blas_rsb_spmv_t_autotuning_on = 6664,
1232 #[doc = "< Turn on executing threads autotuning for transposed #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv. See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1233 blas_rsb_spmv_t_autotuning_off = 6665,
1234 #[doc = "< Turn on executing threads autotuning for the next operation among #BLAS_dusmv, #BLAS_zusmv, #BLAS_susmv, #BLAS_cusmv). See #blas_rsb_spmv_autotuning_on. (EXPERIMENTAL)"]
1235 blas_rsb_autotune_next_operation = 6666,
1236 #[doc = "< Request/check for RSB representation."]
1237 blas_rsb_rep_rsb = 9995,
1238 #[doc = "< Request/check for CSR representation."]
1239 blas_rsb_rep_csr = 9996,
1240 #[doc = "< Request/check for COO representation."]
1241 blas_rsb_rep_coo = 9997,
1242 #[doc = "< Request/check for duplicate nonzeroes overwriting policy."]
1243 blas_rsb_duplicates_ovw = 9998,
1244 #[doc = "< Request/check for duplicate nonzeroes summation policy."]
1245 blas_rsb_duplicates_sum = 9999,
1246}
1247#[doc = " the sparse matrix descriptor type"]
1248#[repr(transparent)]
1249#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1250pub struct blas_sparse_matrix(pub ::std::os::raw::c_int);
1251extern "C" {
1252 pub fn BLAS_susdot(
1253 conj: blas_conj_type,
1254 nnz: ::std::os::raw::c_int,
1255 x: *const f32,
1256 indx: *const ::std::os::raw::c_int,
1257 y: *const f32,
1258 incy: ::std::os::raw::c_int,
1259 r: *mut f32,
1260 index_base: blas_base_type,
1261 ) -> ::std::os::raw::c_int;
1262}
1263extern "C" {
1264 pub fn blas_susdot_(
1265 conj: *mut blas_conj_type,
1266 nnz: *mut ::std::os::raw::c_int,
1267 x: *const f32,
1268 indx: *const ::std::os::raw::c_int,
1269 y: *const f32,
1270 incy: *mut ::std::os::raw::c_int,
1271 r: *mut f32,
1272 index_base: *mut blas_base_type,
1273 istat: *mut ::std::os::raw::c_int,
1274 );
1275}
1276extern "C" {
1277 pub fn BLAS_dusdot(
1278 conj: blas_conj_type,
1279 nnz: ::std::os::raw::c_int,
1280 x: *const f64,
1281 indx: *const ::std::os::raw::c_int,
1282 y: *const f64,
1283 incy: ::std::os::raw::c_int,
1284 r: *mut f64,
1285 index_base: blas_base_type,
1286 ) -> ::std::os::raw::c_int;
1287}
1288extern "C" {
1289 pub fn blas_dusdot_(
1290 conj: *mut blas_conj_type,
1291 nnz: *mut ::std::os::raw::c_int,
1292 x: *const f64,
1293 indx: *const ::std::os::raw::c_int,
1294 y: *const f64,
1295 incy: *mut ::std::os::raw::c_int,
1296 r: *mut f64,
1297 index_base: *mut blas_base_type,
1298 istat: *mut ::std::os::raw::c_int,
1299 );
1300}
1301extern "C" {
1302 pub fn BLAS_cusdot(
1303 conj: blas_conj_type,
1304 nnz: ::std::os::raw::c_int,
1305 x: *const ::std::os::raw::c_void,
1306 indx: *const ::std::os::raw::c_int,
1307 y: *const ::std::os::raw::c_void,
1308 incy: ::std::os::raw::c_int,
1309 r: *mut ::std::os::raw::c_void,
1310 index_base: blas_base_type,
1311 ) -> ::std::os::raw::c_int;
1312}
1313extern "C" {
1314 pub fn blas_cusdot_(
1315 conj: *mut blas_conj_type,
1316 nnz: *mut ::std::os::raw::c_int,
1317 x: *const ::std::os::raw::c_void,
1318 indx: *const ::std::os::raw::c_int,
1319 y: *const ::std::os::raw::c_void,
1320 incy: *mut ::std::os::raw::c_int,
1321 r: *mut ::std::os::raw::c_void,
1322 index_base: *mut blas_base_type,
1323 istat: *mut ::std::os::raw::c_int,
1324 );
1325}
1326extern "C" {
1327 pub fn BLAS_zusdot(
1328 conj: blas_conj_type,
1329 nnz: ::std::os::raw::c_int,
1330 x: *const ::std::os::raw::c_void,
1331 indx: *const ::std::os::raw::c_int,
1332 y: *const ::std::os::raw::c_void,
1333 incy: ::std::os::raw::c_int,
1334 r: *mut ::std::os::raw::c_void,
1335 index_base: blas_base_type,
1336 ) -> ::std::os::raw::c_int;
1337}
1338extern "C" {
1339 pub fn blas_zusdot_(
1340 conj: *mut blas_conj_type,
1341 nnz: *mut ::std::os::raw::c_int,
1342 x: *const ::std::os::raw::c_void,
1343 indx: *const ::std::os::raw::c_int,
1344 y: *const ::std::os::raw::c_void,
1345 incy: *mut ::std::os::raw::c_int,
1346 r: *mut ::std::os::raw::c_void,
1347 index_base: *mut blas_base_type,
1348 istat: *mut ::std::os::raw::c_int,
1349 );
1350}
1351extern "C" {
1352 pub fn BLAS_susaxpy(
1353 nnz: ::std::os::raw::c_int,
1354 alpha: f32,
1355 x: *const f32,
1356 indx: *const ::std::os::raw::c_int,
1357 y: *mut f32,
1358 incy: ::std::os::raw::c_int,
1359 index_base: blas_base_type,
1360 ) -> ::std::os::raw::c_int;
1361}
1362extern "C" {
1363 pub fn blas_susaxpy_(
1364 nnz: *mut ::std::os::raw::c_int,
1365 alpha: *mut f32,
1366 x: *const f32,
1367 indx: *const ::std::os::raw::c_int,
1368 y: *mut f32,
1369 incy: *mut ::std::os::raw::c_int,
1370 index_base: *mut blas_base_type,
1371 istat: *mut ::std::os::raw::c_int,
1372 );
1373}
1374extern "C" {
1375 pub fn BLAS_dusaxpy(
1376 nnz: ::std::os::raw::c_int,
1377 alpha: f64,
1378 x: *const f64,
1379 indx: *const ::std::os::raw::c_int,
1380 y: *mut f64,
1381 incy: ::std::os::raw::c_int,
1382 index_base: blas_base_type,
1383 ) -> ::std::os::raw::c_int;
1384}
1385extern "C" {
1386 pub fn blas_dusaxpy_(
1387 nnz: *mut ::std::os::raw::c_int,
1388 alpha: *mut f64,
1389 x: *const f64,
1390 indx: *const ::std::os::raw::c_int,
1391 y: *mut f64,
1392 incy: *mut ::std::os::raw::c_int,
1393 index_base: *mut blas_base_type,
1394 istat: *mut ::std::os::raw::c_int,
1395 );
1396}
1397extern "C" {
1398 pub fn BLAS_cusaxpy(
1399 nnz: ::std::os::raw::c_int,
1400 alpha: *const ::std::os::raw::c_void,
1401 x: *const ::std::os::raw::c_void,
1402 indx: *const ::std::os::raw::c_int,
1403 y: *mut ::std::os::raw::c_void,
1404 incy: ::std::os::raw::c_int,
1405 index_base: blas_base_type,
1406 ) -> ::std::os::raw::c_int;
1407}
1408extern "C" {
1409 pub fn blas_cusaxpy_(
1410 nnz: *mut ::std::os::raw::c_int,
1411 alpha: *const ::std::os::raw::c_void,
1412 x: *const ::std::os::raw::c_void,
1413 indx: *const ::std::os::raw::c_int,
1414 y: *mut ::std::os::raw::c_void,
1415 incy: *mut ::std::os::raw::c_int,
1416 index_base: *mut blas_base_type,
1417 istat: *mut ::std::os::raw::c_int,
1418 );
1419}
1420extern "C" {
1421 pub fn BLAS_zusaxpy(
1422 nnz: ::std::os::raw::c_int,
1423 alpha: *const ::std::os::raw::c_void,
1424 x: *const ::std::os::raw::c_void,
1425 indx: *const ::std::os::raw::c_int,
1426 y: *mut ::std::os::raw::c_void,
1427 incy: ::std::os::raw::c_int,
1428 index_base: blas_base_type,
1429 ) -> ::std::os::raw::c_int;
1430}
1431extern "C" {
1432 pub fn blas_zusaxpy_(
1433 nnz: *mut ::std::os::raw::c_int,
1434 alpha: *const ::std::os::raw::c_void,
1435 x: *const ::std::os::raw::c_void,
1436 indx: *const ::std::os::raw::c_int,
1437 y: *mut ::std::os::raw::c_void,
1438 incy: *mut ::std::os::raw::c_int,
1439 index_base: *mut blas_base_type,
1440 istat: *mut ::std::os::raw::c_int,
1441 );
1442}
1443extern "C" {
1444 pub fn BLAS_susga(
1445 nnz: ::std::os::raw::c_int,
1446 y: *const f32,
1447 incy: ::std::os::raw::c_int,
1448 x: *mut f32,
1449 indx: *const ::std::os::raw::c_int,
1450 index_base: blas_base_type,
1451 ) -> ::std::os::raw::c_int;
1452}
1453extern "C" {
1454 pub fn blas_susga_(
1455 nnz: *mut ::std::os::raw::c_int,
1456 y: *const f32,
1457 incy: *mut ::std::os::raw::c_int,
1458 x: *mut f32,
1459 indx: *const ::std::os::raw::c_int,
1460 index_base: *mut blas_base_type,
1461 istat: *mut ::std::os::raw::c_int,
1462 );
1463}
1464extern "C" {
1465 pub fn BLAS_dusga(
1466 nnz: ::std::os::raw::c_int,
1467 y: *const f64,
1468 incy: ::std::os::raw::c_int,
1469 x: *mut f64,
1470 indx: *const ::std::os::raw::c_int,
1471 index_base: blas_base_type,
1472 ) -> ::std::os::raw::c_int;
1473}
1474extern "C" {
1475 pub fn blas_dusga_(
1476 nnz: *mut ::std::os::raw::c_int,
1477 y: *const f64,
1478 incy: *mut ::std::os::raw::c_int,
1479 x: *mut f64,
1480 indx: *const ::std::os::raw::c_int,
1481 index_base: *mut blas_base_type,
1482 istat: *mut ::std::os::raw::c_int,
1483 );
1484}
1485extern "C" {
1486 pub fn BLAS_cusga(
1487 nnz: ::std::os::raw::c_int,
1488 y: *const ::std::os::raw::c_void,
1489 incy: ::std::os::raw::c_int,
1490 x: *mut ::std::os::raw::c_void,
1491 indx: *const ::std::os::raw::c_int,
1492 index_base: blas_base_type,
1493 ) -> ::std::os::raw::c_int;
1494}
1495extern "C" {
1496 pub fn blas_cusga_(
1497 nnz: *mut ::std::os::raw::c_int,
1498 y: *const ::std::os::raw::c_void,
1499 incy: *mut ::std::os::raw::c_int,
1500 x: *mut ::std::os::raw::c_void,
1501 indx: *const ::std::os::raw::c_int,
1502 index_base: *mut blas_base_type,
1503 istat: *mut ::std::os::raw::c_int,
1504 );
1505}
1506extern "C" {
1507 pub fn BLAS_zusga(
1508 nnz: ::std::os::raw::c_int,
1509 y: *const ::std::os::raw::c_void,
1510 incy: ::std::os::raw::c_int,
1511 x: *mut ::std::os::raw::c_void,
1512 indx: *const ::std::os::raw::c_int,
1513 index_base: blas_base_type,
1514 ) -> ::std::os::raw::c_int;
1515}
1516extern "C" {
1517 pub fn blas_zusga_(
1518 nnz: *mut ::std::os::raw::c_int,
1519 y: *const ::std::os::raw::c_void,
1520 incy: *mut ::std::os::raw::c_int,
1521 x: *mut ::std::os::raw::c_void,
1522 indx: *const ::std::os::raw::c_int,
1523 index_base: *mut blas_base_type,
1524 istat: *mut ::std::os::raw::c_int,
1525 );
1526}
1527extern "C" {
1528 pub fn BLAS_susgz(
1529 nnz: ::std::os::raw::c_int,
1530 y: *mut f32,
1531 incy: ::std::os::raw::c_int,
1532 x: *mut f32,
1533 indx: *const ::std::os::raw::c_int,
1534 index_base: blas_base_type,
1535 ) -> ::std::os::raw::c_int;
1536}
1537extern "C" {
1538 pub fn blas_susgz_(
1539 nnz: *mut ::std::os::raw::c_int,
1540 y: *mut f32,
1541 incy: *mut ::std::os::raw::c_int,
1542 x: *mut f32,
1543 indx: *const ::std::os::raw::c_int,
1544 index_base: *mut blas_base_type,
1545 istat: *mut ::std::os::raw::c_int,
1546 );
1547}
1548extern "C" {
1549 pub fn BLAS_dusgz(
1550 nnz: ::std::os::raw::c_int,
1551 y: *mut f64,
1552 incy: ::std::os::raw::c_int,
1553 x: *mut f64,
1554 indx: *const ::std::os::raw::c_int,
1555 index_base: blas_base_type,
1556 ) -> ::std::os::raw::c_int;
1557}
1558extern "C" {
1559 pub fn blas_dusgz_(
1560 nnz: *mut ::std::os::raw::c_int,
1561 y: *mut f64,
1562 incy: *mut ::std::os::raw::c_int,
1563 x: *mut f64,
1564 indx: *const ::std::os::raw::c_int,
1565 index_base: *mut blas_base_type,
1566 istat: *mut ::std::os::raw::c_int,
1567 );
1568}
1569extern "C" {
1570 pub fn BLAS_cusgz(
1571 nnz: ::std::os::raw::c_int,
1572 y: *mut ::std::os::raw::c_void,
1573 incy: ::std::os::raw::c_int,
1574 x: *mut ::std::os::raw::c_void,
1575 indx: *const ::std::os::raw::c_int,
1576 index_base: blas_base_type,
1577 ) -> ::std::os::raw::c_int;
1578}
1579extern "C" {
1580 pub fn blas_cusgz_(
1581 nnz: *mut ::std::os::raw::c_int,
1582 y: *mut ::std::os::raw::c_void,
1583 incy: *mut ::std::os::raw::c_int,
1584 x: *mut ::std::os::raw::c_void,
1585 indx: *const ::std::os::raw::c_int,
1586 index_base: *mut blas_base_type,
1587 istat: *mut ::std::os::raw::c_int,
1588 );
1589}
1590extern "C" {
1591 pub fn BLAS_zusgz(
1592 nnz: ::std::os::raw::c_int,
1593 y: *mut ::std::os::raw::c_void,
1594 incy: ::std::os::raw::c_int,
1595 x: *mut ::std::os::raw::c_void,
1596 indx: *const ::std::os::raw::c_int,
1597 index_base: blas_base_type,
1598 ) -> ::std::os::raw::c_int;
1599}
1600extern "C" {
1601 pub fn blas_zusgz_(
1602 nnz: *mut ::std::os::raw::c_int,
1603 y: *mut ::std::os::raw::c_void,
1604 incy: *mut ::std::os::raw::c_int,
1605 x: *mut ::std::os::raw::c_void,
1606 indx: *const ::std::os::raw::c_int,
1607 index_base: *mut blas_base_type,
1608 istat: *mut ::std::os::raw::c_int,
1609 );
1610}
1611extern "C" {
1612 pub fn BLAS_sussc(
1613 nnz: ::std::os::raw::c_int,
1614 x: *const f32,
1615 y: *mut f32,
1616 incy: ::std::os::raw::c_int,
1617 indx: *const ::std::os::raw::c_int,
1618 index_base: blas_base_type,
1619 ) -> ::std::os::raw::c_int;
1620}
1621extern "C" {
1622 pub fn blas_sussc_(
1623 nnz: *mut ::std::os::raw::c_int,
1624 x: *const f32,
1625 y: *mut f32,
1626 incy: *mut ::std::os::raw::c_int,
1627 indx: *const ::std::os::raw::c_int,
1628 index_base: *mut blas_base_type,
1629 istat: *mut ::std::os::raw::c_int,
1630 );
1631}
1632extern "C" {
1633 pub fn BLAS_dussc(
1634 nnz: ::std::os::raw::c_int,
1635 x: *const f64,
1636 y: *mut f64,
1637 incy: ::std::os::raw::c_int,
1638 indx: *const ::std::os::raw::c_int,
1639 index_base: blas_base_type,
1640 ) -> ::std::os::raw::c_int;
1641}
1642extern "C" {
1643 pub fn blas_dussc_(
1644 nnz: *mut ::std::os::raw::c_int,
1645 x: *const f64,
1646 y: *mut f64,
1647 incy: *mut ::std::os::raw::c_int,
1648 indx: *const ::std::os::raw::c_int,
1649 index_base: *mut blas_base_type,
1650 istat: *mut ::std::os::raw::c_int,
1651 );
1652}
1653extern "C" {
1654 pub fn BLAS_cussc(
1655 nnz: ::std::os::raw::c_int,
1656 x: *const ::std::os::raw::c_void,
1657 y: *mut ::std::os::raw::c_void,
1658 incy: ::std::os::raw::c_int,
1659 indx: *const ::std::os::raw::c_int,
1660 index_base: blas_base_type,
1661 ) -> ::std::os::raw::c_int;
1662}
1663extern "C" {
1664 pub fn blas_cussc_(
1665 nnz: *mut ::std::os::raw::c_int,
1666 x: *const ::std::os::raw::c_void,
1667 y: *mut ::std::os::raw::c_void,
1668 incy: *mut ::std::os::raw::c_int,
1669 indx: *const ::std::os::raw::c_int,
1670 index_base: *mut blas_base_type,
1671 istat: *mut ::std::os::raw::c_int,
1672 );
1673}
1674extern "C" {
1675 pub fn BLAS_zussc(
1676 nnz: ::std::os::raw::c_int,
1677 x: *const ::std::os::raw::c_void,
1678 y: *mut ::std::os::raw::c_void,
1679 incy: ::std::os::raw::c_int,
1680 indx: *const ::std::os::raw::c_int,
1681 index_base: blas_base_type,
1682 ) -> ::std::os::raw::c_int;
1683}
1684extern "C" {
1685 pub fn blas_zussc_(
1686 nnz: *mut ::std::os::raw::c_int,
1687 x: *const ::std::os::raw::c_void,
1688 y: *mut ::std::os::raw::c_void,
1689 incy: *mut ::std::os::raw::c_int,
1690 indx: *const ::std::os::raw::c_int,
1691 index_base: *mut blas_base_type,
1692 istat: *mut ::std::os::raw::c_int,
1693 );
1694}
1695extern "C" {
1696 pub fn BLAS_susmv(
1697 transA: blas_trans_type,
1698 alpha: f32,
1699 A: blas_sparse_matrix,
1700 x: *const f32,
1701 incx: ::std::os::raw::c_int,
1702 y: *mut f32,
1703 incy: ::std::os::raw::c_int,
1704 ) -> ::std::os::raw::c_int;
1705}
1706extern "C" {
1707 pub fn blas_susmv_(
1708 transA: *mut blas_trans_type,
1709 alpha: *mut f32,
1710 A: *mut blas_sparse_matrix,
1711 x: *const f32,
1712 incx: *mut ::std::os::raw::c_int,
1713 y: *mut f32,
1714 incy: *mut ::std::os::raw::c_int,
1715 istat: *mut ::std::os::raw::c_int,
1716 );
1717}
1718extern "C" {
1719 pub fn BLAS_dusmv(
1720 transA: blas_trans_type,
1721 alpha: f64,
1722 A: blas_sparse_matrix,
1723 x: *const f64,
1724 incx: ::std::os::raw::c_int,
1725 y: *mut f64,
1726 incy: ::std::os::raw::c_int,
1727 ) -> ::std::os::raw::c_int;
1728}
1729extern "C" {
1730 pub fn blas_dusmv_(
1731 transA: *mut blas_trans_type,
1732 alpha: *mut f64,
1733 A: *mut blas_sparse_matrix,
1734 x: *const f64,
1735 incx: *mut ::std::os::raw::c_int,
1736 y: *mut f64,
1737 incy: *mut ::std::os::raw::c_int,
1738 istat: *mut ::std::os::raw::c_int,
1739 );
1740}
1741extern "C" {
1742 pub fn BLAS_cusmv(
1743 transA: blas_trans_type,
1744 alpha: *const ::std::os::raw::c_void,
1745 A: blas_sparse_matrix,
1746 x: *const ::std::os::raw::c_void,
1747 incx: ::std::os::raw::c_int,
1748 y: *mut ::std::os::raw::c_void,
1749 incy: ::std::os::raw::c_int,
1750 ) -> ::std::os::raw::c_int;
1751}
1752extern "C" {
1753 pub fn blas_cusmv_(
1754 transA: *mut blas_trans_type,
1755 alpha: *const ::std::os::raw::c_void,
1756 A: *mut blas_sparse_matrix,
1757 x: *const ::std::os::raw::c_void,
1758 incx: *mut ::std::os::raw::c_int,
1759 y: *mut ::std::os::raw::c_void,
1760 incy: *mut ::std::os::raw::c_int,
1761 istat: *mut ::std::os::raw::c_int,
1762 );
1763}
1764extern "C" {
1765 pub fn BLAS_zusmv(
1766 transA: blas_trans_type,
1767 alpha: *const ::std::os::raw::c_void,
1768 A: blas_sparse_matrix,
1769 x: *const ::std::os::raw::c_void,
1770 incx: ::std::os::raw::c_int,
1771 y: *mut ::std::os::raw::c_void,
1772 incy: ::std::os::raw::c_int,
1773 ) -> ::std::os::raw::c_int;
1774}
1775extern "C" {
1776 pub fn blas_zusmv_(
1777 transA: *mut blas_trans_type,
1778 alpha: *const ::std::os::raw::c_void,
1779 A: *mut blas_sparse_matrix,
1780 x: *const ::std::os::raw::c_void,
1781 incx: *mut ::std::os::raw::c_int,
1782 y: *mut ::std::os::raw::c_void,
1783 incy: *mut ::std::os::raw::c_int,
1784 istat: *mut ::std::os::raw::c_int,
1785 );
1786}
1787extern "C" {
1788 pub fn BLAS_sussv(
1789 transT: blas_trans_type,
1790 alpha: f32,
1791 T: blas_sparse_matrix,
1792 x: *mut f32,
1793 incx: ::std::os::raw::c_int,
1794 ) -> ::std::os::raw::c_int;
1795}
1796extern "C" {
1797 pub fn blas_sussv_(
1798 transT: *mut blas_trans_type,
1799 alpha: *mut f32,
1800 T: *mut blas_sparse_matrix,
1801 x: *mut f32,
1802 incx: *mut ::std::os::raw::c_int,
1803 istat: *mut ::std::os::raw::c_int,
1804 );
1805}
1806extern "C" {
1807 pub fn BLAS_dussv(
1808 transT: blas_trans_type,
1809 alpha: f64,
1810 T: blas_sparse_matrix,
1811 x: *mut f64,
1812 incx: ::std::os::raw::c_int,
1813 ) -> ::std::os::raw::c_int;
1814}
1815extern "C" {
1816 pub fn blas_dussv_(
1817 transT: *mut blas_trans_type,
1818 alpha: *mut f64,
1819 T: *mut blas_sparse_matrix,
1820 x: *mut f64,
1821 incx: *mut ::std::os::raw::c_int,
1822 istat: *mut ::std::os::raw::c_int,
1823 );
1824}
1825extern "C" {
1826 pub fn BLAS_cussv(
1827 transT: blas_trans_type,
1828 alpha: *const ::std::os::raw::c_void,
1829 T: blas_sparse_matrix,
1830 x: *mut ::std::os::raw::c_void,
1831 incx: ::std::os::raw::c_int,
1832 ) -> ::std::os::raw::c_int;
1833}
1834extern "C" {
1835 pub fn blas_cussv_(
1836 transT: *mut blas_trans_type,
1837 alpha: *const ::std::os::raw::c_void,
1838 T: *mut blas_sparse_matrix,
1839 x: *mut ::std::os::raw::c_void,
1840 incx: *mut ::std::os::raw::c_int,
1841 istat: *mut ::std::os::raw::c_int,
1842 );
1843}
1844extern "C" {
1845 pub fn BLAS_zussv(
1846 transT: blas_trans_type,
1847 alpha: *const ::std::os::raw::c_void,
1848 T: blas_sparse_matrix,
1849 x: *mut ::std::os::raw::c_void,
1850 incx: ::std::os::raw::c_int,
1851 ) -> ::std::os::raw::c_int;
1852}
1853extern "C" {
1854 pub fn blas_zussv_(
1855 transT: *mut blas_trans_type,
1856 alpha: *const ::std::os::raw::c_void,
1857 T: *mut blas_sparse_matrix,
1858 x: *mut ::std::os::raw::c_void,
1859 incx: *mut ::std::os::raw::c_int,
1860 istat: *mut ::std::os::raw::c_int,
1861 );
1862}
1863extern "C" {
1864 pub fn BLAS_susmm(
1865 order: blas_order_type,
1866 transA: blas_trans_type,
1867 nrhs: ::std::os::raw::c_int,
1868 alpha: f32,
1869 A: blas_sparse_matrix,
1870 b: *const f32,
1871 ldb: ::std::os::raw::c_int,
1872 c: *mut f32,
1873 ldc: ::std::os::raw::c_int,
1874 ) -> ::std::os::raw::c_int;
1875}
1876extern "C" {
1877 pub fn blas_susmm_(
1878 order: *mut blas_order_type,
1879 transA: *mut blas_trans_type,
1880 nrhs: *mut ::std::os::raw::c_int,
1881 alpha: *mut f32,
1882 A: *mut blas_sparse_matrix,
1883 b: *const f32,
1884 ldb: *mut ::std::os::raw::c_int,
1885 c: *mut f32,
1886 ldc: *mut ::std::os::raw::c_int,
1887 istat: *mut ::std::os::raw::c_int,
1888 );
1889}
1890extern "C" {
1891 pub fn BLAS_dusmm(
1892 order: blas_order_type,
1893 transA: blas_trans_type,
1894 nrhs: ::std::os::raw::c_int,
1895 alpha: f64,
1896 A: blas_sparse_matrix,
1897 b: *const f64,
1898 ldb: ::std::os::raw::c_int,
1899 c: *mut f64,
1900 ldc: ::std::os::raw::c_int,
1901 ) -> ::std::os::raw::c_int;
1902}
1903extern "C" {
1904 pub fn blas_dusmm_(
1905 order: *mut blas_order_type,
1906 transA: *mut blas_trans_type,
1907 nrhs: *mut ::std::os::raw::c_int,
1908 alpha: *mut f64,
1909 A: *mut blas_sparse_matrix,
1910 b: *const f64,
1911 ldb: *mut ::std::os::raw::c_int,
1912 c: *mut f64,
1913 ldc: *mut ::std::os::raw::c_int,
1914 istat: *mut ::std::os::raw::c_int,
1915 );
1916}
1917extern "C" {
1918 pub fn BLAS_cusmm(
1919 order: blas_order_type,
1920 transA: blas_trans_type,
1921 nrhs: ::std::os::raw::c_int,
1922 alpha: *const ::std::os::raw::c_void,
1923 A: blas_sparse_matrix,
1924 b: *const ::std::os::raw::c_void,
1925 ldb: ::std::os::raw::c_int,
1926 c: *mut ::std::os::raw::c_void,
1927 ldc: ::std::os::raw::c_int,
1928 ) -> ::std::os::raw::c_int;
1929}
1930extern "C" {
1931 pub fn blas_cusmm_(
1932 order: *mut blas_order_type,
1933 transA: *mut blas_trans_type,
1934 nrhs: *mut ::std::os::raw::c_int,
1935 alpha: *const ::std::os::raw::c_void,
1936 A: *mut blas_sparse_matrix,
1937 b: *const ::std::os::raw::c_void,
1938 ldb: *mut ::std::os::raw::c_int,
1939 c: *mut ::std::os::raw::c_void,
1940 ldc: *mut ::std::os::raw::c_int,
1941 istat: *mut ::std::os::raw::c_int,
1942 );
1943}
1944extern "C" {
1945 pub fn BLAS_zusmm(
1946 order: blas_order_type,
1947 transA: blas_trans_type,
1948 nrhs: ::std::os::raw::c_int,
1949 alpha: *const ::std::os::raw::c_void,
1950 A: blas_sparse_matrix,
1951 b: *const ::std::os::raw::c_void,
1952 ldb: ::std::os::raw::c_int,
1953 c: *mut ::std::os::raw::c_void,
1954 ldc: ::std::os::raw::c_int,
1955 ) -> ::std::os::raw::c_int;
1956}
1957extern "C" {
1958 pub fn blas_zusmm_(
1959 order: *mut blas_order_type,
1960 transA: *mut blas_trans_type,
1961 nrhs: *mut ::std::os::raw::c_int,
1962 alpha: *const ::std::os::raw::c_void,
1963 A: *mut blas_sparse_matrix,
1964 b: *const ::std::os::raw::c_void,
1965 ldb: *mut ::std::os::raw::c_int,
1966 c: *mut ::std::os::raw::c_void,
1967 ldc: *mut ::std::os::raw::c_int,
1968 istat: *mut ::std::os::raw::c_int,
1969 );
1970}
1971extern "C" {
1972 pub fn BLAS_sussm(
1973 order: blas_order_type,
1974 transT: blas_trans_type,
1975 nrhs: ::std::os::raw::c_int,
1976 alpha: f32,
1977 T: blas_sparse_matrix,
1978 b: *mut f32,
1979 ldb: ::std::os::raw::c_int,
1980 ) -> ::std::os::raw::c_int;
1981}
1982extern "C" {
1983 pub fn blas_sussm_(
1984 order: *mut blas_order_type,
1985 transT: *mut blas_trans_type,
1986 nrhs: *mut ::std::os::raw::c_int,
1987 alpha: *mut f32,
1988 T: *mut blas_sparse_matrix,
1989 b: *mut f32,
1990 ldb: *mut ::std::os::raw::c_int,
1991 istat: *mut ::std::os::raw::c_int,
1992 );
1993}
1994extern "C" {
1995 pub fn BLAS_dussm(
1996 order: blas_order_type,
1997 transT: blas_trans_type,
1998 nrhs: ::std::os::raw::c_int,
1999 alpha: f64,
2000 T: blas_sparse_matrix,
2001 b: *mut f64,
2002 ldb: ::std::os::raw::c_int,
2003 ) -> ::std::os::raw::c_int;
2004}
2005extern "C" {
2006 pub fn blas_dussm_(
2007 order: *mut blas_order_type,
2008 transT: *mut blas_trans_type,
2009 nrhs: *mut ::std::os::raw::c_int,
2010 alpha: *mut f64,
2011 T: *mut blas_sparse_matrix,
2012 b: *mut f64,
2013 ldb: *mut ::std::os::raw::c_int,
2014 istat: *mut ::std::os::raw::c_int,
2015 );
2016}
2017extern "C" {
2018 pub fn BLAS_cussm(
2019 order: blas_order_type,
2020 transT: blas_trans_type,
2021 nrhs: ::std::os::raw::c_int,
2022 alpha: *const ::std::os::raw::c_void,
2023 T: blas_sparse_matrix,
2024 b: *mut ::std::os::raw::c_void,
2025 ldb: ::std::os::raw::c_int,
2026 ) -> ::std::os::raw::c_int;
2027}
2028extern "C" {
2029 pub fn blas_cussm_(
2030 order: *mut blas_order_type,
2031 transT: *mut blas_trans_type,
2032 nrhs: *mut ::std::os::raw::c_int,
2033 alpha: *const ::std::os::raw::c_void,
2034 T: *mut blas_sparse_matrix,
2035 b: *mut ::std::os::raw::c_void,
2036 ldb: *mut ::std::os::raw::c_int,
2037 istat: *mut ::std::os::raw::c_int,
2038 );
2039}
2040extern "C" {
2041 pub fn BLAS_zussm(
2042 order: blas_order_type,
2043 transT: blas_trans_type,
2044 nrhs: ::std::os::raw::c_int,
2045 alpha: *const ::std::os::raw::c_void,
2046 T: blas_sparse_matrix,
2047 b: *mut ::std::os::raw::c_void,
2048 ldb: ::std::os::raw::c_int,
2049 ) -> ::std::os::raw::c_int;
2050}
2051extern "C" {
2052 pub fn blas_zussm_(
2053 order: *mut blas_order_type,
2054 transT: *mut blas_trans_type,
2055 nrhs: *mut ::std::os::raw::c_int,
2056 alpha: *const ::std::os::raw::c_void,
2057 T: *mut blas_sparse_matrix,
2058 b: *mut ::std::os::raw::c_void,
2059 ldb: *mut ::std::os::raw::c_int,
2060 istat: *mut ::std::os::raw::c_int,
2061 );
2062}
2063extern "C" {
2064 pub fn BLAS_suscr_begin(
2065 m: ::std::os::raw::c_int,
2066 n: ::std::os::raw::c_int,
2067 ) -> blas_sparse_matrix;
2068}
2069extern "C" {
2070 pub fn blas_suscr_begin_(
2071 m: *mut ::std::os::raw::c_int,
2072 n: *mut ::std::os::raw::c_int,
2073 A: *mut blas_sparse_matrix,
2074 istat: *mut ::std::os::raw::c_int,
2075 );
2076}
2077extern "C" {
2078 pub fn BLAS_duscr_begin(
2079 m: ::std::os::raw::c_int,
2080 n: ::std::os::raw::c_int,
2081 ) -> blas_sparse_matrix;
2082}
2083extern "C" {
2084 pub fn blas_duscr_begin_(
2085 m: *mut ::std::os::raw::c_int,
2086 n: *mut ::std::os::raw::c_int,
2087 A: *mut blas_sparse_matrix,
2088 istat: *mut ::std::os::raw::c_int,
2089 );
2090}
2091extern "C" {
2092 pub fn BLAS_cuscr_begin(
2093 m: ::std::os::raw::c_int,
2094 n: ::std::os::raw::c_int,
2095 ) -> blas_sparse_matrix;
2096}
2097extern "C" {
2098 pub fn blas_cuscr_begin_(
2099 m: *mut ::std::os::raw::c_int,
2100 n: *mut ::std::os::raw::c_int,
2101 A: *mut blas_sparse_matrix,
2102 istat: *mut ::std::os::raw::c_int,
2103 );
2104}
2105extern "C" {
2106 pub fn BLAS_zuscr_begin(
2107 m: ::std::os::raw::c_int,
2108 n: ::std::os::raw::c_int,
2109 ) -> blas_sparse_matrix;
2110}
2111extern "C" {
2112 pub fn blas_zuscr_begin_(
2113 m: *mut ::std::os::raw::c_int,
2114 n: *mut ::std::os::raw::c_int,
2115 A: *mut blas_sparse_matrix,
2116 istat: *mut ::std::os::raw::c_int,
2117 );
2118}
2119extern "C" {
2120 pub fn BLAS_suscr_block_begin(
2121 Mb: ::std::os::raw::c_int,
2122 Nb: ::std::os::raw::c_int,
2123 k: ::std::os::raw::c_int,
2124 l: ::std::os::raw::c_int,
2125 ) -> blas_sparse_matrix;
2126}
2127extern "C" {
2128 pub fn blas_suscr_block_begin_(
2129 Mb: *mut ::std::os::raw::c_int,
2130 Nb: *mut ::std::os::raw::c_int,
2131 k: *mut ::std::os::raw::c_int,
2132 l: *mut ::std::os::raw::c_int,
2133 A: *mut blas_sparse_matrix,
2134 istat: *mut ::std::os::raw::c_int,
2135 );
2136}
2137extern "C" {
2138 pub fn BLAS_duscr_block_begin(
2139 Mb: ::std::os::raw::c_int,
2140 Nb: ::std::os::raw::c_int,
2141 k: ::std::os::raw::c_int,
2142 l: ::std::os::raw::c_int,
2143 ) -> blas_sparse_matrix;
2144}
2145extern "C" {
2146 pub fn blas_duscr_block_begin_(
2147 Mb: *mut ::std::os::raw::c_int,
2148 Nb: *mut ::std::os::raw::c_int,
2149 k: *mut ::std::os::raw::c_int,
2150 l: *mut ::std::os::raw::c_int,
2151 A: *mut blas_sparse_matrix,
2152 istat: *mut ::std::os::raw::c_int,
2153 );
2154}
2155extern "C" {
2156 pub fn BLAS_cuscr_block_begin(
2157 Mb: ::std::os::raw::c_int,
2158 Nb: ::std::os::raw::c_int,
2159 k: ::std::os::raw::c_int,
2160 l: ::std::os::raw::c_int,
2161 ) -> blas_sparse_matrix;
2162}
2163extern "C" {
2164 pub fn blas_cuscr_block_begin_(
2165 Mb: *mut ::std::os::raw::c_int,
2166 Nb: *mut ::std::os::raw::c_int,
2167 k: *mut ::std::os::raw::c_int,
2168 l: *mut ::std::os::raw::c_int,
2169 A: *mut blas_sparse_matrix,
2170 istat: *mut ::std::os::raw::c_int,
2171 );
2172}
2173extern "C" {
2174 pub fn BLAS_zuscr_block_begin(
2175 Mb: ::std::os::raw::c_int,
2176 Nb: ::std::os::raw::c_int,
2177 k: ::std::os::raw::c_int,
2178 l: ::std::os::raw::c_int,
2179 ) -> blas_sparse_matrix;
2180}
2181extern "C" {
2182 pub fn blas_zuscr_block_begin_(
2183 Mb: *mut ::std::os::raw::c_int,
2184 Nb: *mut ::std::os::raw::c_int,
2185 k: *mut ::std::os::raw::c_int,
2186 l: *mut ::std::os::raw::c_int,
2187 A: *mut blas_sparse_matrix,
2188 istat: *mut ::std::os::raw::c_int,
2189 );
2190}
2191extern "C" {
2192 pub fn BLAS_suscr_variable_block_begin(
2193 Mb: ::std::os::raw::c_int,
2194 Nb: ::std::os::raw::c_int,
2195 K: *const ::std::os::raw::c_int,
2196 L: *const ::std::os::raw::c_int,
2197 ) -> blas_sparse_matrix;
2198}
2199extern "C" {
2200 pub fn blas_suscr_variable_block_begin_(
2201 Mb: *mut ::std::os::raw::c_int,
2202 Nb: *mut ::std::os::raw::c_int,
2203 K: *const ::std::os::raw::c_int,
2204 L: *const ::std::os::raw::c_int,
2205 A: *mut blas_sparse_matrix,
2206 istat: *mut ::std::os::raw::c_int,
2207 );
2208}
2209extern "C" {
2210 pub fn BLAS_duscr_variable_block_begin(
2211 Mb: ::std::os::raw::c_int,
2212 Nb: ::std::os::raw::c_int,
2213 K: *const ::std::os::raw::c_int,
2214 L: *const ::std::os::raw::c_int,
2215 ) -> blas_sparse_matrix;
2216}
2217extern "C" {
2218 pub fn blas_duscr_variable_block_begin_(
2219 Mb: *mut ::std::os::raw::c_int,
2220 Nb: *mut ::std::os::raw::c_int,
2221 K: *const ::std::os::raw::c_int,
2222 L: *const ::std::os::raw::c_int,
2223 A: *mut blas_sparse_matrix,
2224 istat: *mut ::std::os::raw::c_int,
2225 );
2226}
2227extern "C" {
2228 pub fn BLAS_cuscr_variable_block_begin(
2229 Mb: ::std::os::raw::c_int,
2230 Nb: ::std::os::raw::c_int,
2231 K: *const ::std::os::raw::c_int,
2232 L: *const ::std::os::raw::c_int,
2233 ) -> blas_sparse_matrix;
2234}
2235extern "C" {
2236 pub fn blas_cuscr_variable_block_begin_(
2237 Mb: *mut ::std::os::raw::c_int,
2238 Nb: *mut ::std::os::raw::c_int,
2239 K: *const ::std::os::raw::c_int,
2240 L: *const ::std::os::raw::c_int,
2241 A: *mut blas_sparse_matrix,
2242 istat: *mut ::std::os::raw::c_int,
2243 );
2244}
2245extern "C" {
2246 pub fn BLAS_zuscr_variable_block_begin(
2247 Mb: ::std::os::raw::c_int,
2248 Nb: ::std::os::raw::c_int,
2249 K: *const ::std::os::raw::c_int,
2250 L: *const ::std::os::raw::c_int,
2251 ) -> blas_sparse_matrix;
2252}
2253extern "C" {
2254 pub fn blas_zuscr_variable_block_begin_(
2255 Mb: *mut ::std::os::raw::c_int,
2256 Nb: *mut ::std::os::raw::c_int,
2257 K: *const ::std::os::raw::c_int,
2258 L: *const ::std::os::raw::c_int,
2259 A: *mut blas_sparse_matrix,
2260 istat: *mut ::std::os::raw::c_int,
2261 );
2262}
2263extern "C" {
2264 pub fn BLAS_suscr_end(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2265}
2266extern "C" {
2267 pub fn blas_suscr_end_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2268}
2269extern "C" {
2270 pub fn BLAS_duscr_end(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2271}
2272extern "C" {
2273 pub fn blas_duscr_end_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2274}
2275extern "C" {
2276 pub fn BLAS_cuscr_end(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2277}
2278extern "C" {
2279 pub fn blas_cuscr_end_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2280}
2281extern "C" {
2282 pub fn BLAS_zuscr_end(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2283}
2284extern "C" {
2285 pub fn blas_zuscr_end_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2286}
2287extern "C" {
2288 pub fn BLAS_suscr_insert_entry(
2289 A: blas_sparse_matrix,
2290 val: f32,
2291 i: ::std::os::raw::c_int,
2292 j: ::std::os::raw::c_int,
2293 ) -> ::std::os::raw::c_int;
2294}
2295extern "C" {
2296 pub fn blas_suscr_insert_entry_(
2297 A: *mut blas_sparse_matrix,
2298 val: *mut f32,
2299 i: *mut ::std::os::raw::c_int,
2300 j: *mut ::std::os::raw::c_int,
2301 istat: *mut ::std::os::raw::c_int,
2302 );
2303}
2304extern "C" {
2305 pub fn BLAS_duscr_insert_entry(
2306 A: blas_sparse_matrix,
2307 val: f64,
2308 i: ::std::os::raw::c_int,
2309 j: ::std::os::raw::c_int,
2310 ) -> ::std::os::raw::c_int;
2311}
2312extern "C" {
2313 pub fn blas_duscr_insert_entry_(
2314 A: *mut blas_sparse_matrix,
2315 val: *mut f64,
2316 i: *mut ::std::os::raw::c_int,
2317 j: *mut ::std::os::raw::c_int,
2318 istat: *mut ::std::os::raw::c_int,
2319 );
2320}
2321extern "C" {
2322 pub fn BLAS_cuscr_insert_entry(
2323 A: blas_sparse_matrix,
2324 val: *const ::std::os::raw::c_void,
2325 i: ::std::os::raw::c_int,
2326 j: ::std::os::raw::c_int,
2327 ) -> ::std::os::raw::c_int;
2328}
2329extern "C" {
2330 pub fn blas_cuscr_insert_entry_(
2331 A: *mut blas_sparse_matrix,
2332 val: *const ::std::os::raw::c_void,
2333 i: *mut ::std::os::raw::c_int,
2334 j: *mut ::std::os::raw::c_int,
2335 istat: *mut ::std::os::raw::c_int,
2336 );
2337}
2338extern "C" {
2339 pub fn BLAS_zuscr_insert_entry(
2340 A: blas_sparse_matrix,
2341 val: *const ::std::os::raw::c_void,
2342 i: ::std::os::raw::c_int,
2343 j: ::std::os::raw::c_int,
2344 ) -> ::std::os::raw::c_int;
2345}
2346extern "C" {
2347 pub fn blas_zuscr_insert_entry_(
2348 A: *mut blas_sparse_matrix,
2349 val: *const ::std::os::raw::c_void,
2350 i: *mut ::std::os::raw::c_int,
2351 j: *mut ::std::os::raw::c_int,
2352 istat: *mut ::std::os::raw::c_int,
2353 );
2354}
2355extern "C" {
2356 pub fn BLAS_suscr_insert_entries(
2357 A: blas_sparse_matrix,
2358 nnz: ::std::os::raw::c_int,
2359 val: *const f32,
2360 indx: *const ::std::os::raw::c_int,
2361 jndx: *const ::std::os::raw::c_int,
2362 ) -> ::std::os::raw::c_int;
2363}
2364extern "C" {
2365 pub fn blas_suscr_insert_entries_(
2366 A: *mut blas_sparse_matrix,
2367 nnz: *mut ::std::os::raw::c_int,
2368 val: *const f32,
2369 indx: *const ::std::os::raw::c_int,
2370 jndx: *const ::std::os::raw::c_int,
2371 istat: *mut ::std::os::raw::c_int,
2372 );
2373}
2374extern "C" {
2375 pub fn BLAS_duscr_insert_entries(
2376 A: blas_sparse_matrix,
2377 nnz: ::std::os::raw::c_int,
2378 val: *const f64,
2379 indx: *const ::std::os::raw::c_int,
2380 jndx: *const ::std::os::raw::c_int,
2381 ) -> ::std::os::raw::c_int;
2382}
2383extern "C" {
2384 pub fn blas_duscr_insert_entries_(
2385 A: *mut blas_sparse_matrix,
2386 nnz: *mut ::std::os::raw::c_int,
2387 val: *const f64,
2388 indx: *const ::std::os::raw::c_int,
2389 jndx: *const ::std::os::raw::c_int,
2390 istat: *mut ::std::os::raw::c_int,
2391 );
2392}
2393extern "C" {
2394 pub fn BLAS_cuscr_insert_entries(
2395 A: blas_sparse_matrix,
2396 nnz: ::std::os::raw::c_int,
2397 val: *const ::std::os::raw::c_void,
2398 indx: *const ::std::os::raw::c_int,
2399 jndx: *const ::std::os::raw::c_int,
2400 ) -> ::std::os::raw::c_int;
2401}
2402extern "C" {
2403 pub fn blas_cuscr_insert_entries_(
2404 A: *mut blas_sparse_matrix,
2405 nnz: *mut ::std::os::raw::c_int,
2406 val: *const ::std::os::raw::c_void,
2407 indx: *const ::std::os::raw::c_int,
2408 jndx: *const ::std::os::raw::c_int,
2409 istat: *mut ::std::os::raw::c_int,
2410 );
2411}
2412extern "C" {
2413 pub fn BLAS_zuscr_insert_entries(
2414 A: blas_sparse_matrix,
2415 nnz: ::std::os::raw::c_int,
2416 val: *const ::std::os::raw::c_void,
2417 indx: *const ::std::os::raw::c_int,
2418 jndx: *const ::std::os::raw::c_int,
2419 ) -> ::std::os::raw::c_int;
2420}
2421extern "C" {
2422 pub fn blas_zuscr_insert_entries_(
2423 A: *mut blas_sparse_matrix,
2424 nnz: *mut ::std::os::raw::c_int,
2425 val: *const ::std::os::raw::c_void,
2426 indx: *const ::std::os::raw::c_int,
2427 jndx: *const ::std::os::raw::c_int,
2428 istat: *mut ::std::os::raw::c_int,
2429 );
2430}
2431extern "C" {
2432 pub fn BLAS_suscr_insert_col(
2433 A: blas_sparse_matrix,
2434 j: ::std::os::raw::c_int,
2435 nnz: ::std::os::raw::c_int,
2436 val: *const f32,
2437 indx: *const ::std::os::raw::c_int,
2438 ) -> ::std::os::raw::c_int;
2439}
2440extern "C" {
2441 pub fn blas_suscr_insert_col_(
2442 A: *mut blas_sparse_matrix,
2443 j: *mut ::std::os::raw::c_int,
2444 nnz: *mut ::std::os::raw::c_int,
2445 val: *const f32,
2446 indx: *const ::std::os::raw::c_int,
2447 istat: *mut ::std::os::raw::c_int,
2448 );
2449}
2450extern "C" {
2451 pub fn BLAS_duscr_insert_col(
2452 A: blas_sparse_matrix,
2453 j: ::std::os::raw::c_int,
2454 nnz: ::std::os::raw::c_int,
2455 val: *const f64,
2456 indx: *const ::std::os::raw::c_int,
2457 ) -> ::std::os::raw::c_int;
2458}
2459extern "C" {
2460 pub fn blas_duscr_insert_col_(
2461 A: *mut blas_sparse_matrix,
2462 j: *mut ::std::os::raw::c_int,
2463 nnz: *mut ::std::os::raw::c_int,
2464 val: *const f64,
2465 indx: *const ::std::os::raw::c_int,
2466 istat: *mut ::std::os::raw::c_int,
2467 );
2468}
2469extern "C" {
2470 pub fn BLAS_cuscr_insert_col(
2471 A: blas_sparse_matrix,
2472 j: ::std::os::raw::c_int,
2473 nnz: ::std::os::raw::c_int,
2474 val: *const ::std::os::raw::c_void,
2475 indx: *const ::std::os::raw::c_int,
2476 ) -> ::std::os::raw::c_int;
2477}
2478extern "C" {
2479 pub fn blas_cuscr_insert_col_(
2480 A: *mut blas_sparse_matrix,
2481 j: *mut ::std::os::raw::c_int,
2482 nnz: *mut ::std::os::raw::c_int,
2483 val: *const ::std::os::raw::c_void,
2484 indx: *const ::std::os::raw::c_int,
2485 istat: *mut ::std::os::raw::c_int,
2486 );
2487}
2488extern "C" {
2489 pub fn BLAS_zuscr_insert_col(
2490 A: blas_sparse_matrix,
2491 j: ::std::os::raw::c_int,
2492 nnz: ::std::os::raw::c_int,
2493 val: *const ::std::os::raw::c_void,
2494 indx: *const ::std::os::raw::c_int,
2495 ) -> ::std::os::raw::c_int;
2496}
2497extern "C" {
2498 pub fn blas_zuscr_insert_col_(
2499 A: *mut blas_sparse_matrix,
2500 j: *mut ::std::os::raw::c_int,
2501 nnz: *mut ::std::os::raw::c_int,
2502 val: *const ::std::os::raw::c_void,
2503 indx: *const ::std::os::raw::c_int,
2504 istat: *mut ::std::os::raw::c_int,
2505 );
2506}
2507extern "C" {
2508 pub fn BLAS_suscr_insert_row(
2509 A: blas_sparse_matrix,
2510 i: ::std::os::raw::c_int,
2511 nnz: ::std::os::raw::c_int,
2512 val: *const f32,
2513 indx: *const ::std::os::raw::c_int,
2514 ) -> ::std::os::raw::c_int;
2515}
2516extern "C" {
2517 pub fn blas_suscr_insert_row_(
2518 A: *mut blas_sparse_matrix,
2519 i: *mut ::std::os::raw::c_int,
2520 nnz: *mut ::std::os::raw::c_int,
2521 val: *const f32,
2522 indx: *const ::std::os::raw::c_int,
2523 istat: *mut ::std::os::raw::c_int,
2524 );
2525}
2526extern "C" {
2527 pub fn BLAS_duscr_insert_row(
2528 A: blas_sparse_matrix,
2529 i: ::std::os::raw::c_int,
2530 nnz: ::std::os::raw::c_int,
2531 val: *const f64,
2532 indx: *const ::std::os::raw::c_int,
2533 ) -> ::std::os::raw::c_int;
2534}
2535extern "C" {
2536 pub fn blas_duscr_insert_row_(
2537 A: *mut blas_sparse_matrix,
2538 i: *mut ::std::os::raw::c_int,
2539 nnz: *mut ::std::os::raw::c_int,
2540 val: *const f64,
2541 indx: *const ::std::os::raw::c_int,
2542 istat: *mut ::std::os::raw::c_int,
2543 );
2544}
2545extern "C" {
2546 pub fn BLAS_cuscr_insert_row(
2547 A: blas_sparse_matrix,
2548 i: ::std::os::raw::c_int,
2549 nnz: ::std::os::raw::c_int,
2550 val: *const ::std::os::raw::c_void,
2551 indx: *const ::std::os::raw::c_int,
2552 ) -> ::std::os::raw::c_int;
2553}
2554extern "C" {
2555 pub fn blas_cuscr_insert_row_(
2556 A: *mut blas_sparse_matrix,
2557 i: *mut ::std::os::raw::c_int,
2558 nnz: *mut ::std::os::raw::c_int,
2559 val: *const ::std::os::raw::c_void,
2560 indx: *const ::std::os::raw::c_int,
2561 istat: *mut ::std::os::raw::c_int,
2562 );
2563}
2564extern "C" {
2565 pub fn BLAS_zuscr_insert_row(
2566 A: blas_sparse_matrix,
2567 i: ::std::os::raw::c_int,
2568 nnz: ::std::os::raw::c_int,
2569 val: *const ::std::os::raw::c_void,
2570 indx: *const ::std::os::raw::c_int,
2571 ) -> ::std::os::raw::c_int;
2572}
2573extern "C" {
2574 pub fn blas_zuscr_insert_row_(
2575 A: *mut blas_sparse_matrix,
2576 i: *mut ::std::os::raw::c_int,
2577 nnz: *mut ::std::os::raw::c_int,
2578 val: *const ::std::os::raw::c_void,
2579 indx: *const ::std::os::raw::c_int,
2580 istat: *mut ::std::os::raw::c_int,
2581 );
2582}
2583extern "C" {
2584 pub fn BLAS_suscr_insert_clique(
2585 A: blas_sparse_matrix,
2586 k: ::std::os::raw::c_int,
2587 l: ::std::os::raw::c_int,
2588 val: *const f32,
2589 row_stride: ::std::os::raw::c_int,
2590 col_stride: ::std::os::raw::c_int,
2591 indx: *const ::std::os::raw::c_int,
2592 jndx: *const ::std::os::raw::c_int,
2593 ) -> ::std::os::raw::c_int;
2594}
2595extern "C" {
2596 pub fn blas_suscr_insert_clique_(
2597 A: *mut blas_sparse_matrix,
2598 k: *const ::std::os::raw::c_int,
2599 l: *const ::std::os::raw::c_int,
2600 val: *const f32,
2601 row_stride: *const ::std::os::raw::c_int,
2602 col_stride: *const ::std::os::raw::c_int,
2603 indx: *const ::std::os::raw::c_int,
2604 jndx: *const ::std::os::raw::c_int,
2605 istat: *mut ::std::os::raw::c_int,
2606 );
2607}
2608extern "C" {
2609 pub fn BLAS_duscr_insert_clique(
2610 A: blas_sparse_matrix,
2611 k: ::std::os::raw::c_int,
2612 l: ::std::os::raw::c_int,
2613 val: *const f64,
2614 row_stride: ::std::os::raw::c_int,
2615 col_stride: ::std::os::raw::c_int,
2616 indx: *const ::std::os::raw::c_int,
2617 jndx: *const ::std::os::raw::c_int,
2618 ) -> ::std::os::raw::c_int;
2619}
2620extern "C" {
2621 pub fn blas_duscr_insert_clique_(
2622 A: *mut blas_sparse_matrix,
2623 k: *const ::std::os::raw::c_int,
2624 l: *const ::std::os::raw::c_int,
2625 val: *const f64,
2626 row_stride: *const ::std::os::raw::c_int,
2627 col_stride: *const ::std::os::raw::c_int,
2628 indx: *const ::std::os::raw::c_int,
2629 jndx: *const ::std::os::raw::c_int,
2630 istat: *mut ::std::os::raw::c_int,
2631 );
2632}
2633extern "C" {
2634 pub fn BLAS_cuscr_insert_clique(
2635 A: blas_sparse_matrix,
2636 k: ::std::os::raw::c_int,
2637 l: ::std::os::raw::c_int,
2638 val: *const ::std::os::raw::c_void,
2639 row_stride: ::std::os::raw::c_int,
2640 col_stride: ::std::os::raw::c_int,
2641 indx: *const ::std::os::raw::c_int,
2642 jndx: *const ::std::os::raw::c_int,
2643 ) -> ::std::os::raw::c_int;
2644}
2645extern "C" {
2646 pub fn blas_cuscr_insert_clique_(
2647 A: *mut blas_sparse_matrix,
2648 k: *const ::std::os::raw::c_int,
2649 l: *const ::std::os::raw::c_int,
2650 val: *const ::std::os::raw::c_void,
2651 row_stride: *const ::std::os::raw::c_int,
2652 col_stride: *const ::std::os::raw::c_int,
2653 indx: *const ::std::os::raw::c_int,
2654 jndx: *const ::std::os::raw::c_int,
2655 istat: *mut ::std::os::raw::c_int,
2656 );
2657}
2658extern "C" {
2659 pub fn BLAS_zuscr_insert_clique(
2660 A: blas_sparse_matrix,
2661 k: ::std::os::raw::c_int,
2662 l: ::std::os::raw::c_int,
2663 val: *const ::std::os::raw::c_void,
2664 row_stride: ::std::os::raw::c_int,
2665 col_stride: ::std::os::raw::c_int,
2666 indx: *const ::std::os::raw::c_int,
2667 jndx: *const ::std::os::raw::c_int,
2668 ) -> ::std::os::raw::c_int;
2669}
2670extern "C" {
2671 pub fn blas_zuscr_insert_clique_(
2672 A: *mut blas_sparse_matrix,
2673 k: *const ::std::os::raw::c_int,
2674 l: *const ::std::os::raw::c_int,
2675 val: *const ::std::os::raw::c_void,
2676 row_stride: *const ::std::os::raw::c_int,
2677 col_stride: *const ::std::os::raw::c_int,
2678 indx: *const ::std::os::raw::c_int,
2679 jndx: *const ::std::os::raw::c_int,
2680 istat: *mut ::std::os::raw::c_int,
2681 );
2682}
2683extern "C" {
2684 pub fn BLAS_suscr_insert_block(
2685 A: blas_sparse_matrix,
2686 val: *const f32,
2687 row_stride: ::std::os::raw::c_int,
2688 col_stride: ::std::os::raw::c_int,
2689 i: ::std::os::raw::c_int,
2690 j: ::std::os::raw::c_int,
2691 ) -> ::std::os::raw::c_int;
2692}
2693extern "C" {
2694 pub fn blas_suscr_insert_block_(
2695 A: *mut blas_sparse_matrix,
2696 val: *const f32,
2697 row_stride: *mut ::std::os::raw::c_int,
2698 col_stride: *mut ::std::os::raw::c_int,
2699 i: *mut ::std::os::raw::c_int,
2700 j: *mut ::std::os::raw::c_int,
2701 istat: *mut ::std::os::raw::c_int,
2702 );
2703}
2704extern "C" {
2705 pub fn BLAS_duscr_insert_block(
2706 A: blas_sparse_matrix,
2707 val: *const f64,
2708 row_stride: ::std::os::raw::c_int,
2709 col_stride: ::std::os::raw::c_int,
2710 i: ::std::os::raw::c_int,
2711 j: ::std::os::raw::c_int,
2712 ) -> ::std::os::raw::c_int;
2713}
2714extern "C" {
2715 pub fn blas_duscr_insert_block_(
2716 A: *mut blas_sparse_matrix,
2717 val: *const f64,
2718 row_stride: *mut ::std::os::raw::c_int,
2719 col_stride: *mut ::std::os::raw::c_int,
2720 i: *mut ::std::os::raw::c_int,
2721 j: *mut ::std::os::raw::c_int,
2722 istat: *mut ::std::os::raw::c_int,
2723 );
2724}
2725extern "C" {
2726 pub fn BLAS_cuscr_insert_block(
2727 A: blas_sparse_matrix,
2728 val: *const ::std::os::raw::c_void,
2729 row_stride: ::std::os::raw::c_int,
2730 col_stride: ::std::os::raw::c_int,
2731 i: ::std::os::raw::c_int,
2732 j: ::std::os::raw::c_int,
2733 ) -> ::std::os::raw::c_int;
2734}
2735extern "C" {
2736 pub fn blas_cuscr_insert_block_(
2737 A: *mut blas_sparse_matrix,
2738 val: *const ::std::os::raw::c_void,
2739 row_stride: *mut ::std::os::raw::c_int,
2740 col_stride: *mut ::std::os::raw::c_int,
2741 i: *mut ::std::os::raw::c_int,
2742 j: *mut ::std::os::raw::c_int,
2743 istat: *mut ::std::os::raw::c_int,
2744 );
2745}
2746extern "C" {
2747 pub fn BLAS_zuscr_insert_block(
2748 A: blas_sparse_matrix,
2749 val: *const ::std::os::raw::c_void,
2750 row_stride: ::std::os::raw::c_int,
2751 col_stride: ::std::os::raw::c_int,
2752 i: ::std::os::raw::c_int,
2753 j: ::std::os::raw::c_int,
2754 ) -> ::std::os::raw::c_int;
2755}
2756extern "C" {
2757 pub fn blas_zuscr_insert_block_(
2758 A: *mut blas_sparse_matrix,
2759 val: *const ::std::os::raw::c_void,
2760 row_stride: *mut ::std::os::raw::c_int,
2761 col_stride: *mut ::std::os::raw::c_int,
2762 i: *mut ::std::os::raw::c_int,
2763 j: *mut ::std::os::raw::c_int,
2764 istat: *mut ::std::os::raw::c_int,
2765 );
2766}
2767extern "C" {
2768 pub fn BLAS_uscr_end(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2769}
2770extern "C" {
2771 pub fn blas_uscr_end_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2772}
2773extern "C" {
2774 pub fn BLAS_usds(A: blas_sparse_matrix) -> ::std::os::raw::c_int;
2775}
2776extern "C" {
2777 pub fn blas_usds_(A: *mut blas_sparse_matrix, istat: *mut ::std::os::raw::c_int);
2778}
2779extern "C" {
2780 pub fn BLAS_susrows_scale(
2781 A: blas_sparse_matrix,
2782 d: *const f32,
2783 trans: blas_trans_type,
2784 ) -> ::std::os::raw::c_int;
2785}
2786extern "C" {
2787 pub fn blas_susrows_scale_(
2788 A: *mut blas_sparse_matrix,
2789 d: *const f32,
2790 trans: *mut blas_trans_type,
2791 istat: *mut ::std::os::raw::c_int,
2792 );
2793}
2794extern "C" {
2795 pub fn BLAS_dusrows_scale(
2796 A: blas_sparse_matrix,
2797 d: *const f64,
2798 trans: blas_trans_type,
2799 ) -> ::std::os::raw::c_int;
2800}
2801extern "C" {
2802 pub fn blas_dusrows_scale_(
2803 A: *mut blas_sparse_matrix,
2804 d: *const f64,
2805 trans: *mut blas_trans_type,
2806 istat: *mut ::std::os::raw::c_int,
2807 );
2808}
2809extern "C" {
2810 pub fn BLAS_cusrows_scale(
2811 A: blas_sparse_matrix,
2812 d: *const ::std::os::raw::c_void,
2813 trans: blas_trans_type,
2814 ) -> ::std::os::raw::c_int;
2815}
2816extern "C" {
2817 pub fn blas_cusrows_scale_(
2818 A: *mut blas_sparse_matrix,
2819 d: *const ::std::os::raw::c_void,
2820 trans: *mut blas_trans_type,
2821 istat: *mut ::std::os::raw::c_int,
2822 );
2823}
2824extern "C" {
2825 pub fn BLAS_zusrows_scale(
2826 A: blas_sparse_matrix,
2827 d: *const ::std::os::raw::c_void,
2828 trans: blas_trans_type,
2829 ) -> ::std::os::raw::c_int;
2830}
2831extern "C" {
2832 pub fn blas_zusrows_scale_(
2833 A: *mut blas_sparse_matrix,
2834 d: *const ::std::os::raw::c_void,
2835 trans: *mut blas_trans_type,
2836 istat: *mut ::std::os::raw::c_int,
2837 );
2838}
2839extern "C" {
2840 pub fn BLAS_susget_diag(A: blas_sparse_matrix, d: *mut f32) -> ::std::os::raw::c_int;
2841}
2842extern "C" {
2843 pub fn blas_susget_diag_(
2844 A: *mut blas_sparse_matrix,
2845 d: *mut f32,
2846 istat: *mut ::std::os::raw::c_int,
2847 );
2848}
2849extern "C" {
2850 pub fn BLAS_dusget_diag(A: blas_sparse_matrix, d: *mut f64) -> ::std::os::raw::c_int;
2851}
2852extern "C" {
2853 pub fn blas_dusget_diag_(
2854 A: *mut blas_sparse_matrix,
2855 d: *mut f64,
2856 istat: *mut ::std::os::raw::c_int,
2857 );
2858}
2859extern "C" {
2860 pub fn BLAS_cusget_diag(
2861 A: blas_sparse_matrix,
2862 d: *mut ::std::os::raw::c_void,
2863 ) -> ::std::os::raw::c_int;
2864}
2865extern "C" {
2866 pub fn blas_cusget_diag_(
2867 A: *mut blas_sparse_matrix,
2868 d: *mut ::std::os::raw::c_void,
2869 istat: *mut ::std::os::raw::c_int,
2870 );
2871}
2872extern "C" {
2873 pub fn BLAS_zusget_diag(
2874 A: blas_sparse_matrix,
2875 d: *mut ::std::os::raw::c_void,
2876 ) -> ::std::os::raw::c_int;
2877}
2878extern "C" {
2879 pub fn blas_zusget_diag_(
2880 A: *mut blas_sparse_matrix,
2881 d: *mut ::std::os::raw::c_void,
2882 istat: *mut ::std::os::raw::c_int,
2883 );
2884}
2885extern "C" {
2886 pub fn BLAS_susget_rows_nnz(
2887 A: blas_sparse_matrix,
2888 fr: ::std::os::raw::c_int,
2889 lr: ::std::os::raw::c_int,
2890 nnzp: *mut ::std::os::raw::c_int,
2891 ) -> ::std::os::raw::c_int;
2892}
2893extern "C" {
2894 pub fn blas_susget_rows_nnz_(
2895 A: *mut blas_sparse_matrix,
2896 fr: *mut ::std::os::raw::c_int,
2897 lr: *mut ::std::os::raw::c_int,
2898 nnzp: *mut ::std::os::raw::c_int,
2899 istat: *mut ::std::os::raw::c_int,
2900 );
2901}
2902extern "C" {
2903 pub fn BLAS_dusget_rows_nnz(
2904 A: blas_sparse_matrix,
2905 fr: ::std::os::raw::c_int,
2906 lr: ::std::os::raw::c_int,
2907 nnzp: *mut ::std::os::raw::c_int,
2908 ) -> ::std::os::raw::c_int;
2909}
2910extern "C" {
2911 pub fn blas_dusget_rows_nnz_(
2912 A: *mut blas_sparse_matrix,
2913 fr: *mut ::std::os::raw::c_int,
2914 lr: *mut ::std::os::raw::c_int,
2915 nnzp: *mut ::std::os::raw::c_int,
2916 istat: *mut ::std::os::raw::c_int,
2917 );
2918}
2919extern "C" {
2920 pub fn BLAS_cusget_rows_nnz(
2921 A: blas_sparse_matrix,
2922 fr: ::std::os::raw::c_int,
2923 lr: ::std::os::raw::c_int,
2924 nnzp: *mut ::std::os::raw::c_int,
2925 ) -> ::std::os::raw::c_int;
2926}
2927extern "C" {
2928 pub fn blas_cusget_rows_nnz_(
2929 A: *mut blas_sparse_matrix,
2930 fr: *mut ::std::os::raw::c_int,
2931 lr: *mut ::std::os::raw::c_int,
2932 nnzp: *mut ::std::os::raw::c_int,
2933 istat: *mut ::std::os::raw::c_int,
2934 );
2935}
2936extern "C" {
2937 pub fn BLAS_zusget_rows_nnz(
2938 A: blas_sparse_matrix,
2939 fr: ::std::os::raw::c_int,
2940 lr: ::std::os::raw::c_int,
2941 nnzp: *mut ::std::os::raw::c_int,
2942 ) -> ::std::os::raw::c_int;
2943}
2944extern "C" {
2945 pub fn blas_zusget_rows_nnz_(
2946 A: *mut blas_sparse_matrix,
2947 fr: *mut ::std::os::raw::c_int,
2948 lr: *mut ::std::os::raw::c_int,
2949 nnzp: *mut ::std::os::raw::c_int,
2950 istat: *mut ::std::os::raw::c_int,
2951 );
2952}
2953extern "C" {
2954 pub fn BLAS_susget_rows_sparse(
2955 A: blas_sparse_matrix,
2956 VA: *mut f32,
2957 IA: *mut ::std::os::raw::c_int,
2958 JA: *mut ::std::os::raw::c_int,
2959 nnz: *mut ::std::os::raw::c_int,
2960 fr: ::std::os::raw::c_int,
2961 lr: ::std::os::raw::c_int,
2962 ) -> ::std::os::raw::c_int;
2963}
2964extern "C" {
2965 pub fn blas_susget_rows_sparse_(
2966 A: *mut blas_sparse_matrix,
2967 VA: *mut f32,
2968 IA: *mut ::std::os::raw::c_int,
2969 JA: *mut ::std::os::raw::c_int,
2970 nnz: *mut ::std::os::raw::c_int,
2971 fr: *mut ::std::os::raw::c_int,
2972 lr: *mut ::std::os::raw::c_int,
2973 istat: *mut ::std::os::raw::c_int,
2974 );
2975}
2976extern "C" {
2977 pub fn BLAS_dusget_rows_sparse(
2978 A: blas_sparse_matrix,
2979 VA: *mut f64,
2980 IA: *mut ::std::os::raw::c_int,
2981 JA: *mut ::std::os::raw::c_int,
2982 nnz: *mut ::std::os::raw::c_int,
2983 fr: ::std::os::raw::c_int,
2984 lr: ::std::os::raw::c_int,
2985 ) -> ::std::os::raw::c_int;
2986}
2987extern "C" {
2988 pub fn blas_dusget_rows_sparse_(
2989 A: *mut blas_sparse_matrix,
2990 VA: *mut f64,
2991 IA: *mut ::std::os::raw::c_int,
2992 JA: *mut ::std::os::raw::c_int,
2993 nnz: *mut ::std::os::raw::c_int,
2994 fr: *mut ::std::os::raw::c_int,
2995 lr: *mut ::std::os::raw::c_int,
2996 istat: *mut ::std::os::raw::c_int,
2997 );
2998}
2999extern "C" {
3000 pub fn BLAS_cusget_rows_sparse(
3001 A: blas_sparse_matrix,
3002 VA: *mut ::std::os::raw::c_void,
3003 IA: *mut ::std::os::raw::c_int,
3004 JA: *mut ::std::os::raw::c_int,
3005 nnz: *mut ::std::os::raw::c_int,
3006 fr: ::std::os::raw::c_int,
3007 lr: ::std::os::raw::c_int,
3008 ) -> ::std::os::raw::c_int;
3009}
3010extern "C" {
3011 pub fn blas_cusget_rows_sparse_(
3012 A: *mut blas_sparse_matrix,
3013 VA: *mut ::std::os::raw::c_void,
3014 IA: *mut ::std::os::raw::c_int,
3015 JA: *mut ::std::os::raw::c_int,
3016 nnz: *mut ::std::os::raw::c_int,
3017 fr: *mut ::std::os::raw::c_int,
3018 lr: *mut ::std::os::raw::c_int,
3019 istat: *mut ::std::os::raw::c_int,
3020 );
3021}
3022extern "C" {
3023 pub fn BLAS_zusget_rows_sparse(
3024 A: blas_sparse_matrix,
3025 VA: *mut ::std::os::raw::c_void,
3026 IA: *mut ::std::os::raw::c_int,
3027 JA: *mut ::std::os::raw::c_int,
3028 nnz: *mut ::std::os::raw::c_int,
3029 fr: ::std::os::raw::c_int,
3030 lr: ::std::os::raw::c_int,
3031 ) -> ::std::os::raw::c_int;
3032}
3033extern "C" {
3034 pub fn blas_zusget_rows_sparse_(
3035 A: *mut blas_sparse_matrix,
3036 VA: *mut ::std::os::raw::c_void,
3037 IA: *mut ::std::os::raw::c_int,
3038 JA: *mut ::std::os::raw::c_int,
3039 nnz: *mut ::std::os::raw::c_int,
3040 fr: *mut ::std::os::raw::c_int,
3041 lr: *mut ::std::os::raw::c_int,
3042 istat: *mut ::std::os::raw::c_int,
3043 );
3044}
3045extern "C" {
3046 pub fn BLAS_susget_matrix_nnz(
3047 A: blas_sparse_matrix,
3048 nnz: *mut ::std::os::raw::c_int,
3049 ) -> ::std::os::raw::c_int;
3050}
3051extern "C" {
3052 pub fn blas_susget_matrix_nnz_(
3053 A: *mut blas_sparse_matrix,
3054 nnz: *mut ::std::os::raw::c_int,
3055 istat: *mut ::std::os::raw::c_int,
3056 );
3057}
3058extern "C" {
3059 pub fn BLAS_dusget_matrix_nnz(
3060 A: blas_sparse_matrix,
3061 nnz: *mut ::std::os::raw::c_int,
3062 ) -> ::std::os::raw::c_int;
3063}
3064extern "C" {
3065 pub fn blas_dusget_matrix_nnz_(
3066 A: *mut blas_sparse_matrix,
3067 nnz: *mut ::std::os::raw::c_int,
3068 istat: *mut ::std::os::raw::c_int,
3069 );
3070}
3071extern "C" {
3072 pub fn BLAS_cusget_matrix_nnz(
3073 A: blas_sparse_matrix,
3074 nnz: *mut ::std::os::raw::c_int,
3075 ) -> ::std::os::raw::c_int;
3076}
3077extern "C" {
3078 pub fn blas_cusget_matrix_nnz_(
3079 A: *mut blas_sparse_matrix,
3080 nnz: *mut ::std::os::raw::c_int,
3081 istat: *mut ::std::os::raw::c_int,
3082 );
3083}
3084extern "C" {
3085 pub fn BLAS_zusget_matrix_nnz(
3086 A: blas_sparse_matrix,
3087 nnz: *mut ::std::os::raw::c_int,
3088 ) -> ::std::os::raw::c_int;
3089}
3090extern "C" {
3091 pub fn blas_zusget_matrix_nnz_(
3092 A: *mut blas_sparse_matrix,
3093 nnz: *mut ::std::os::raw::c_int,
3094 istat: *mut ::std::os::raw::c_int,
3095 );
3096}
3097extern "C" {
3098 pub fn BLAS_susget_infinity_norm(
3099 A: blas_sparse_matrix,
3100 in_: *mut f32,
3101 trans: blas_trans_type,
3102 ) -> ::std::os::raw::c_int;
3103}
3104extern "C" {
3105 pub fn blas_susget_infinity_norm_(
3106 A: *mut blas_sparse_matrix,
3107 in_: *mut f32,
3108 trans: *mut blas_trans_type,
3109 istat: *mut ::std::os::raw::c_int,
3110 );
3111}
3112extern "C" {
3113 pub fn BLAS_dusget_infinity_norm(
3114 A: blas_sparse_matrix,
3115 in_: *mut f64,
3116 trans: blas_trans_type,
3117 ) -> ::std::os::raw::c_int;
3118}
3119extern "C" {
3120 pub fn blas_dusget_infinity_norm_(
3121 A: *mut blas_sparse_matrix,
3122 in_: *mut f64,
3123 trans: *mut blas_trans_type,
3124 istat: *mut ::std::os::raw::c_int,
3125 );
3126}
3127extern "C" {
3128 pub fn BLAS_cusget_infinity_norm(
3129 A: blas_sparse_matrix,
3130 in_: *mut ::std::os::raw::c_void,
3131 trans: blas_trans_type,
3132 ) -> ::std::os::raw::c_int;
3133}
3134extern "C" {
3135 pub fn blas_cusget_infinity_norm_(
3136 A: *mut blas_sparse_matrix,
3137 in_: *mut ::std::os::raw::c_void,
3138 trans: *mut blas_trans_type,
3139 istat: *mut ::std::os::raw::c_int,
3140 );
3141}
3142extern "C" {
3143 pub fn BLAS_zusget_infinity_norm(
3144 A: blas_sparse_matrix,
3145 in_: *mut ::std::os::raw::c_void,
3146 trans: blas_trans_type,
3147 ) -> ::std::os::raw::c_int;
3148}
3149extern "C" {
3150 pub fn blas_zusget_infinity_norm_(
3151 A: *mut blas_sparse_matrix,
3152 in_: *mut ::std::os::raw::c_void,
3153 trans: *mut blas_trans_type,
3154 istat: *mut ::std::os::raw::c_int,
3155 );
3156}
3157extern "C" {
3158 pub fn BLAS_susset_elements(
3159 A: blas_sparse_matrix,
3160 ia: *const ::std::os::raw::c_int,
3161 ja: *const ::std::os::raw::c_int,
3162 va: *const f32,
3163 nnz: ::std::os::raw::c_int,
3164 ) -> ::std::os::raw::c_int;
3165}
3166extern "C" {
3167 pub fn blas_susset_elements_(
3168 A: *mut blas_sparse_matrix,
3169 ia: *const ::std::os::raw::c_int,
3170 ja: *const ::std::os::raw::c_int,
3171 va: *const f32,
3172 nnz: *mut ::std::os::raw::c_int,
3173 istat: *mut ::std::os::raw::c_int,
3174 );
3175}
3176extern "C" {
3177 pub fn BLAS_dusset_elements(
3178 A: blas_sparse_matrix,
3179 ia: *const ::std::os::raw::c_int,
3180 ja: *const ::std::os::raw::c_int,
3181 va: *const f64,
3182 nnz: ::std::os::raw::c_int,
3183 ) -> ::std::os::raw::c_int;
3184}
3185extern "C" {
3186 pub fn blas_dusset_elements_(
3187 A: *mut blas_sparse_matrix,
3188 ia: *const ::std::os::raw::c_int,
3189 ja: *const ::std::os::raw::c_int,
3190 va: *const f64,
3191 nnz: *mut ::std::os::raw::c_int,
3192 istat: *mut ::std::os::raw::c_int,
3193 );
3194}
3195extern "C" {
3196 pub fn BLAS_cusset_elements(
3197 A: blas_sparse_matrix,
3198 ia: *const ::std::os::raw::c_int,
3199 ja: *const ::std::os::raw::c_int,
3200 va: *const ::std::os::raw::c_void,
3201 nnz: ::std::os::raw::c_int,
3202 ) -> ::std::os::raw::c_int;
3203}
3204extern "C" {
3205 pub fn blas_cusset_elements_(
3206 A: *mut blas_sparse_matrix,
3207 ia: *const ::std::os::raw::c_int,
3208 ja: *const ::std::os::raw::c_int,
3209 va: *const ::std::os::raw::c_void,
3210 nnz: *mut ::std::os::raw::c_int,
3211 istat: *mut ::std::os::raw::c_int,
3212 );
3213}
3214extern "C" {
3215 pub fn BLAS_zusset_elements(
3216 A: blas_sparse_matrix,
3217 ia: *const ::std::os::raw::c_int,
3218 ja: *const ::std::os::raw::c_int,
3219 va: *const ::std::os::raw::c_void,
3220 nnz: ::std::os::raw::c_int,
3221 ) -> ::std::os::raw::c_int;
3222}
3223extern "C" {
3224 pub fn blas_zusset_elements_(
3225 A: *mut blas_sparse_matrix,
3226 ia: *const ::std::os::raw::c_int,
3227 ja: *const ::std::os::raw::c_int,
3228 va: *const ::std::os::raw::c_void,
3229 nnz: *mut ::std::os::raw::c_int,
3230 istat: *mut ::std::os::raw::c_int,
3231 );
3232}
3233extern "C" {
3234 pub fn BLAS_susset_element(
3235 A: blas_sparse_matrix,
3236 i: ::std::os::raw::c_int,
3237 j: ::std::os::raw::c_int,
3238 v: *mut f32,
3239 ) -> ::std::os::raw::c_int;
3240}
3241extern "C" {
3242 pub fn blas_susset_element_(
3243 A: *mut blas_sparse_matrix,
3244 i: *mut ::std::os::raw::c_int,
3245 j: *mut ::std::os::raw::c_int,
3246 v: *mut f32,
3247 istat: *mut ::std::os::raw::c_int,
3248 );
3249}
3250extern "C" {
3251 pub fn BLAS_dusset_element(
3252 A: blas_sparse_matrix,
3253 i: ::std::os::raw::c_int,
3254 j: ::std::os::raw::c_int,
3255 v: *mut f64,
3256 ) -> ::std::os::raw::c_int;
3257}
3258extern "C" {
3259 pub fn blas_dusset_element_(
3260 A: *mut blas_sparse_matrix,
3261 i: *mut ::std::os::raw::c_int,
3262 j: *mut ::std::os::raw::c_int,
3263 v: *mut f64,
3264 istat: *mut ::std::os::raw::c_int,
3265 );
3266}
3267extern "C" {
3268 pub fn BLAS_cusset_element(
3269 A: blas_sparse_matrix,
3270 i: ::std::os::raw::c_int,
3271 j: ::std::os::raw::c_int,
3272 v: *mut ::std::os::raw::c_void,
3273 ) -> ::std::os::raw::c_int;
3274}
3275extern "C" {
3276 pub fn blas_cusset_element_(
3277 A: *mut blas_sparse_matrix,
3278 i: *mut ::std::os::raw::c_int,
3279 j: *mut ::std::os::raw::c_int,
3280 v: *mut ::std::os::raw::c_void,
3281 istat: *mut ::std::os::raw::c_int,
3282 );
3283}
3284extern "C" {
3285 pub fn BLAS_zusset_element(
3286 A: blas_sparse_matrix,
3287 i: ::std::os::raw::c_int,
3288 j: ::std::os::raw::c_int,
3289 v: *mut ::std::os::raw::c_void,
3290 ) -> ::std::os::raw::c_int;
3291}
3292extern "C" {
3293 pub fn blas_zusset_element_(
3294 A: *mut blas_sparse_matrix,
3295 i: *mut ::std::os::raw::c_int,
3296 j: *mut ::std::os::raw::c_int,
3297 v: *mut ::std::os::raw::c_void,
3298 istat: *mut ::std::os::raw::c_int,
3299 );
3300}
3301extern "C" {
3302 pub fn BLAS_susget_element(
3303 A: blas_sparse_matrix,
3304 i: ::std::os::raw::c_int,
3305 j: ::std::os::raw::c_int,
3306 v: *mut f32,
3307 ) -> ::std::os::raw::c_int;
3308}
3309extern "C" {
3310 pub fn blas_susget_element_(
3311 A: *mut blas_sparse_matrix,
3312 i: *mut ::std::os::raw::c_int,
3313 j: *mut ::std::os::raw::c_int,
3314 v: *mut f32,
3315 istat: *mut ::std::os::raw::c_int,
3316 );
3317}
3318extern "C" {
3319 pub fn BLAS_dusget_element(
3320 A: blas_sparse_matrix,
3321 i: ::std::os::raw::c_int,
3322 j: ::std::os::raw::c_int,
3323 v: *mut f64,
3324 ) -> ::std::os::raw::c_int;
3325}
3326extern "C" {
3327 pub fn blas_dusget_element_(
3328 A: *mut blas_sparse_matrix,
3329 i: *mut ::std::os::raw::c_int,
3330 j: *mut ::std::os::raw::c_int,
3331 v: *mut f64,
3332 istat: *mut ::std::os::raw::c_int,
3333 );
3334}
3335extern "C" {
3336 pub fn BLAS_cusget_element(
3337 A: blas_sparse_matrix,
3338 i: ::std::os::raw::c_int,
3339 j: ::std::os::raw::c_int,
3340 v: *mut ::std::os::raw::c_void,
3341 ) -> ::std::os::raw::c_int;
3342}
3343extern "C" {
3344 pub fn blas_cusget_element_(
3345 A: *mut blas_sparse_matrix,
3346 i: *mut ::std::os::raw::c_int,
3347 j: *mut ::std::os::raw::c_int,
3348 v: *mut ::std::os::raw::c_void,
3349 istat: *mut ::std::os::raw::c_int,
3350 );
3351}
3352extern "C" {
3353 pub fn BLAS_zusget_element(
3354 A: blas_sparse_matrix,
3355 i: ::std::os::raw::c_int,
3356 j: ::std::os::raw::c_int,
3357 v: *mut ::std::os::raw::c_void,
3358 ) -> ::std::os::raw::c_int;
3359}
3360extern "C" {
3361 pub fn blas_zusget_element_(
3362 A: *mut blas_sparse_matrix,
3363 i: *mut ::std::os::raw::c_int,
3364 j: *mut ::std::os::raw::c_int,
3365 v: *mut ::std::os::raw::c_void,
3366 istat: *mut ::std::os::raw::c_int,
3367 );
3368}
3369extern "C" {
3370 pub fn rsb_wp__BLAS_ussp(
3371 A: blas_sparse_matrix,
3372 pname: ::std::os::raw::c_int,
3373 ) -> ::std::os::raw::c_int;
3374}
3375extern "C" {
3376 pub fn rsb_wp__BLAS_usgp(
3377 A: blas_sparse_matrix,
3378 pname: ::std::os::raw::c_int,
3379 ) -> ::std::os::raw::c_int;
3380}
3381extern "C" {
3382 pub fn rsb_load_spblas_matrix_file_as_matrix_market(
3383 filename: *const rsb_char_t,
3384 typecode: rsb_type_t,
3385 ) -> blas_sparse_matrix;
3386}
3387extern "C" {
3388 pub fn rsb_blas_get_mtx(A: blas_sparse_matrix) -> *mut rsb_mtx_t;
3389}