diff --git a/src/lib.rs b/src/lib.rs index dc8a64f..513db84 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}; @@ -52,6 +52,8 @@ pub trait Scalar: NumAssign + FromPrimitive + NumCast + + One + + Zero + Neg + Copy + Clone @@ -72,6 +74,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