pub trait Scalar: NumAssign + FromPrimitive + NumCast + Neg<Output = Self> + Copy + Serialize + for<'de> Deserialize<'de> {
type Real: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Real>;
type Complex: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Complex> + NumOps<Self::Complex, Self::Complex>;
Show 28 methods
fn real<T: ToPrimitive>(re: T) -> Self::Real;
fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex;
fn from_real(re: Self::Real) -> Self;
fn pow(&self, n: Self) -> Self;
fn powi(&self, n: i32) -> Self;
fn powf(&self, n: Self::Real) -> Self;
fn powc(&self, n: Self::Complex) -> Self::Complex;
fn re(&self) -> Self::Real;
fn im(&self) -> Self::Real;
fn as_c(&self) -> Self::Complex;
fn conj(&self) -> Self;
fn abs(&self) -> Self::Real;
fn square(&self) -> Self::Real;
fn sqrt(&self) -> Self;
fn exp(&self) -> Self;
fn ln(&self) -> Self;
fn sin(&self) -> Self;
fn cos(&self) -> Self;
fn tan(&self) -> Self;
fn asin(&self) -> Self;
fn acos(&self) -> Self;
fn atan(&self) -> Self;
fn sinh(&self) -> Self;
fn cosh(&self) -> Self;
fn tanh(&self) -> Self;
fn asinh(&self) -> Self;
fn acosh(&self) -> Self;
fn atanh(&self) -> Self;
}
Required Associated Types
type Real: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Real>
type Complex: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Complex> + NumOps<Self::Complex, Self::Complex>
Required Methods
sourcefn real<T: ToPrimitive>(re: T) -> Self::Real
fn real<T: ToPrimitive>(re: T) -> Self::Real
Create a new real number
sourcefn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex
fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex
Create a new complex number