use crate::backend::{
host::{host_kernels, host_storage::HostStorage},
traits::Backend,
};
macro_rules! kernel_repeater {
($name: ident, $_1: tt, $_2: tt) => {
paste::paste! {
type [< $name Kernel >] = host_kernels::[< Host $name Kernel >];
}
};
}
macro_rules! repeat_kernel_repeater {
($([$name: ident, $_1: tt, $_2: tt]),*) => {
$(
kernel_repeater!($name, $_1, $_2);
)*
}
}
pub struct HostBackend;
impl Backend for HostBackend {
type OwnedStorage<T>
= HostStorage<T>
where
T: Copy;
crate::repeat_binary_ops!(kernel_repeater);
}