#![allow(clippy::disallowed_methods, clippy::float_cmp)]
mod activations;
mod arithmetic;
mod math;
mod reductions;
use criterion::{criterion_group, criterion_main};
pub fn generate_test_data(size: usize) -> Vec<f32> {
(0..size).map(|i| (i as f32) * 0.5).collect()
}
criterion_group!(
benches,
arithmetic::bench_add,
arithmetic::bench_sub,
arithmetic::bench_mul,
arithmetic::bench_scale,
arithmetic::bench_div,
arithmetic::bench_fma,
reductions::bench_dot,
reductions::bench_sum,
reductions::bench_max,
reductions::bench_min,
reductions::bench_argmax,
reductions::bench_argmin,
activations::bench_relu,
activations::bench_sigmoid,
activations::bench_gelu,
activations::bench_swish,
activations::bench_tanh,
activations::bench_softmax,
activations::bench_log_softmax,
activations::bench_clip,
math::bench_norm_l1,
math::bench_norm_l2,
math::bench_norm_linf,
math::bench_abs,
math::bench_exp,
math::bench_ln,
math::bench_log2,
math::bench_log10,
math::bench_sqrt,
math::bench_recip,
);
criterion_main!(benches);