1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
extern crate futures; extern crate futures_cpupool; pub mod backend; pub mod hardware; pub mod framework; pub mod memory; pub mod device; pub mod buffer; pub mod frameworks; pub use backend::Backend; pub use hardware::Hardware; pub use framework::Framework; pub use memory::Memory; pub use device::Device; pub use buffer::{Buffer, BufferDevice}; pub use frameworks::native; #[cfg(test)] mod test { use super::*; use futures::Future; #[test] #[cfg(feature = "native")] fn test_native() { let backend = native::Backend::default(); let bdev = BufferDevice::Native(backend.device().clone()); let mut buf1: Buffer<f64> = Buffer::new(&bdev, 4).unwrap(); let f1 = buf1.sync_from_vec(vec![23.0, 45.5, 54.2, 42.0], &bdev); let f2 = f1.and_then(|x| x.sync_to_vec(&bdev)); let (nb, nv) = f2.wait().unwrap(); println!("HELLO: {:?}", nv); } }