#[path = "support/macros.rs"]
#[macro_use]
mod macros;
mod support;
use criterion::{criterion_group, criterion_main, Criterion};
use glam::f32::Vec2;
use std::ops::Mul;
use support::{random_mat2, random_srt_mat3, random_vec2};
euler!(vec2_euler, "vec2 euler", ty => Vec2, storage => Vec2, zero => Vec2::zero(), rand => random_vec2);
bench_binop!(
mat2_mul_vec2,
"mat2 mul vec2",
op => mul,
from1 => random_mat2,
from2 => random_vec2
);
bench_binop!(
mat3_transform_point2,
"mat3 transform point2",
op => transform_point2,
from1 => random_srt_mat3,
from2 => random_vec2
);
bench_binop!(
mat3_transform_vector2,
"mat3 transform vector2",
op => transform_vector2,
from1 => random_srt_mat3,
from2 => random_vec2
);
bench_binop!(
vec2_angle_between,
"vec2 angle_between",
op => angle_between,
from1 => random_vec2,
from2 => random_vec2
);
criterion_group!(
benches,
vec2_euler,
mat2_mul_vec2,
mat3_transform_point2,
mat3_transform_vector2,
vec2_angle_between
);
criterion_main!(benches);