diff options
Diffstat (limited to 'src/u64.rs')
-rw-r--r-- | src/u64.rs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/u64.rs b/src/u64.rs new file mode 100644 index 0000000..afd2bd2 --- /dev/null +++ b/src/u64.rs @@ -0,0 +1,44 @@ +mod u64vec2; +mod u64vec3; +mod u64vec4; + +pub use u64vec2::{u64vec2, U64Vec2}; +pub use u64vec3::{u64vec3, U64Vec3}; +pub use u64vec4::{u64vec4, U64Vec4}; + +#[cfg(not(target_arch = "spirv"))] +mod test { + use super::*; + mod const_test_u64vec2 { + const_assert_eq!(16, core::mem::size_of::<super::U64Vec2>()); + + #[cfg(not(feature = "cuda"))] + const_assert_eq!( + core::mem::align_of::<u64>(), + core::mem::align_of::<super::U64Vec2>() + ); + #[cfg(feature = "cuda")] + const_assert_eq!(16, core::mem::align_of::<super::U64Vec2>()); + } + + mod const_test_u64vec3 { + const_assert_eq!(24, core::mem::size_of::<super::U64Vec3>()); + + const_assert_eq!( + core::mem::align_of::<u64>(), + core::mem::align_of::<super::U64Vec3>() + ); + } + + mod const_test_u64vec4 { + const_assert_eq!(32, core::mem::size_of::<super::U64Vec4>()); + + #[cfg(not(feature = "cuda"))] + const_assert_eq!( + core::mem::align_of::<u64>(), + core::mem::align_of::<super::U64Vec4>() + ); + #[cfg(feature = "cuda")] + const_assert_eq!(16, core::mem::align_of::<super::U64Vec4>()); + } +} |