1#![allow(incomplete_features)] #![feature(generic_const_exprs)]
5#![warn(missing_docs)]
7#![warn(clippy::all, clippy::nursery)]
9
10pub mod base;
13pub mod coordinate_system;
14pub mod direction;
15pub mod normal;
16pub mod point;
17pub mod rotation;
18pub mod transform;
19
20pub use direction::Direction;
21pub use normal::Normal;
22pub use point::Point;
23pub use rotation::{EulerAngles, Rotation, RotationOrder};
24pub use transform::Transform;
25
26pub const fn is_shuffle_arg(x: u32, y: u32, z: u32, w: u32) -> bool { x < 4 && y < 4 && z < 4 && w < 4 }
28
29pub const fn shuffle_mask(z: u32, y: u32, x: u32, w: u32) -> i32 { ((z << 6) | (y << 4) | (x << 2) | w) as i32 }
31
32pub struct Check<const V: bool>;
37pub trait True {}
39pub trait False {}
41
42impl True for Check<true> {}
43impl False for Check<false> {}