src/types.rs

changeset 90
b3c35d16affe
parent 62
d8305c9b6fdf
child 86
d5b0e496b72f
--- a/src/types.rs	Tue Feb 20 12:33:16 2024 -0500
+++ b/src/types.rs	Mon Feb 03 19:22:16 2025 -0500
@@ -13,6 +13,14 @@
 pub use num_traits::Float as NumTraitsFloat; // needed to re-export functions.
 pub use num_traits::cast::AsPrimitive;
 
+pub use simba::scalar::{
+    ClosedAdd, ClosedAddAssign,
+    ClosedSub, ClosedSubAssign,
+    ClosedMul, ClosedMulAssign,
+    ClosedDiv, ClosedDivAssign,
+    ClosedNeg
+};
+
 /// Typical integer type
 #[allow(non_camel_case_types)]
 pub type int = i64;
@@ -57,7 +65,8 @@
                  + CastFrom<u128> + CastFrom<usize>
                  + CastFrom<i8>   + CastFrom<i16> + CastFrom<i32> + CastFrom<i64>
                  + CastFrom<i128> + CastFrom<isize>
-                 + CastFrom<f32>  + CastFrom<f64> {
+                 + CastFrom<f32>  + CastFrom<f64>
+                 + crate::instance::Space {
 
     const ZERO : Self;
     const ONE : Self;
@@ -84,6 +93,7 @@
     const SQRT_2 : Self;
     const INFINITY : Self;
     const NEG_INFINITY : Self;
+    const NAN : Self;
     const FRAC_2_SQRT_PI : Self;
 }
 
@@ -133,6 +143,7 @@
     const SQRT_2 : Self = std::f64::consts::SQRT_2;
     const INFINITY : Self = std::f64::INFINITY;
     const NEG_INFINITY : Self = std::f64::NEG_INFINITY;
+    const NAN : Self = std::f64::NAN;
     const FRAC_2_SQRT_PI : Self = std::f64::consts::FRAC_2_SQRT_PI;
 }
 
@@ -150,6 +161,7 @@
     const SQRT_2 : Self = std::f32::consts::SQRT_2;
     const INFINITY : Self = std::f32::INFINITY;
     const NEG_INFINITY : Self = std::f32::NEG_INFINITY;
+    const NAN : Self = std::f32::NAN;
     const FRAC_2_SQRT_PI : Self = std::f32::consts::FRAC_2_SQRT_PI;
 }
 

mercurial