forked from M-Labs/nalgebra
e6156727f2
Note that `sqdist` becomes `distance_squared` and `sqnorm` becomes `norm_squared`. Fix #176.
25 lines
989 B
Rust
25 lines
989 B
Rust
#![feature(test)]
|
|
|
|
extern crate test;
|
|
extern crate rand;
|
|
extern crate nalgebra as na;
|
|
|
|
use rand::{IsaacRng, Rng};
|
|
use test::Bencher;
|
|
use na::{Quaternion, UnitQuaternion, Vector3};
|
|
use std::ops::{Add, Sub, Mul, Div};
|
|
|
|
#[path="common/macros.rs"]
|
|
mod macros;
|
|
|
|
bench_binop!(_bench_quaternion_add_q, Quaternion<f32>, Quaternion<f32>, add);
|
|
bench_binop!(_bench_quaternion_sub_q, Quaternion<f32>, Quaternion<f32>, sub);
|
|
bench_binop!(_bench_quaternion_mul_q, Quaternion<f32>, Quaternion<f32>, mul);
|
|
// bench_binop!(_bench_quaternion_div_q, Quaternion<f32>, Quaternion<f32>, div)
|
|
bench_binop!(_bench_quaternion_mul_v, UnitQuaternion<f32>, Vector3<f32>, mul);
|
|
bench_binop!(_bench_quaternion_mul_s, Quaternion<f32>, f32, mul);
|
|
bench_binop!(_bench_quaternion_div_s, Quaternion<f32>, f32, div);
|
|
bench_unop!(_bench_quaternion_inv, Quaternion<f32>, inverse);
|
|
bench_unop_self!(_bench_quaternion_conjugate, Quaternion<f32>, conjugate);
|
|
bench_unop!(_bench_quaternion_normalize, Quaternion<f32>, normalize);
|