rstsr_openblas_ffi/blas/
ffi_base.rs

1//! Base of current FFI.
2//!
3//! Declaration of types, enums, cargo feature controls, etc.
4//!
5//! This file is generated automatically.
6
7pub(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// This is a workaround for cargo feature conflict
29#[cfg(all(feature = "quad_precision", feature = "ex_precision"))]
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct xdouble {
33    pub _phantom: (),
34}
35
36/* automatically generated by rust-bindgen 0.71.1 */
37
38pub 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>;