rocm-rs 0.4.2

Rust bindings for AMD ROCm libraries
Documentation
/* automatically generated by rust-bindgen 0.71.1 */

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rocfft_plan_t {
    _unused: [u8; 0],
}
pub type rocfft_plan = *mut rocfft_plan_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rocfft_plan_description_t {
    _unused: [u8; 0],
}
pub type rocfft_plan_description = *mut rocfft_plan_description_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rocfft_execution_info_t {
    _unused: [u8; 0],
}
pub type rocfft_execution_info = *mut rocfft_execution_info_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rocfft_field_t {
    _unused: [u8; 0],
}
pub type rocfft_field = *mut rocfft_field_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rocfft_brick_t {
    _unused: [u8; 0],
}
pub type rocfft_brick = *mut rocfft_brick_t;
pub const rocfft_status_e_rocfft_status_success: rocfft_status_e = 0;
pub const rocfft_status_e_rocfft_status_failure: rocfft_status_e = 1;
pub const rocfft_status_e_rocfft_status_invalid_arg_value: rocfft_status_e = 2;
pub const rocfft_status_e_rocfft_status_invalid_dimensions: rocfft_status_e = 3;
pub const rocfft_status_e_rocfft_status_invalid_array_type: rocfft_status_e = 4;
pub const rocfft_status_e_rocfft_status_invalid_strides: rocfft_status_e = 5;
pub const rocfft_status_e_rocfft_status_invalid_distance: rocfft_status_e = 6;
pub const rocfft_status_e_rocfft_status_invalid_offset: rocfft_status_e = 7;
pub const rocfft_status_e_rocfft_status_invalid_work_buffer: rocfft_status_e = 8;
pub type rocfft_status_e = ::std::os::raw::c_uint;
pub use self::rocfft_status_e as rocfft_status;
pub const rocfft_transform_type_e_rocfft_transform_type_complex_forward: rocfft_transform_type_e =
    0;
pub const rocfft_transform_type_e_rocfft_transform_type_complex_inverse: rocfft_transform_type_e =
    1;
