rstsr_openblas_ffi/blas/
ffi_base.rs1pub(crate) use core::ffi::*;
8pub use rstsr_cblas_base::*;
9
10#[cfg(all(feature = "quad_precision", not(feature = "ex_precision")))]
11#[repr(C)]
12#[derive(Debug, Copy, Clone)]
13pub struct xdouble {
14 pub x: [::core::os::raw::c_ulong; 2usize],
15}
16#[cfg(all(feature = "ex_precision", not(feature = "quad_precision")))]
17#[repr(C)]
18#[derive(Debug, Copy, Clone)]
19pub struct xdouble {
20 pub x: u128,
21}
22#[cfg(all(not(feature = "quad_precision"), not(feature = "ex_precision")))]
23#[repr(C)]
24#[derive(Debug, Copy, Clone)]
25pub struct xdouble {
26 pub x: f64,
27}
28#[cfg(all(feature = "quad_precision", feature = "ex_precision"))]
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct xdouble {
33 pub _phantom: (),
34}
35
36pub type bfloat16 = u16;
39
40#[repr(C)]
41#[derive(Debug, Copy, Clone)]
42pub struct openblas_complex_float {
43 pub real: f32,
44 pub imag: f32,
45}
46#[repr(C)]
47#[derive(Debug, Copy, Clone)]
48pub struct openblas_complex_double {
49 pub real: f64,
50 pub imag: f64,
51}
52#[repr(C)]
53#[derive(Debug, Copy, Clone)]
54pub struct openblas_complex_xdouble {
55 pub real: xdouble,
56 pub imag: xdouble,
57}
58pub type openblas_dojob_callback =
59 Option<extern "C" fn(thread_num: c_int, jobdata: *mut c_void, dojob_data: c_int)>;
60pub type openblas_threads_callback = Option<
61 extern "C" fn(
62 sync: c_int,
63 dojob: openblas_dojob_callback,
64 numjobs: c_int,
65 jobdata_elsize: usize,
66 jobdata: *mut c_void,
67 dojob_data: c_int,
68 ),
69>;