#![no_std]
#![cfg_attr(feature = "f16", feature(f16))]
#![cfg_attr(feature = "f128", feature(f128))]
#![cfg_attr(feature = "freeze", feature(freeze))]
#![cfg_attr(feature = "thin", feature(ptr_metadata))]
#![cfg_attr(feature = "unstable_docs", feature(doc_cfg, intra_doc_pointers))]
extern crate self as polylane;
#[cfg(any(feature = "alloc", doc, test))]
extern crate alloc;
#[cfg(any(feature = "std", doc, test))]
extern crate std;
pub mod cmp;
pub mod convert;
pub mod mask;
pub mod num;
pub mod prelude;
pub mod ptr;
pub mod simd;
mod compat;
mod detail;
mod valid_layout;
pub use valid_layout::ValidLayout;
mod seal {
use crate::simd::align::SimdAlign;
pub unsafe trait ValidLayout {
type SimdAlign: SimdAlign;
}
}
#[macro_export]
macro_rules! simd {
[$value:expr; $len:expr] => {{
::polylane::simd::Simd::from_array([$value; $len])
}};
[$($value:expr),+$(,)?] => {{
::polylane::simd::Simd::from_array([$($value, )+])
}};
}