aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorRobert Hrusecky <robert.hrusecky@utexas.edu>2020-10-06 14:22:26 -0500
committerRobert Hrusecky <robert.hrusecky@utexas.edu>2020-10-06 14:22:26 -0500
commitdd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f (patch)
tree43a0e92a698d5c622edf406dfdd27037471a5e24 /src/lib.rs
parent0c1b210109e6d4816dc54f2a6dc93e8d6beb5089 (diff)
parent6b1cd9cd404bd1da6aec94527e58dcd483a50c67 (diff)
downloadrapier-dd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f.tar.gz
rapier-dd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f.tar.bz2
rapier-dd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f.zip
Merge branch 'master' into infinite_fall_memory
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 118ac23..3674717 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -44,7 +44,6 @@ macro_rules! enable_flush_to_zero(
}
);
-#[cfg(feature = "simd-is-enabled")]
macro_rules! array(
($callback: expr; SIMD_WIDTH) => {
{
@@ -139,7 +138,6 @@ pub mod utils;
#[cfg(feature = "dim2")]
/// Math primitives used throughout Rapier.
pub mod math {
- #[cfg(feature = "simd-is-enabled")]
pub use super::simd::*;
use na::{Isometry2, Matrix2, Point2, Translation2, UnitComplex, Vector2, Vector3, U1, U2};
@@ -182,7 +180,6 @@ pub mod math {
#[cfg(feature = "dim3")]
/// Math primitives used throughout Rapier.
pub mod math {
- #[cfg(feature = "simd-is-enabled")]
pub use super::simd::*;
use na::{Isometry3, Matrix3, Point3, Translation3, UnitQuaternion, Vector3, Vector6, U3};
@@ -220,6 +217,19 @@ pub mod math {
pub type SdpMatrix<N> = crate::utils::SdpMatrix3<N>;
}
+#[cfg(not(feature = "simd-is-enabled"))]
+mod simd {
+ use simba::simd::{AutoBoolx4, AutoF32x4};
+ /// The number of lanes of a SIMD number.
+ pub const SIMD_WIDTH: usize = 4;
+ /// SIMD_WIDTH - 1
+ pub const SIMD_LAST_INDEX: usize = 3;
+ /// A SIMD float with SIMD_WIDTH lanes.
+ pub type SimdFloat = AutoF32x4;
+ /// A SIMD bool with SIMD_WIDTH lanes.
+ pub type SimdBool = AutoBoolx4;
+}
+
#[cfg(feature = "simd-is-enabled")]
mod simd {
#[allow(unused_imports)]
@@ -233,16 +243,16 @@ mod simd {
/// SIMD_WIDTH - 1
pub const SIMD_LAST_INDEX: usize = 3;
#[cfg(not(feature = "simd-nightly"))]
- /// A SIMD float with SIMD_WIDTH lanes.
+ /// A SIMD float with SIMD_WIDTH lanes.
pub type SimdFloat = WideF32x4;
#[cfg(not(feature = "simd-nightly"))]
- /// A SIMD bool with SIMD_WIDTH lanes.
+ /// A SIMD bool with SIMD_WIDTH lanes.
pub type SimdBool = WideBoolF32x4;
#[cfg(feature = "simd-nightly")]
- /// A SIMD float with SIMD_WIDTH lanes.
+ /// A SIMD float with SIMD_WIDTH lanes.
pub type SimdFloat = f32x4;
#[cfg(feature = "simd-nightly")]
- /// A bool float with SIMD_WIDTH lanes.
+ /// A bool float with SIMD_WIDTH lanes.
pub type SimdBool = m32x4;
// pub const SIMD_WIDTH: usize = 8;