pub const rocfft_transform_type_e_rocfft_transform_type_real_forward: rocfft_transform_type_e = 2;
pub const rocfft_transform_type_e_rocfft_transform_type_real_inverse: rocfft_transform_type_e = 3;
pub type rocfft_transform_type_e = ::std::os::raw::c_uint;
pub use self::rocfft_transform_type_e as rocfft_transform_type;
pub const rocfft_precision_e_rocfft_precision_single: rocfft_precision_e = 0;
pub const rocfft_precision_e_rocfft_precision_double: rocfft_precision_e = 1;
pub const rocfft_precision_e_rocfft_precision_half: rocfft_precision_e = 2;
pub type rocfft_precision_e = ::std::os::raw::c_uint;
pub use self::rocfft_precision_e as rocfft_precision;
pub const rocfft_result_placement_e_rocfft_placement_inplace: rocfft_result_placement_e = 0;
pub const rocfft_result_placement_e_rocfft_placement_notinplace: rocfft_result_placement_e = 1;
pub type rocfft_result_placement_e = ::std::os::raw::c_uint;
pub use self::rocfft_result_placement_e as rocfft_result_placement;
pub const rocfft_array_type_e_rocfft_array_type_complex_interleaved: rocfft_array_type_e = 0;
pub const rocfft_array_type_e_rocfft_array_type_complex_planar: rocfft_array_type_e = 1;
pub const rocfft_array_type_e_rocfft_array_type_real: rocfft_array_type_e = 2;
pub const rocfft_array_type_e_rocfft_array_type_hermitian_interleaved: rocfft_array_type_e = 3;
pub const rocfft_array_type_e_rocfft_array_type_hermitian_planar: rocfft_array_type_e = 4;
pub const rocfft_array_type_e_rocfft_array_type_unset: rocfft_array_type_e = 5;
pub type rocfft_array_type_e = ::std::os::raw::c_uint;
pub use self::rocfft_array_type_e as rocfft_array_type;
pub const rocfft_comm_type_e_rocfft_comm_none: rocfft_comm_type_e = 0;
pub const rocfft_comm_type_e_rocfft_comm_mpi: rocfft_comm_type_e = 1;
pub type rocfft_comm_type_e = ::std::os::raw::c_uint;
pub use self::rocfft_comm_type_e as rocfft_comm_type;
unsafe extern "C" {
    pub fn rocfft_setup() -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_cleanup() -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_create(
        plan: *mut rocfft_plan,
        placement: rocfft_result_placement,
        transform_type: rocfft_transform_type,
        precision: rocfft_precision,
        dimensions: usize,
        lengths: *const usize,
        number_of_transforms: usize,
        description: rocfft_plan_description,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execute(
        plan: rocfft_plan,
        in_buffer: *mut *mut ::std::os::raw::c_void,
        out_buffer: *mut *mut ::std::os::raw::c_void,
        info: rocfft_execution_info,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_destroy(plan: rocfft_plan) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_set_scale_factor(
        description: rocfft_plan_description,
        scale_factor: f64,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_set_data_layout(
        description: rocfft_plan_description,
        in_array_type: rocfft_array_type,
        out_array_type: rocfft_array_type,
        in_offsets: *const usize,
        out_offsets: *const usize,
        in_strides_size: usize,
        in_strides: *const usize,
        in_distance: usize,
        out_strides_size: usize,
        out_strides: *const usize,
        out_distance: usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_field_create(field: *mut rocfft_field) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_field_destroy(field: rocfft_field) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_get_version_string(buf: *mut ::std::os::raw::c_char, len: usize)
        -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_set_comm(
        description: rocfft_plan_description,
        comm_type: rocfft_comm_type,
        comm_handle: *mut ::std::os::raw::c_void,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_brick_create(
        brick: *mut rocfft_brick,
        field_lower: *const usize,
        field_upper: *const usize,
        brick_stride: *const usize,
        dim: usize,
        deviceID: ::std::os::raw::c_int,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_brick_destroy(brick: rocfft_brick) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_field_add_brick(field: rocfft_field, brick: rocfft_brick) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_add_infield(
        description: rocfft_plan_description,
        field: rocfft_field,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_add_outfield(
        description: rocfft_plan_description,
        field: rocfft_field,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_get_work_buffer_size(
        plan: rocfft_plan,
        size_in_bytes: *mut usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_get_print(plan: rocfft_plan) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_create(
        description: *mut rocfft_plan_description,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_plan_description_destroy(description: rocfft_plan_description) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_create(info: *mut rocfft_execution_info) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_destroy(info: rocfft_execution_info) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_set_work_buffer(
        info: rocfft_execution_info,
        work_buffer: *mut ::std::os::raw::c_void,
        size_in_bytes: usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_set_stream(
        info: rocfft_execution_info,
        stream: *mut ::std::os::raw::c_void,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_set_load_callback(
        info: rocfft_execution_info,
        cb_functions: *mut *mut ::std::os::raw::c_void,
        cb_data: *mut *mut ::std::os::raw::c_void,
        shared_mem_bytes: usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_execution_info_set_store_callback(
        info: rocfft_execution_info,
        cb_functions: *mut *mut ::std::os::raw::c_void,
        cb_data: *mut *mut ::std::os::raw::c_void,
        shared_mem_bytes: usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_cache_serialize(
        buffer: *mut *mut ::std::os::raw::c_void,
        buffer_len_bytes: *mut usize,
    ) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_cache_buffer_free(buffer: *mut ::std::os::raw::c_void) -> rocfft_status;
}
unsafe extern "C" {
    pub fn rocfft_cache_deserialize(
        buffer: *const ::std::os::raw::c_void,
        buffer_len_bytes: usize,
    ) -> rocfft_status;
}