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::Mat3;
8 use std::ops::Mul;
9 use support::*;
10 
11 bench_unop!(
12     mat3_transpose,
13     "mat3 transpose",
14     op => transpose,
15     from => random_mat3
16 );
17 bench_unop!(
18     mat3_determinant,
19     "mat3 determinant",
20     op => determinant,
21     from => random_mat3
22 );
23 bench_unop!(mat3_inverse, "mat3 inverse", op => inverse, from => random_mat3);
24 bench_binop!(mat3_mul_mat3, "mat3 mul mat3", op => mul, from => random_mat3);
25 bench_from_ypr!(mat3_from_ypr, "mat3 from ypr", ty => Mat3);
26 
27 bench_binop!(
28     mat3_mul_vec3,
29     "mat3 mul vec3",
30     op => mul,
31     from1 => random_mat3,
32     from2 => random_vec3
33 );
34 
35 bench_binop!(
36     mat3_mul_vec3a,
37     "mat3 mul vec3a",
38     op => mul,
39     from1 => random_mat3,
40     from2 => random_vec3a
41 );
42 
43 bench_binop!(
44     mat3_transform_point2,
45     "mat3 transform point2",
46     op => transform_point2,
47     from1 => random_srt_mat3,
48     from2 => random_vec2
49 );
50 
51 bench_binop!(
52     mat3_transform_vector2,
53     "mat3 transform vector2",
54     op => transform_vector2,
55     from1 => random_srt_mat3,
56     from2 => random_vec2
57 );
58 
59 criterion_group!(
60     benches,
61     mat3_transpose,
62     mat3_determinant,
63     mat3_inverse,
64     mat3_mul_vec3,
65     mat3_mul_vec3a,
66     mat3_mul_mat3,
67     mat3_from_ypr,
68     mat3_transform_vector2,
69     mat3_transform_point2,
70 );
71 
72 criterion_main!(benches);
73