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