use glam_det::nums::f32x4;
use glam_det::{UnitQuatx4, Vec3x4};
use paste::paste;
use test::Bencher;
use crate::collision_tasks::benches::common::{BenchShapePairTest, WithContainer};
use crate::collision_tasks::tests::common::TestInput;
use crate::collision_tasks::ShapeWideTester;
use crate::convex_contact_manifold::Convex4ContactManifoldWide;
use crate::shapes::{CylinderWide, SphereWide};
use crate::traits::PairWideTest;
use crate::{Cylinder, ShapeContainer, Sphere};
struct SphereCylinderBench;
impl_bench!(
SphereCylinderBench,
SphereWide,
CylinderWide,
Convex4ContactManifoldWide,
1
);
type InputType = TestInput<Sphere, Cylinder>;
bench!(InputType,SphereCylinderBench,"sphere_cylinder/",
<0,000_same_center>,
<0,001_cylinder_inside_sphere>,
<0,002_sphere_inside_cylinder>,
<0,003_nocollide>,
<0,004_sphere_tangent_at_cylinder_side>,
<0,005_sphere_tangent_at_cylinder_cap>,
<0,006_sphere_tangent_at_cylinder_cap_circle>,
<0,007_penetrate_at_cylinder_cap>,
<0,008_penetrate_at_cylinder_side>,
<0,009_penetrate_at_cylinder_cap_circle>,
<0,010_random_collide>
);