#![allow(incomplete_features)] #![feature(generic_const_exprs)]
#![warn(missing_docs)]
#![warn(clippy::all, clippy::nursery)]
pub mod base;
pub mod coordinate_system;
pub mod direction;
pub mod normal;
pub mod point;
pub mod rotation;
pub mod transform;
pub use direction::Direction;
pub use normal::Normal;
pub use point::Point;
pub use rotation::{EulerAngles, Rotation, RotationOrder};
pub use transform::Transform;
pub const fn is_shuffle_arg(x: u32, y: u32, z: u32, w: u32) -> bool { x < 4 && y < 4 && z < 4 && w < 4 }
pub const fn shuffle_mask(z: u32, y: u32, x: u32, w: u32) -> i32 { ((z << 6) | (y << 4) | (x << 2) | w) as i32 }
pub struct Check<const V: bool>;
pub trait True {}
pub trait False {}
impl True for Check<true> {}
impl False for Check<false> {}