#![allow(missing_docs)]
#[macro_export]
macro_rules! testgen_tensor_identity {
() => {
mod identity {
$crate::testgen_tensor_identity!(f32);
}
};
($numeric:ident) => {
use super::*;
use $crate::tests::tensor::identity::test_identity;
use cubecl_core::flex32;
pub type NumericT = $numeric;
#[$crate::tests::test_log::test]
pub fn test_tiny() {
test_identity::<TestRuntime, NumericT>(&Default::default(), 4);
}
#[$crate::tests::test_log::test]
pub fn test_small() {
test_identity::<TestRuntime, NumericT>(&Default::default(), 16);
}
#[$crate::tests::test_log::test]
pub fn test_normal() {
test_identity::<TestRuntime, NumericT>(&Default::default(), 256)
}
#[$crate::tests::test_log::test]
pub fn test_large() {
test_identity::<TestRuntime, NumericT>(&Default::default(), 1024)
}
};
([$($numeric:ident),*]) => {
mod identity {
use super::*;
::paste::paste! {
$(mod [<$numeric _ty>] {
use super::*;
$crate::testgen_tensor_identity!($numeric);
})*
}
}
};
}