1pub mod cli;
2pub mod timer_macro;
3use std::ffi::c_void;
4
5use std::mem::MaybeUninit;
6
7pub fn create_buffer_fast<F>(buffer_size: usize) -> Vec<F> {
8 let mut buffer: Vec<MaybeUninit<F>> = Vec::with_capacity(buffer_size);
9 unsafe {
10 buffer.set_len(buffer_size);
11 }
12 let buffer: Vec<F> = unsafe { std::mem::transmute(buffer) };
13 buffer
14}
15
16#[derive(Default)]
17pub struct DeviceBuffer(pub *mut c_void);
18unsafe impl Send for DeviceBuffer {}
19unsafe impl Sync for DeviceBuffer {}
20
21impl DeviceBuffer {
22 pub fn get_ptr(&self) -> *mut c_void {
23 self.0
24 }
25}