diff --git a/Cargo.toml b/Cargo.toml index c2fac9c..3b06d52 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,8 +11,8 @@ homepage = "https://github.com/RustAudio/pitch_calc" edition = "2018" [dependencies] -num = "0.1.28" -rand = "0.3.12" +num-traits = "0.2.11" +rand = "0.7.3" serde = { optional = true, version = "1.0.*", features = ["derive"] } [dev-dependencies] diff --git a/src/calc.rs b/src/calc.rs index f6e5c1a..e43f7be 100644 --- a/src/calc.rs +++ b/src/calc.rs @@ -1,6 +1,6 @@ use crate::utils::modulo; use crate::{Letter, Octave, MAX_HZ, MIN_HZ, TOTAL_LETTERS}; -use num::{Float, FromPrimitive, ToPrimitive}; +use num_traits::{Float, FromPrimitive, ToPrimitive}; /// Useful for conversions between Step and Hz. const TWELFTH_ROOT_OF_TWO: f32 = 1.059463094359; diff --git a/src/letter.rs b/src/letter.rs index e822f3b..1431913 100644 --- a/src/letter.rs +++ b/src/letter.rs @@ -1,7 +1,7 @@ use self::Letter::{Ab, Ash, Bb, Csh, Db, Dsh, Eb, Fsh, Gb, Gsh, A, B, C, D, E, F, G}; use crate::utils::modulo; -use num::PrimInt as Int; -use num::{FromPrimitive, ToPrimitive}; +use num_traits::PrimInt as Int; +use num_traits::{FromPrimitive, ToPrimitive}; #[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; use std::cmp::Ordering; @@ -136,8 +136,8 @@ impl ToPrimitive for Letter { } } -impl ::rand::Rand for Letter { - fn rand(rng: &mut R) -> Letter { +impl ::rand::distributions::Distribution for ::rand::distributions::Standard { + fn sample(&self, rng: &mut R) -> Letter { rng.gen_range(0, 12).to_letter() } } diff --git a/src/utils.rs b/src/utils.rs index 4742961..4d00222 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,4 +1,4 @@ -use num::PrimInt as Int; +use num_traits::PrimInt as Int; /// The modulo function (handles negatives differently to Rust's remainder `%` operator). #[inline]