1 #[path = "support/macros.rs"]
2 #[macro_use]
3 mod macros;
4 mod support;
5 
6 use criterion::{criterion_group, criterion_main, Criterion};
7 use glam::Quat;
8 use std::ops::Mul;
9 use support::*;
10 
11 bench_unop!(
12     quat_conjugate,
13     "quat conjugate",
14     op => conjugate,
15     from => random_quat
16 );
17 
18 bench_binop!(
19     quat_mul_vec3,
20     "quat mul vec3",
21     op => mul,
22     from1 => random_quat,
23     from2 => random_vec3
24 );
25 
26 bench_binop!(
27     quat_mul_vec3a,
28     "quat mul vec3a",
29     op => mul,
30     from1 => random_quat,
31     from2 => random_vec3a
32 );
33 
34 bench_binop!(
35     quat_mul_quat,
36     "quat mul quat",
37     op => mul,
38     from => random_quat
39 );
40 
41 bench_binop!(
42     quat_dot,
43     "quat dot",
44     op => dot,
45     from => random_quat
46 );
47 
48 bench_trinop!(
49     quat_lerp,
50     "quat lerp",
51     op => lerp,
52     from1 => random_quat,
53     from2 => random_quat,
54     from3 => random_f32
55 );
56 
57 bench_trinop!(
58     quat_slerp,
59     "quat slerp",
60     op => slerp,
61     from1 => random_quat,
62     from2 => random_quat,
63     from3 => random_f32
64 );
65 
66 bench_from_ypr!(quat_from_ypr, "quat from ypr", ty => Quat);
67 
68 criterion_group!(
69     benches,
70     quat_conjugate,
71     quat_dot,
72     quat_lerp,
73     quat_slerp,
74     quat_mul_quat,
75     quat_mul_vec3,
76     quat_mul_vec3a,
77     quat_from_ypr
78 );
79 
80 criterion_main!(benches);
81