#[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;
}