From 4f26a5694f9fc58cd78c9bd16c9d3f771699b6a6 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Sun, 13 Oct 2019 23:11:24 +0900 Subject: [PATCH 1/4] Use rand 0.7 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index b7c79f7..080f89b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT" [dependencies] num-traits = "0.2" serde = "1" -rand = "0.5" +rand = "0.7" [dependencies.num-complex] version = "0.2.1" From 1e6f092a47eff638daca009c6d258d9f29377eeb Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Sun, 13 Oct 2019 23:34:22 +0900 Subject: [PATCH 2/4] Use my repo --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 080f89b..5bf2094 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,5 +17,7 @@ serde = "1" rand = "0.7" [dependencies.num-complex] +git = "http://github.com/termoshtt/num-complex" +branch = "rand-0.7" version = "0.2.1" features = ["serde", "rand"] From 4ca727fc154acd74f6074f95190960b07b043b02 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Mon, 14 Oct 2019 02:32:03 +0900 Subject: [PATCH 3/4] Update documents --- src/lib.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index fe01c32..9c16989 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,23 +1,41 @@ -//! Scalar trait, which generalizes complex and real number. +//! Scalar trait for generic algorithm //! //! Examples //! -------- //! +//! Basic arithmetics with real/complex +//! //! ``` -//! # use cauchy::Scalar; +//! use cauchy::Scalar; +//! //! fn add_int(a: A) -> A { //! a + A::from(1).unwrap() // A::from is inhereted from num_traits::NumCast //! } +//! //! fn add_float(a: A) -> A { //! a + A::from(1.0).unwrap() //! } +//! //! fn add_real(a: A) -> A::Real { //! a.re() + A::real(1.0) //! } +//! //! fn add_complex(a: A) -> A::Complex { //! a.as_c() + A::complex(1.0, 1.0) // upcast to complex if real //! } //! ``` +//! +//! Random number generation +//! +//! ``` +//! use cauchy::Scalar; +//! use rand::prelude::*; +//! +//! fn random_algorithm() { +//! let mut rng = StdRng::from_entropy(); +//! let a = A::rand(&mut rng); +//! } +//! ``` use num_complex::Complex; use num_traits::{Float, FromPrimitive, NumAssign, NumCast, NumOps, ToPrimitive, Zero}; @@ -106,6 +124,8 @@ pub trait Scalar: fn acosh(&self) -> Self; fn atanh(&self) -> Self; + /// Generate an random number from + /// [rand::distributions::Standard](https://docs.rs/rand/0.7.2/rand/distributions/struct.Standard.html) fn rand(rng: &mut impl Rng) -> Self; } From 7536ff11782aa42e763f37c9823f71aebe80e6b1 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Sun, 19 Apr 2020 02:24:08 +0900 Subject: [PATCH 4/4] Use latest master of rust-num/num-complex --- Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5bf2094..5d52bbd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ serde = "1" rand = "0.7" [dependencies.num-complex] -git = "http://github.com/termoshtt/num-complex" -branch = "rand-0.7" -version = "0.2.1" +git = "http://github.com/rust-num/num-complex" +rev = "7fb4f1c0f0f0d293c18df8d5b2b03362605b3862" +version = "0.3.0-pre" features = ["serde", "rand"]