From 095df09cb888cea8d9a84b09ab4476db006e2947 Mon Sep 17 00:00:00 2001 From: Sean Olson Date: Sat, 23 Nov 2024 00:26:29 -0800 Subject: [PATCH] Depend on `num-traits` instead of `num`. --- Cargo.toml | 2 +- src/adjunct.rs | 3 ++- src/integration/cgmath.rs | 5 +++-- src/integration/mint.rs | 4 +++- src/integration/nalgebra.rs | 6 ++++-- src/lib.rs | 6 ++++-- src/query.rs | 6 ++++-- src/space.rs | 5 +++-- 8 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2c5517b..62e30ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ ultraviolet = ["dep:ultraviolet"] approx = "^0.5.0" decorum = "^0.4.0" itertools = "^0.13.0" -num = "^0.4.0" +num-traits = "^0.2.19" typenum = "^1.17.0" # Integrations. diff --git a/src/adjunct.rs b/src/adjunct.rs index 5853357..6e3d89e 100644 --- a/src/adjunct.rs +++ b/src/adjunct.rs @@ -12,7 +12,8 @@ //! `nalgebra` types when the `nalgebra` feature is enabled. use decorum::cmp::{self, EmptyOrd}; -use num::traits::{Bounded, One, Zero}; +use num_traits::bounds::Bounded; +use num_traits::identities::{One, Zero}; use std::ops::{Add, Mul}; pub trait Adjunct: Sized { diff --git a/src/integration/cgmath.rs b/src/integration/cgmath.rs index c8f2133..41ede99 100644 --- a/src/integration/cgmath.rs +++ b/src/integration/cgmath.rs @@ -3,8 +3,9 @@ use approx::AbsDiffEq; use cgmath::{BaseFloat, BaseNum, Point2, Point3, Vector2, Vector3, Vector4}; use decorum::R64; -use num::traits::real::Real; -use num::traits::{Num, NumCast}; +use num_traits::cast::NumCast; +use num_traits::real::Real; +use num_traits::Num; use typenum::consts::{U2, U3, U4}; use crate::adjunct::{ diff --git a/src/integration/mint.rs b/src/integration/mint.rs index 23261d4..55275c6 100644 --- a/src/integration/mint.rs +++ b/src/integration/mint.rs @@ -6,7 +6,9 @@ use decorum::R64; use mint::{Point2, Point3, Vector2, Vector3}; -use num::traits::{Num, NumCast, One, Zero}; +use num_traits::cast::NumCast; +use num_traits::identities::{One, Zero}; +use num_traits::Num; use std::ops::Neg; use typenum::{U2, U3}; diff --git a/src/integration/nalgebra.rs b/src/integration/nalgebra.rs index 9412f16..42b6f29 100644 --- a/src/integration/nalgebra.rs +++ b/src/integration/nalgebra.rs @@ -12,8 +12,10 @@ use nalgebra::base::{ Matrix2, Matrix3, OMatrix, OVector, RowVector2, RowVector3, Scalar, Vector2, Vector3, Vector4, }; use nalgebra::geometry::{OPoint, Point2, Point3}; -use num::traits::real::Real; -use num::traits::{Num, NumCast, One, Zero}; +use num_traits::cast::NumCast; +use num_traits::identities::{One, Zero}; +use num_traits::real::Real; +use num_traits::Num; use std::ops::{AddAssign, Mul, MulAssign, Neg, Sub, SubAssign}; use typenum::NonZero; diff --git a/src/lib.rs b/src/lib.rs index 3b3af0b..d0636bc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -21,7 +21,9 @@ pub mod space; mod integration; use decorum::R64; -use num::traits::{Num, NumCast, One, Zero}; +use num_traits::cast::NumCast; +use num_traits::identities::{One, Zero}; +use num_traits::Num; use crate::space::EuclideanSpace; @@ -161,7 +163,7 @@ pub fn lerp(a: T, b: T, f: R64) -> T where T: Num + NumCast, { - let f = num::clamp(f, Zero::zero(), One::one()); + let f = num_traits::clamp(f, Zero::zero(), One::one()); let af = ::from(a).unwrap() * (R64::one() - f); let bf = ::from(b).unwrap() * f; ::from(af + bf).unwrap() diff --git a/src/query.rs b/src/query.rs index 8124b6d..c312b9b 100644 --- a/src/query.rs +++ b/src/query.rs @@ -5,8 +5,10 @@ use approx::abs_diff_eq; use decorum::cmp::EmptyOrd; use decorum::InfinityEncoding; -use num::traits::real::Real; -use num::traits::{Bounded, Signed, Zero}; +use num_traits::bounds::Bounded; +use num_traits::identities::Zero; +use num_traits::real::Real; +use num_traits::sign::Signed; use std::fmt::{self, Debug, Formatter}; use std::ops::Neg; use typenum::type_operators::Cmp; diff --git a/src/space.rs b/src/space.rs index 528a722..dcb7a82 100644 --- a/src/space.rs +++ b/src/space.rs @@ -1,8 +1,9 @@ //! Vector and affine spaces. use approx::AbsDiffEq; -use num::traits::real::Real; -use num::traits::{NumCast, One, Zero}; +use num_traits::cast::NumCast; +use num_traits::identities::{One, Zero}; +use num_traits::real::Real; use std::ops::{Add, Mul, Neg, Sub}; use typenum::consts::{U0, U1, U2, U3}; use typenum::type_operators::Cmp;