From 35dc89477851931ab2dfc602739e6512612fb418 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Sat, 6 Feb 2021 16:35:14 +0900 Subject: [PATCH 1/2] Add Scalar::zero(), Scalar::one() --- src/lib.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index dc8a64f..981be2e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -38,7 +38,7 @@ //! ``` use num_complex::Complex; -use num_traits::{Float, FromPrimitive, NumAssign, NumCast, NumOps, ToPrimitive, Zero}; +use num_traits::{Float, FromPrimitive, NumAssign, NumCast, NumOps, One, ToPrimitive, Zero}; use rand::{distributions::Standard, prelude::*}; use serde::{Deserialize, Serialize}; use std::fmt::{Debug, Display, LowerExp, UpperExp}; @@ -72,6 +72,14 @@ pub trait Scalar: + NumOps + NumOps; + fn zero() -> Self { + Zero::zero() + } + + fn one() -> Self { + One::one() + } + /// Create a new real number fn real(re: T) -> Self::Real; /// Create a new complex number From 6cbca05979217e2303d5c4545fecc327ddde6909 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Sat, 6 Feb 2021 16:36:39 +0900 Subject: [PATCH 2/2] Add trait requirement One + Zero --- src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 981be2e..513db84 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -52,6 +52,8 @@ pub trait Scalar: NumAssign + FromPrimitive + NumCast + + One + + Zero + Neg + Copy + Clone