#![feature(decl_macro)]
#![feature(stmt_expr_attributes)]
pub use vek::approx;
pub use vek::num_traits; pub use vek;
pub mod data;
pub mod geometry;
pub mod algebra;
mod fixed;
mod traits;
mod types;
pub use self::fixed::*;
pub use self::traits::*;
pub use self::types::*;
pub const COMPONENT_INDEX_X : usize = 0;
pub const COMPONENT_INDEX_Y : usize = 1;
pub const COMPONENT_INDEX_Z : usize = 2;
pub const COMPONENT_INDEX_W : usize = 3;
#[doc(hidden)]
#[macro_export]
macro_rules! show {
($e:expr) => { println!("{}: {:?}", stringify!($e), $e); }
}
pub fn report_sizes() {
use std::mem::size_of;
println!("report sizes...");
show!(size_of::<Vector2 <f32>>());
show!(size_of::<Vector3 <f32>>());
show!(size_of::<Vector4 <f32>>());
show!(size_of::<Matrix2 <f32>>());
show!(size_of::<Matrix3 <f32>>());
show!(size_of::<Rotation2 <f32>>());
show!(size_of::<Rotation3 <f32>>());
show!(size_of::<AffineMap <f32, Point3 <f32>, Point3 <f32>, Matrix3 <f32>>>());
show!(size_of::<AffineMap <f32, Point4 <f32>, Point4 <f32>, Matrix4 <f32>>>());
println!("...report sizes");
}